Browse Source

Update libs

Julio Montoya 9 years ago
parent
commit
64777bf21e
100 changed files with 18111 additions and 18193 deletions
  1. 966 973
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/config/default.js
  2. 6 6
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/GeneralPunctuation.js
  3. 10 10
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/GreekAndCoptic.js
  4. 66 66
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/PUA.js
  5. 10 10
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/SpacingModLetters.js
  6. 154 154
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Caligraphic/Bold/unpacked/Main.js
  7. 98 98
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Bold/unpacked/Arrows.js
  8. 50 50
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Bold/unpacked/CombDiacritMarks.js
  9. 6 6
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Bold/unpacked/CombDiactForSymbols.js
  10. 6 6
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Italic/unpacked/LatinExtendedA.js
  11. 6 6
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/unpacked/CombDiactForSymbols.js
  12. 18 18
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/unpacked/MiscMathSymbolsA.js
  13. 38 38
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/unpacked/SpacingModLetters.js
  14. 386 386
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/unpacked/Main.js
  15. 126 126
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/SansSerif/Italic/unpacked/Other.js
  16. 354 354
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/SansSerif/Regular/unpacked/BasicLatin.js
  17. 46 46
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/SansSerif/Regular/unpacked/CombDiacritMarks.js
  18. 86 86
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Size3/Regular/unpacked/Main.js
  19. 106 106
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Typewriter/Regular/unpacked/Other.js
  20. 337 354
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/test/localization.html
  21. 39 40
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/test/sample-loader-config.html
  22. 54 54
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/test/sample-mml.html
  23. 3 3
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/MML_HTMLorMML-full.js
  24. 4 4
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/Safe.js
  25. 3 3
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML-full.js
  26. 3 3
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML.js
  27. 2 2
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/TeX-AMS-MML_SVG.js
  28. 966 973
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/default.js
  29. 23 23
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/HTML-CSS/handle-floats.js
  30. 1614 1614
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/MathML/content-mathml.js
  31. 22 29
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/MathML/mml3.js
  32. 295 295
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/AMSsymbols.js
  33. 249 254
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/color.js
  34. 49 49
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/enclose.js
  35. 65 65
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/extpfeil.js
  36. 309 313
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/tex2jax.js
  37. 257 257
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/toMathML.js
  38. 97 97
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/Arrows.js
  39. 64 64
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/BasicLatin.js
  40. 10 10
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/CombDiacritMarks.js
  41. 17 17
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/GeneralPunctuation.js
  42. 41 41
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/GeometricShapes.js
  43. 12 12
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/Latin1Supplement.js
  44. 264 264
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/SuppMathOperators.js
  45. 146 146
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/s.js
  46. 55 55
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/scr.js
  47. 68 68
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/u.js
  48. 17 17
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/y.js
  49. 2835 2863
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/TeX/jax.js
  50. 108 108
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/autoload/mglyph.js
  51. 968 968
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/autoload/multiline.js
  52. 518 518
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Main/Regular/Main.js
  53. 65 65
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Marks/Regular/Main.js
  54. 67 67
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Monospace/Regular/Main.js
  55. 79 79
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Size3/Regular/Main.js
  56. 10 10
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Size5/Regular/Main.js
  57. 347 347
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Normal/Regular/Main.js
  58. 88 88
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Operators/Regular/Main.js
  59. 44 44
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Shapes/Regular/Main.js
  60. 52 52
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Size2/Regular/Main.js
  61. 57 57
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Symbols/Regular/Main.js
  62. 510 510
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Termes/Main/Regular/Main.js
  63. 52 52
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Termes/Size5/Regular/Main.js
  64. 813 819
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Termes/fontdata.js
  65. 81 81
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Marks/Regular/Main.js
  66. 9 9
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Misc/Regular/Main.js
  67. 88 88
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Operators/Regular/Main.js
  68. 57 57
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Script/Regular/Main.js
  69. 180 180
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Size1/Regular/Main.js
  70. 52 52
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Size4/Regular/Main.js
  71. 56 56
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Symbols/Regular/Main.js
  72. 9 9
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Arrows/Regular/Main.js
  73. 25 25
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Marks/Regular/Main.js
  74. 32 32
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Size3/Regular/Main.js
  75. 29 29
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Symbols/Regular/Main.js
  76. 22 22
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Variants/Regular/Main.js
  77. 184 184
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Alphabets/BoldItalic/Main.js
  78. 181 181
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Alphabets/Italic/Main.js
  79. 223 223
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Arrows/Regular/Main.js
  80. 72 72
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/DoubleStruck/Regular/Main.js
  81. 55 55
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Fraktur/Regular/Main.js
  82. 257 257
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Latin/Bold/Main.js
  83. 256 256
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Latin/Italic/Main.js
  84. 202 202
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Main/Italic/Main.js
  85. 59 59
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Marks/Italic/Main.js
  86. 176 176
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Misc/Bold/Main.js
  87. 161 161
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Misc/BoldItalic/Main.js
  88. 160 160
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Misc/Italic/Main.js
  89. 67 67
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Monospace/Regular/Main.js
  90. 118 118
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Normal/Italic/Main.js
  91. 413 413
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Operators/Regular/Main.js
  92. 124 124
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/SansSerif/Italic/Main.js
  93. 123 123
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/SansSerif/Regular/Main.js
  94. 70 70
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Script/BoldItalic/Main.js
  95. 63 63
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Size2/Regular/Main.js
  96. 96 96
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Size5/Regular/Main.js
  97. 42 42
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Variants/Italic/Main.js
  98. 36 36
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js
  99. 79 79
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js
  100. 18 18
      src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js

+ 966 - 973
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/config/default.js

@@ -41,1077 +41,1070 @@
 
 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_Preview": {
+  //          color: "#888"
+  //        }
+  //      },
+  //
+  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.  The choices include
+  //
+  //      input/TeX
+  //      input/MathML
+  //      input/AsciiMath
+  //
+  //      output/HTML-CSS
+  //      output/NativeMML
+  //      output/SVG
+  //
+  //   If you change the input jax, you may need to include the appropriate
+  //   preprocessor in the extensions array below.
+  //
+  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"],
+  //
+  //  You may wish to include "mml2jax.js" if you are using "input/MathML" in the
+  //  jax array above, and "asciimath2jax.js" if you using "input/AsciiMath".
+  //  Include "jsmath2jax.js" if you are converting from using jsMath to MathJax.
+  //
+  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
+  //
+  //      <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
+  //
+  //  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.  When
+  //  the alignment is "center", the indent allows you to shift the center to the right
+  //  or left (negative is left).
+  //
+  displayAlign: "center",
+  displayIndent: "0",
+
+  //
+  //  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: [],
+
+  //
+  //  Since typesetting usually changes the vertical dimensions of the
+  //  page, if the URL contains an anchor position you may no longer be
+  //  positioned at the correct position on the page, so MathJax can
+  //  reposition to that location after it completes its initial
+  //  typesetting of the page.  This value controls whether MathJax will
+  //  reposition the browser to the #hash location from the page URL after
+  //  typesetting for the page.
+  //
+  positionToHash: true,
+
+  //
+  //  These control whether to attach the MathJax contextual menu to the
+  //  expressions typeset by MathJax.  Since the code for handling
+  //  MathPlayer in Internet Explorer is somewhat delicate, it is
+  //  controlled separately via (showMathMenuMSIE).  The latter is now
+  //  deprecated in favor of the MathJax contextual menu settings for
+  //  MathPlayer.
+  //
+  //  These values used to be listed in the separate output jax, but
+  //  have been moved to this more central location since they are shared
+  //  by all output jax.
+  //
+  showMathMenu: true,
+  showMathMenuMSIE: true,
+
+
+  //
+  //  The default settings for the MathJax contextual menu (overridden by
+  //  the MathJax cookie when users change the menu settings).
+  //
+  menuSettings: {
+    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
+    font: "Auto",        //  what font HTML-CSS should use
+    context: "MathJax",  //  or "Browser" for pass-through to browser menu
+    mpContext: false,    //  true means pass menu events to MathPlayer in IE
+    mpMouse: false,      //  true means pass mouse events to MathPlayer in IE
+    texHints: true,      //  include class names for TeXAtom elements
+    semantics: false     //  add semantics tag with original form in MathML output
+  },
+
+  //
+  //  The message and style for when there is a processing error handling
+  //  the mathematics (something has gone wrong with the input or output
+  //  jax that prevents it from operating properly).
+  //
+  errorSettings: {
+    message: ["[", ["MathProcessingError", "Math Processing Error"], "]"],
+    style: {color: "#CC0000", "font-style": "italic"}  // style for message
+  },
+
+
+  //============================================================================
+  //
+  //  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 value determines whether tex2jax requires braces to be
+    //  balanced within math delimiters (which allows for nested dollar
+    //  signs).  Set to false to get pre-v2.0 compatibility.  When true,
     //
-    //  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.
+    //      $y = x^2 \hbox{ when $x > 2$}$.
     //
-    //  Example:    config: ["local/local.js"],
-    //  Example:    config: ["local/local.js","MMLtoHTML.js"],
+    //  will be properly handled as a single expression.  When false, it
+    //  would be interpreted as two searpate expressions, each with
+    //  improperly balanced braces.
     //
-    config: [],
+    balanceBraces: true,
 
     //
-    //  A comma-separated list of CSS stylesheet files to be loaded
-    //  when MathJax starts up.  The default directory is the
-    //  MathJax/config directory.
+    //  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.
     //
-    //  Example:    styleSheets: ["MathJax.css"],
+    skipTags: ["script", "noscript", "style", "textarea", "pre", "code", "annotation", "annotation-xml"],
+
+    //
+    //  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.
     //
-    styleSheets: [],
+    ignoreClass: "tex2jax_ignore",
 
     //
-    //  Styles to be defined dynamically at startup time.
+    //  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.
     //
-    //  Example:
-    //      styles: {
-    //        ".MathJax_Preview": {
-    //          color: "#888"
-    //        }
-    //      },
+    processClass: "tex2jax_process",
+
     //
-    styles: {},
+    //  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,
 
     //
-    //  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.  The choices include
+    //  Controls whether tex2jax processes \ref{...} commands outside
+    //  of math mode.  Set to "false" to prevent processing of \ref
+    //  except within math mode.
     //
-    //      input/TeX
-    //      input/MathML
-    //      input/AsciiMath
+    processRefs: true,
+
     //
-    //      output/HTML-CSS
-    //      output/NativeMML
-    //      output/SVG
+    //  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).
     //
-    //   If you change the input jax, you may need to include the appropriate
-    //   preprocessor in the extensions array below.
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    jax: ["input/TeX", "output/HTML-CSS"],
+    preview: "TeX"
+
+  },
+
+  //============================================================================
+  //
+  //  These parameters control the asciimath2jax preprocessor (when you have included
+  //  "asciimath2jax.js" in the extensions list above).
+  //
+  asciimath2jax: {
 
     //
-    //  A comma-separated list of extensions to load at startup.  The default
-    //  directory is MathJax/extensions.
+    //  The delimiters that surround asciimath expressions.  The first in each
+    //  pair is the initial delimiter and the second is the terminal delimiter.
     //
-    //  Example:    extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
+    delimiters: [
+      ['`', '`']
+    ],
+
     //
-    //  You may wish to include "mml2jax.js" if you are using "input/MathML" in the
-    //  jax array above, and "asciimath2jax.js" if you using "input/AsciiMath".
-    //  Include "jsmath2jax.js" if you are converting from using jsMath to MathJax.
+    //  This array lists the names of the tags whose contents should not be
+    //  processed by asciimath2jax (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.
     //
-    extensions: ["tex2jax.js"],
+    skipTags: ["script", "noscript", "style", "textarea", "pre", "code", "annotation", "annotation-xml"],
 
     //
-    //  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.
+    //  This is the class name used to mark elements whose contents should
+    //  not be processed by asciimath2jax (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 `asciimath2jax` from processing its contents.
     //
-    //  See also the preRemoveClass comments below.
+    ignoreClass: "asciimath2jax_ignore",
+
     //
-    //  Example:
-    //      preJax: "\\\\\\\\",  // makes a double backslash the preJax text
-    //    or
-    //      preJax:  "\\[\\[", // jax scripts must be enclosed in double brackets
-    //      postJax: "\\]\\]",
+    //  This is the class name used to mark elements whose contents SHOULD
+    //  be processed by asciimath2jax.  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.
     //
-    preJax: null,
-    postJax: null,
+    processClass: "asciimath2jax_process",
 
+    //  Controls whether asciimath2jax 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 "AsciiMath", which
+    //  means use the AsciiMath 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).
     //
-    //  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.
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    //  For example
+    preview: "AsciiMath"
+
+  },
+
+  //============================================================================
+  //
+  //  These parameters control the mml2jax preprocessor (when you have included
+  //  "mml2jax.js" in the extensions list above).
+  //
+  mml2jax: {
+
     //
-    //      <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
+    //  Controls whether mml2jax inserts MathJax_Preview spans to make a
+    //  preview available, and what preview to use, when it locates
+    //  mathematics on the page.  The default is "mathml" which means use
+    //  the <math> tag as the preview (until it is processed by MathJax).
+    //  Set to "alttext", to use the  <math> tag's alttext attribute as the
+    //  preview, 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 "altimg" to use an image
+    //  described by the altimg* attributes of the <math> element.
+    //  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).
     //
-    //  would display "[math]" in place of the math until MathJax is able to typeset it.
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    preRemoveClass: "MathJax_Preview",
+    preview: "mathml"
+
+  },
 
+  //============================================================================
+  //
+  //  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).
     //
-    //  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).
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    showProcessingMessages: true,
+    preview: "TeX"
+
+  },
+
+  //============================================================================
+  //
+  //  These parameters control the TeX input jax.
+  //
+  TeX: {
 
     //
-    //  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.
+    //  This specifies the side on which \tag{} macros will place the tags.
+    //  Set to "left" to place on the left-hand side.
     //
-    messageStyle: "normal",
+    TagSide: "right",
 
     //
-    //  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.  When
-    //  the alignment is "center", the indent allows you to shift the center to the right
-    //  or left (negative is left).
+    //  This is the amound of indentation (from right or left) for the tags.
     //
-    displayAlign: "center",
-    displayIndent: "0",
+    TagIndent: "0.8em",
 
     //
-    //  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".
+    //  This is the width to use for the multline environment
     //
-    delayStartupUntil: "none",
+    MultLineWidth: "85%",
 
     //
-    //  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.
+    //  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]
+    //      }
     //
-    skipStartupTypeset: false,
+    Macros: {},
 
     //
-    //  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.
+    //  Equation numbering parameters.
     //
-    elements: [],
+    equationNumbers: {
+      autoNumber: "none",  // "AMS" for standard AMS environment numbering,
+                           //  or "all" to number all displayed equations
+//    formatNumber: function (n) {return n},                // format for equation number n
+//    formatTag:    function (n) {return '('+n+')'},        // format for \tag and \eqref
+//    formatID:     function (n) {return 'mjx-eqn-'+String(n).replace(/[:'"<>&]/g,"")},
+//                                                          // element ID to use for reference
+//    formatURL:    function (id) {return '#'+escape(id)},  // URL to use for references
+      useLabelIds: true    // make element ID's use \label name rather than equation number
+    },
 
     //
-    //  Since typesetting usually changes the vertical dimensions of the
-    //  page, if the URL contains an anchor position you may no longer be
-    //  positioned at the correct position on the page, so MathJax can
-    //  reposition to that location after it completes its initial
-    //  typesetting of the page.  This value controls whether MathJax will
-    //  reposition the browser to the #hash location from the page URL after
-    //  typesetting for the page.
+    //  Controls the TeX/noErrors extension
     //
-    positionToHash: true,
+    noErrors: {
+      disabled: false,               // set to true to return to original error messages
+      multiLine: true,               // false to not include original line breaks
+      inlineDelimiters: ["", ""],     // or use ["$","$"] or ["\\(","\\)"] to put back delimiters
+      style: {
+        "font-size": "90%",
+        "text-align": "left",
+        "color": "black",
+        "padding": "1px 3px",
+        "border": "1px solid"
+      }
+    },
 
     //
-    //  These control whether to attach the MathJax contextual menu to the
-    //  expressions typeset by MathJax.  Since the code for handling
-    //  MathPlayer in Internet Explorer is somewhat delicate, it is
-    //  controlled separately via (showMathMenuMSIE).  The latter is now
-    //  deprecated in favor of the MathJax contextual menu settings for
-    //  MathPlayer.
+    //  Controls the TeX/noUndefined extension
     //
-    //  These values used to be listed in the separate output jax, but
-    //  have been moved to this more central location since they are shared
-    //  by all output jax.
+    noUndefined: {
+      disabled: false,      // set to true to return to original error messages
+      attributes: {         // attributes to set for the undefined control sequence
+        mathcolor: "red"
+      }
+    },
+
     //
-    showMathMenu: true,
-    showMathMenuMSIE: true,
+    //  Controls the TeX/unicode extension
+    unicode: {
+      fonts: "STIXGeneral,'Arial Unicode MS'"  // the default font list for unknown characters
+    }
 
+  },
 
+  //============================================================================
+  //
+  //  These parameters control the AsciiMath input jax.
+  //
+  AsciiMath: {
     //
-    //  The default settings for the MathJax contextual menu (overridden by
-    //  the MathJax cookie when users change the menu settings).
+    //  Determines whether the unicode positions for phi and varphi are
+    //  to be swapped or not.  (Unicode originally had these reversed, and
+    //  many fonts have them reversed as well.)  When set to true, phi
+    //  and varphi will correspond to the LaTeX macros of the same name.
     //
-    menuSettings: {
-        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
-        font: "Auto",        //  what font HTML-CSS should use
-        context: "MathJax",  //  or "Browser" for pass-through to browser menu
-        mpContext: false,    //  true means pass menu events to MathPlayer in IE
-        mpMouse: false,      //  true means pass mouse events to MathPlayer in IE
-        texHints: true,      //  include class names for TeXAtom elements
-        semantics: false     //  add semantics tag with original form in MathML output
-    },
+    fixphi: true,
 
     //
-    //  The message and style for when there is a processing error handling
-    //  the mathematics (something has gone wrong with the input or output
-    //  jax that prevents it from operating properly).
+    //  Determines whether the MathML should be marked so that the HTML-CSS
+    //  and SVG output jax will use MathML spacing rules rather than TeX
+    //  spacing rules.  Since AsciiMath was designed for MathML output, the
+    //  MathML rules are used by default.
     //
-    errorSettings: {
-        message: ["[", ["MathProcessingError", "Math Processing Error"], "]"],
-        style: {color: "#CC0000", "font-style": "italic"}  // style for message
-    },
+    useMathMLspacing: true,
 
+    //
+    //  Determines whether limits are placed above and below operators,
+    //  or next to them.  (AsciiMath doesn't have separate in-line and
+    //  display modes like TeX and MathML do, so this is the only control
+    //  you have over its output)
+    //
+    displaystyle: true,
 
-    //============================================================================
     //
-    //  These parameters control the tex2jax preprocessor (when you have included
-    //  "tex2jax.js" in the extensions list above).
+    //  The character to use for decimal places when scanning for a number.
+    //  If you change it to ",", beware of things like "(1,2)" which would need
+    //  to be changed to "(1, 2)" to be parsed correctly.
     //
-    tex2jax: {
+    decimal: "."
+  },
 
-        //
-        //  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 value determines whether tex2jax requires braces to be
-        //  balanced within math delimiters (which allows for nested dollar
-        //  signs).  Set to false to get pre-v2.0 compatibility.  When true,
-        //
-        //      $y = x^2 \hbox{ when $x > 2$}$.
-        //
-        //  will be properly handled as a single expression.  When false, it
-        //  would be interpreted as two searpate expressions, each with
-        //  improperly balanced braces.
-        //
-        balanceBraces: true,
-
-        //
-        //  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", "annotation", "annotation-xml"],
-
-        //
-        //  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 processes \ref{...} commands outside
-        //  of math mode.  Set to "false" to prevent processing of \ref
-        //  except within math mode.
-        //
-        processRefs: 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 MathML input 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": {
 
-    //============================================================================
-    //
-    //  These parameters control the asciimath2jax preprocessor (when you have included
-    //  "asciimath2jax.js" in the extensions list above).
-    //
-    asciimath2jax: {
-
-        //
-        //  The delimiters that surround asciimath expressions.  The first in each
-        //  pair is the initial delimiter and the second is the terminal delimiter.
-        //
-        delimiters: [
-            ['`', '`']
-        ],
-
-        //
-        //  This array lists the names of the tags whose contents should not be
-        //  processed by asciimath2jax (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", "annotation", "annotation-xml"],
-
-        //
-        //  This is the class name used to mark elements whose contents should
-        //  not be processed by asciimath2jax (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 `asciimath2jax` from processing its contents.
-        //
-        ignoreClass: "asciimath2jax_ignore",
-
-        //
-        //  This is the class name used to mark elements whose contents SHOULD
-        //  be processed by asciimath2jax.  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: "asciimath2jax_process",
-
-        //  Controls whether asciimath2jax 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 "AsciiMath", which
-        //  means use the AsciiMath 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: "AsciiMath"
+    //
+    //  This controls the global scaling of mathematics as compared to the
+    //  surrounding text.  Values between 100 and 133 are usually good choices.
+    //
+    scale: 100,
 
-    },
+    //
+    //  Don't allow the matching of math text to surrounding text to use a scaling
+    //  factor smaller than this.
+    //
+    minScaleAdjust: 50,
 
-    //============================================================================
-    //
-    //  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, when it locates
-        //  mathematics on the page.  The default is "mathml" which means use
-        //  the <math> tag as the preview (until it is processed by MathJax).
-        //  Set to "alttext", to use the  <math> tag's alttext attribute as the
-        //  preview, 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 "altimg" to use an image
-        //  described by the altimg* attributes of the <math> element.
-        //  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: "mathml"
+    //
+    //  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",
 
-    //============================================================================
-    //
-    //  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"
+    //
+    //  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",
 
-    //============================================================================
-    //
-    //  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: "0.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: {},
-
-        //
-        //  Equation numbering parameters.
-        //
-        equationNumbers: {
-            autoNumber: "none",  // "AMS" for standard AMS environment numbering,
-                                 //  or "all" to number all displayed equations
-//    formatNumber: function (n) {return n},                // format for equation number n
-//    formatTag:    function (n) {return '('+n+')'},        // format for \tag and \eqref
-//    formatID:     function (n) {return 'mjx-eqn-'+String(n).replace(/[:'"<>&]/g,"")},
-//                                                          // element ID to use for reference
-//    formatURL:    function (id) {return '#'+escape(id)},  // URL to use for references
-            useLabelIds: true    // make element ID's use \label name rather than equation number
-        },
-
-        //
-        //  Controls the TeX/noErrors extension
-        //
-        noErrors: {
-            disabled: false,               // set to true to return to original error messages
-            multiLine: true,               // false to not include original line breaks
-            inlineDelimiters: ["", ""],     // or use ["$","$"] or ["\\(","\\)"] to put back delimiters
-            style: {
-                "font-size": "90%",
-                "text-align": "left",
-                "color": "black",
-                "padding": "1px 3px",
-                "border": "1px solid"
-            }
-        },
-
-        //
-        //  Controls the TeX/noUndefined extension
-        //
-        noUndefined: {
-            disabled: false,      // set to true to return to original error messages
-            attributes: {         // attributes to set for the undefined control sequence
-                mathcolor: "red"
-            }
-        },
-
-        //
-        //  Controls the TeX/unicode extension
-        unicode: {
-            fonts: "STIXGeneral,'Arial Unicode MS'"  // the default font list for unknown characters
-        }
+    //
+    //  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 setting controls whether <mtext> elements will be typeset
+    //  using the math fonts or the font of the surrounding text.  When
+    //  false, the mathvariant="normal" font will be used; when true,
+    //  the font will be inherited from the surrounding paragraph.
+    //
+    mtextFontInherit: false,
 
-    //============================================================================
-    //
-    //  These parameters control the AsciiMath input jax.
-    //
-    AsciiMath: {
-        //
-        //  Determines whether the unicode positions for phi and varphi are
-        //  to be swapped or not.  (Unicode originally had these reversed, and
-        //  many fonts have them reversed as well.)  When set to true, phi
-        //  and varphi will correspond to the LaTeX macros of the same name.
-        //
-        fixphi: true,
-
-        //
-        //  Determines whether the MathML should be marked so that the HTML-CSS
-        //  and SVG output jax will use MathML spacing rules rather than TeX
-        //  spacing rules.  Since AsciiMath was designed for MathML output, the
-        //  MathML rules are used by default.
-        //
-        useMathMLspacing: true,
-
-        //
-        //  Determines whether limits are placed above and below operators,
-        //  or next to them.  (AsciiMath doesn't have separate in-line and
-        //  display modes like TeX and MathML do, so this is the only control
-        //  you have over its output)
-        //
-        displaystyle: true,
-
-        //
-        //  The character to use for decimal places when scanning for a number.
-        //  If you change it to ",", beware of things like "(1,2)" which would need
-        //  to be changed to "(1, 2)" to be parsed correctly.
-        //
-        decimal: "."
-    },
+    //
+    //  These values control how "chunky" the display of mathematical
+    //  expressions will be.
+    //
+    //  EqnChunk is the number of equations that will be typeset before
+    //  they appear on screen.  Larger values make for less visual flicker
+    //  as the equations are drawn, but also mean longer delays before the
+    //  reader sees anything.
+    //
+    //  EqChunkFactor is the factor by which the EqnChunk will grow after each
+    //  chunk is displayed.
+    //
+    //  EqChunkDelay is the time (in milliseconds) to delay between chunks
+    //  (to allow the browser to respond to other user interaction).
+    //
+    //  Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get
+    //  the behavior from MathJax v1.1 and below.
+    //
+    EqnChunk: 50,
+    EqnChunkFactor: 1.5,
+    EqnChunkDelay: 100,
 
-    //============================================================================
     //
-    //  These parameters control the MathML input jax.
+    //  This option indicates whether MathJax should try to correct the
+    //  x-height of equations to match the size of the surrounding text.
     //
-    MathML: {
-        //
-        //  This specifies whether to use TeX spacing or MathML spacing when the
-        //  HTML-CSS output jax is used.
-        //
-        useMathMLspacing: false
-    },
+    matchFontHeight: true,
+
+    //
+    //  When true, MathJax will not measure the widths or heights of the
+    //  subexpressions as it creates its output, but instead will rely on
+    //  its internal calculautions based on teh bounding boxes of the
+    //  characters it uses, and will only take measurements when it
+    //  absolutely has to.  Since measurements cause display reflows, they
+    //  slows down MathJax considerably, so without them MathJax runs
+    //  faster, but can produce slightly less accurate character placements,
+    //  especially in width fractions or roots.
+    //
+    noReflows: true,
+
+
+    //
+    //  These settings control automatic line breaking.  It is off by
+    //  default, so only explicit line breaks are performed (via
+    //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
+    //  perform automatic line breaking on line expressions, set
+    //  'automatic' to 'true' below.  The line breaks will be applied via a
+    //  penalty-based heuristic, which does well, but isn't perfect.  You
+    //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
+    //  hand in order to get better effects.  It is also possible to modify
+    //  the penalty values; contact the MathJax user's forum for details.
+    //
+    linebreaks: {
+
+      //
+      //  This controls the automatic breaking of expressions:
+      //    when false, only process linebreak="newline",
+      //    when true, line breaks are inserted automatically in long expressions.
+      //
+      automatic: 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,
-
-        //
-        //  Don't allow the matching of math text to surrounding text to use a scaling
-        //  factor smaller than this.
-        //
-        minScaleAdjust: 50,
-
-        //
-        //  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 setting controls whether <mtext> elements will be typeset
-        //  using the math fonts or the font of the surrounding text.  When
-        //  false, the mathvariant="normal" font will be used; when true,
-        //  the font will be inherited from the surrounding paragraph.
-        //
-        mtextFontInherit: false,
-
-        //
-        //  These values control how "chunky" the display of mathematical
-        //  expressions will be.
-        //
-        //  EqnChunk is the number of equations that will be typeset before
-        //  they appear on screen.  Larger values make for less visual flicker
-        //  as the equations are drawn, but also mean longer delays before the
-        //  reader sees anything.
-        //
-        //  EqChunkFactor is the factor by which the EqnChunk will grow after each
-        //  chunk is displayed.
-        //
-        //  EqChunkDelay is the time (in milliseconds) to delay between chunks
-        //  (to allow the browser to respond to other user interaction).
-        //
-        //  Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get
-        //  the behavior from MathJax v1.1 and below.
-        //
-        EqnChunk: 50,
-        EqnChunkFactor: 1.5,
-        EqnChunkDelay: 100,
-
-        //
-        //  This option indicates whether MathJax should try to correct the
-        //  x-height of equations to match the size of the surrounding text.
-        //
-        matchFontHeight: true,
-
-        //
-        //  When true, MathJax will not measure the widths or heights of the
-        //  subexpressions as it creates its output, but instead will rely on
-        //  its internal calculautions based on teh bounding boxes of the
-        //  characters it uses, and will only take measurements when it
-        //  absolutely has to.  Since measurements cause display reflows, they
-        //  slows down MathJax considerably, so without them MathJax runs
-        //  faster, but can produce slightly less accurate character placements,
-        //  especially in width fractions or roots.
-        //
-        noReflows: true,
-
-
-        //
-        //  These settings control automatic line breaking.  It is off by
-        //  default, so only explicit line breaks are performed (via
-        //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
-        //  perform automatic line breaking on line expressions, set
-        //  'automatic' to 'true' below.  The line breaks will be applied via a
-        //  penalty-based heuristic, which does well, but isn't perfect.  You
-        //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
-        //  hand in order to get better effects.  It is also possible to modify
-        //  the penalty values; contact the MathJax user's forum for details.
-        //
-        linebreaks: {
-
-            //
-            //  This controls the automatic breaking of expressions:
-            //    when false, only process linebreak="newline",
-            //    when true, line breaks are inserted automatically in long expressions.
-            //
-            automatic: false,
-
-            //
-            //  This controls how wide the lines of mathematics can be
-            //
-            //  Use an explicit width like "30em" for a fixed width.
-            //  Use "container" to compute the size from the containing element.
-            //  Use "nn% container" for a portion of the container.
-            //  Use "nn%" for a portion of the window size.
-            //
-            //  The container-based widths may be slower, and may not produce the
-            //  expected results if the layout width changes due to the removal
-            //  of previews or inclusion of mathematics during typesetting.
-            //
-            width: "container"
-        },
-
-        //
-        //  This allows you to define or modify the styles used to display
-        //  various math elements created by MathJax.
-        //
-        //  Example:
-        //      styles: {
-        //        ".MathJax .merror": {
-        //          color:   "#CC0000",
-        //          border:  "1px solid #CC0000"
-        //        }
-        //      }
-        //
-        styles: {},
-
-        //
-        //  Configuration for <maction> 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
-        }
+      //
+      //  This controls how wide the lines of mathematics can be
+      //
+      //  Use an explicit width like "30em" for a fixed width.
+      //  Use "container" to compute the size from the containing element.
+      //  Use "nn% container" for a portion of the container.
+      //  Use "nn%" for a portion of the window size.
+      //
+      //  The container-based widths may be slower, and may not produce the
+      //  expected results if the layout width changes due to the removal
+      //  of previews or inclusion of mathematics during typesetting.
+      //
+      width: "container"
     },
 
-    //============================================================================
-    //
-    //  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,
-
-        //
-        //  Don't allow the matching of math text to surrounding text to use a scaling
-        //  factor smaller than this.
-        //
-        minScaleAdjust: 50,
-
-        //  This option indicates whether MathJax should try to correct the
-        //  x-height of equations to match the size of the surrounding text.
-        matchFontHeight: 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: {}
+    //
+    //  This allows you to define or modify the styles used to display
+    //  various math elements created by MathJax.
+    //
+    //  Example:
+    //      styles: {
+    //        ".MathJax .merror": {
+    //          color:   "#CC0000",
+    //          border:  "1px solid #CC0000"
+    //        }
+    //      }
+    //
+    styles: {},
+
+    //
+    //  Configuration for <maction> 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,
+
+    //
+    //  Don't allow the matching of math text to surrounding text to use a scaling
+    //  factor smaller than this.
+    //
+    minScaleAdjust: 50,
+
+    //  This option indicates whether MathJax should try to correct the
+    //  x-height of equations to match the size of the surrounding text.
+    matchFontHeight: 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 SVG output jax.
+  //
+  "SVG": {
+
+    //
+    //  This controls the global scaling of mathematics as compared to the
+    //  surrounding text.  Values between 100 and 133 are usually good choices.
+    //
+    scale: 100,
+
+    //
+    //  Don't allow the matching of math text to surrounding text to use a scaling
+    //  factor smaller than this.
+    //
+    minScaleAdjust: 50,
+
+    //
+    //  This specifies the font to use for SVG output (currently the only
+    //  one available)
+    //
+    font: "TeX",
+
+    //
+    //  This is the stroke width to use for all character paths (1em = 1000
+    //  units).  This is a cheap way of getting slightly lighter or darker
+    //  characters
+    //
+    blacker: 10,
+
+    //
+    //  This is the font-family CSS value used for characters that are not
+    //  in the selected font.  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 setting controls whether <mtext> elements will be typeset
+    //  using the math fonts or the font of the surrounding text.  When
+    //  false, the mathvariant="normal" font will be used; when true,
+    //  the font will be inherited from the surrounding paragraph.
+    //
+    mtextFontInherit: false,
+
+    //
+    //  This controls whether the MathML structure is retained and CSS
+    //  classes are added to mark the original MathML elements (as in the
+    //  HTML-CSS output).  By default, the SVG output jax removes unneeded
+    //  nesting in order to produce a more efficient markup, but if you
+    //  want to use CSS to style the elements as if they were MathML, you
+    //  might need to set this to true.
+    //
+    addMMLclasses: false,
+
+    //
+    //  These values control how "chunky" the display of mathematical
+    //  expressions will be.
+    //
+    //  EqnChunk is the number of equations that will be typeset before
+    //  they appear on screen.  Larger values make for less visual flicker
+    //  as the equations are drawn, but also mean longer delays before the
+    //  reader sees anything.
+    //
+    //  EqChunkFactor is the factor by which the EqnChunk will grow after each
+    //  chunk is displayed.
+    //
+    //  EqChunkDelay is the time (in milliseconds) to delay between chunks
+    //  (to allow the browser to respond to other user interaction).
+    //
+    //  Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get
+    //  the behavior from MathJax v1.1 and below.
+    //
+    EqnChunk: 50,
+    EqnChunkFactor: 1.5,
+    EqnChunkDelay: 100,
+
+    //  This option indicates whether MathJax should try to correct the
+    //  x-height of equations to match the size of the surrounding text.
+    matchFontHeight: true,
+
+    //
+    //  These settings control automatic line breaking.  It is off by
+    //  default, so only explicit line breaks are performed (via
+    //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
+    //  perform automatic line breaking on line expressions, set
+    //  'automatic' to 'true' below.  The line breaks will be applied via a
+    //  penalty-based heuristic, which does well, but isn't perfect.  You
+    //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
+    //  hand in order to get better effects.  It is also possible to modify
+    //  the penalty values; contact the MathJax user's forum for details.
+    //
+    linebreaks: {
+
+      //
+      //  This controls the automatic breaking of expressions:
+      //    when false, only process linebreak="newline",
+      //    when true, line breaks are inserted automatically in long expressions.
+      //
+      automatic: false,
+
+      //
+      //  This controls how wide the lines of mathematics can be
+      //
+      //  Use an explicit width like "30em" for a fixed width.
+      //  Use "container" to compute the size from the containing element.
+      //  Use "nn% container" for a portion of the container.
+      //  Use "nn%" for a portion of the window size.
+      //
+      //  The container-based widths may be slower, and may not produce the
+      //  expected results if the layout width changes due to the removal
+      //  of previews or inclusion of mathematics during typesetting.
+      //
+      width: "container"
     },
 
-    //============================================================================
-    //
-    //  These parameters control the SVG output jax.
-    //
-    "SVG": {
-
-        //
-        //  This controls the global scaling of mathematics as compared to the
-        //  surrounding text.  Values between 100 and 133 are usually good choices.
-        //
-        scale: 100,
-
-        //
-        //  Don't allow the matching of math text to surrounding text to use a scaling
-        //  factor smaller than this.
-        //
-        minScaleAdjust: 50,
-
-        //
-        //  This specifies the font to use for SVG output (currently the only
-        //  one available)
-        //
-        font: "TeX",
-
-        //
-        //  This is the stroke width to use for all character paths (1em = 1000
-        //  units).  This is a cheap way of getting slightly lighter or darker
-        //  characters
-        //
-        blacker: 10,
-
-        //
-        //  This is the font-family CSS value used for characters that are not
-        //  in the selected font.  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 setting controls whether <mtext> elements will be typeset
-        //  using the math fonts or the font of the surrounding text.  When
-        //  false, the mathvariant="normal" font will be used; when true,
-        //  the font will be inherited from the surrounding paragraph.
-        //
-        mtextFontInherit: false,
-
-        //
-        //  This controls whether the MathML structure is retained and CSS
-        //  classes are added to mark the original MathML elements (as in the
-        //  HTML-CSS output).  By default, the SVG output jax removes unneeded
-        //  nesting in order to produce a more efficient markup, but if you
-        //  want to use CSS to style the elements as if they were MathML, you
-        //  might need to set this to true.
-        //
-        addMMLclasses: false,
-
-        //
-        //  These values control how "chunky" the display of mathematical
-        //  expressions will be.
-        //
-        //  EqnChunk is the number of equations that will be typeset before
-        //  they appear on screen.  Larger values make for less visual flicker
-        //  as the equations are drawn, but also mean longer delays before the
-        //  reader sees anything.
-        //
-        //  EqChunkFactor is the factor by which the EqnChunk will grow after each
-        //  chunk is displayed.
-        //
-        //  EqChunkDelay is the time (in milliseconds) to delay between chunks
-        //  (to allow the browser to respond to other user interaction).
-        //
-        //  Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get
-        //  the behavior from MathJax v1.1 and below.
-        //
-        EqnChunk: 50,
-        EqnChunkFactor: 1.5,
-        EqnChunkDelay: 100,
-
-        //  This option indicates whether MathJax should try to correct the
-        //  x-height of equations to match the size of the surrounding text.
-        matchFontHeight: true,
-
-        //
-        //  These settings control automatic line breaking.  It is off by
-        //  default, so only explicit line breaks are performed (via
-        //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
-        //  perform automatic line breaking on line expressions, set
-        //  'automatic' to 'true' below.  The line breaks will be applied via a
-        //  penalty-based heuristic, which does well, but isn't perfect.  You
-        //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
-        //  hand in order to get better effects.  It is also possible to modify
-        //  the penalty values; contact the MathJax user's forum for details.
-        //
-        linebreaks: {
-
-            //
-            //  This controls the automatic breaking of expressions:
-            //    when false, only process linebreak="newline",
-            //    when true, line breaks are inserted automatically in long expressions.
-            //
-            automatic: false,
-
-            //
-            //  This controls how wide the lines of mathematics can be
-            //
-            //  Use an explicit width like "30em" for a fixed width.
-            //  Use "container" to compute the size from the containing element.
-            //  Use "nn% container" for a portion of the container.
-            //  Use "nn%" for a portion of the window size.
-            //
-            //  The container-based widths may be slower, and may not produce the
-            //  expected results if the layout width changes due to the removal
-            //  of previews or inclusion of mathematics during typesetting.
-            //
-            width: "container"
-        },
-
-        //
-        //  These are the styles used for merror elements in SVG output.  Note
-        //  that only a limited number of style attributes are supported by
-        //  SVG, but you can at least change the colors and borders.
-        //
-        //
-        merrorStyle: {
-            fontSize: "90%", color: "#C00", background: "#FF8",
-            border: "1px solid #C00", padding: "3px"
-        },
-
-        //
-        //  This allows you to define or modify the styles used to display
-        //  various math elements created by MathJax.
-        //
-        //  Example:
-        //      styles: {
-        //        ".MathJax .merror": {
-        //          color:   "#CC0000",
-        //          border:  "1px solid #CC0000"
-        //        }
-        //      }
-        //
-        styles: {},
-
-        //
-        //  Configuration for <maction> tooltips
-        //    (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/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 are the styles used for merror elements in SVG output.  Note
+    //  that only a limited number of style attributes are supported by
+    //  SVG, but you can at least change the colors and borders.
+    //
+    //
+    merrorStyle: {
+      fontSize: "90%", color: "#C00", background: "#FF8",
+      border: "1px solid #C00", padding: "3px"
     },
 
-    //============================================================================
-    //
-    //  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: 150,
-
-        //
-        //  This is the URL for the MathJax Help menu item.
-        //
-        helpURL: "http://www.mathjax.org/help-v2/user/",
-
-        //
-        //  These control whether the "Math Renderer", "MathPlayer", "Font
-        //  Preferences", "Contextual Menu", and "Discoverable" menu items will
-        //  be displayed or not.
-        //
-        showRenderer: true,
-        showMathPlayer: true,
-        showFontMenu: false,
-        showContext: false,
-        showDiscoverable: false,
-
-        //
-        // These are the settings for the Annotation menu. If the <math> root has
-        // a <semantics> child that contains one of the following annotation
-        // formats, the source will be available via the "Show Math As" menu.
-        // Each format has a list of possible encodings.
-        //
-        semanticsAnnotations: {
-            "TeX": ["TeX", "LaTeX", "application/x-tex"],
-            "StarMath": ["StarMath 5.0"],
-            "Maple": ["Maple"],
-            "ContentMathML": ["MathML-Content", "application/mathml-content+xml"],
-            "OpenMath": ["OpenMath"]
-        },
-
-        //
-        //  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: {}
+    //
+    //  This allows you to define or modify the styles used to display
+    //  various math elements created by MathJax.
+    //
+    //  Example:
+    //      styles: {
+    //        ".MathJax .merror": {
+    //          color:   "#CC0000",
+    //          border:  "1px solid #CC0000"
+    //        }
+    //      }
+    //
+    styles: {},
 
+    //
+    //  Configuration for <maction> tooltips
+    //    (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/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 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: 150,
+
+    //
+    //  This is the URL for the MathJax Help menu item.
+    //
+    helpURL: "http://www.mathjax.org/help-v2/user/",
+
+    //
+    //  These control whether the "Math Renderer", "MathPlayer", "Font
+    //  Preferences", "Contextual Menu", and "Discoverable" menu items will
+    //  be displayed or not.
+    //
+    showRenderer: true,
+    showMathPlayer: true,
+    showFontMenu: false,
+    showContext: false,
+    showDiscoverable: false,
+
+    //
+    // These are the settings for the Annotation menu. If the <math> root has
+    // a <semantics> child that contains one of the following annotation
+    // formats, the source will be available via the "Show Math As" menu.
+    // Each format has a list of possible encodings.
+    //
+    semanticsAnnotations: {
+      "TeX": ["TeX", "LaTeX", "application/x-tex"],
+      "StarMath": ["StarMath 5.0"],
+      "Maple": ["Maple"],
+      "ContentMathML": ["MathML-Content", "application/mathml-content+xml"],
+      "OpenMath": ["OpenMath"]
     },
 
-    //============================================================================
     //
-    //  These parameters control the contextual menus that are available on the
-    //  mathematics within the page (provided the showMathMenu value is true above).
+    //  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.
     //
-    MathEvents: {
-        //
-        //  This is the time required for the mouse to be held still over a
-        //  typeset equation in order for it to count as a hover (used when the
-        //  zoom trigger is "Hover").  It is in milliseconds.
-        //
-        hover: 500
+    windowSettings: {
+      status: "no", toolbar: "no", locationbar: "no", menubar: "no",
+      directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes",
+      width: 100, height: 50
     },
 
-    //============================================================================
-    //
-    //  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: "HTML",
-            Opera: "HTML",
-            Safari: "HTML",
-            Chrome: "HTML",
-            other: "HTML"
-        }
+    //
+    //  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 contextual menus that are available on the
+  //  mathematics within the page (provided the showMathMenu value is true above).
+  //
+  MathEvents: {
+    //
+    //  This is the time required for the mouse to be held still over a
+    //  typeset equation in order for it to count as a hover (used when the
+    //  zoom trigger is "Hover").  It is in milliseconds.
+    //
+    hover: 500
+  },
+
+  //============================================================================
+  //
+  //  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: "HTML",
+      Opera: "HTML",
+      Safari: "HTML",
+      Chrome: "HTML",
+      other: "HTML"
     }
+  }
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/config/default.js");

+ 6 - 6
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/GeneralPunctuation.js

@@ -25,12 +25,12 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_AMS": {
-        0x2035: [  // REVERSED PRIME
-            [2, 4, 0], [3, 5, 0], [3, 5, 0], [3, 6, -1], [4, 7, -1], [5, 9, -1], [5, 10, -1], [6, 12, -1],
-            [7, 15, -1], [9, 17, -1], [10, 20, -2], [12, 24, -2], [14, 29, -2], [17, 34, -3]
-        ]
-    }
+  "MathJax_AMS": {
+    0x2035: [  // REVERSED PRIME
+      [2, 4, 0], [3, 5, 0], [3, 5, 0], [3, 6, -1], [4, 7, -1], [5, 9, -1], [5, 10, -1], [6, 12, -1],
+      [7, 15, -1], [9, 17, -1], [10, 20, -2], [12, 24, -2], [14, 29, -2], [17, 34, -3]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/AMS/Regular" +

+ 10 - 10
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/GreekAndCoptic.js

@@ -25,16 +25,16 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_AMS": {
-        0x3DD: [  // GREEK SMALL LETTER DIGAMMA
-            [5, 6, 2], [6, 7, 1], [8, 8, 2], [9, 9, 1], [10, 11, 2], [12, 13, 2], [15, 15, 2], [17, 17, 2],
-            [20, 19, 2], [24, 23, 3], [29, 27, 3], [34, 33, 4], [40, 38, 5], [48, 46, 6]
-        ],
-        0x3F0: [  // GREEK KAPPA SYMBOL
-            [6, 3, 0], [7, 4, 0], [8, 5, 0], [9, 5, 0], [11, 7, 0], [13, 8, 0], [15, 9, 0], [18, 10, 0],
-            [21, 12, 0], [25, 15, 0], [29, 17, 0], [35, 21, 0], [41, 25, 0], [49, 29, 0]
-        ]
-    }
+  "MathJax_AMS": {
+    0x3DD: [  // GREEK SMALL LETTER DIGAMMA
+      [5, 6, 2], [6, 7, 1], [8, 8, 2], [9, 9, 1], [10, 11, 2], [12, 13, 2], [15, 15, 2], [17, 17, 2],
+      [20, 19, 2], [24, 23, 3], [29, 27, 3], [34, 33, 4], [40, 38, 5], [48, 46, 6]
+    ],
+    0x3F0: [  // GREEK KAPPA SYMBOL
+      [6, 3, 0], [7, 4, 0], [8, 5, 0], [9, 5, 0], [11, 7, 0], [13, 8, 0], [15, 9, 0], [18, 10, 0],
+      [21, 12, 0], [25, 15, 0], [29, 17, 0], [35, 21, 0], [41, 25, 0], [49, 29, 0]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/AMS/Regular" +

+ 66 - 66
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/PUA.js

@@ -25,72 +25,72 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_AMS": {
-        0xE006: [  // MJ-TeX: small does not divide
-            [3, 4, 1], [3, 5, 1], [4, 6, 1], [4, 7, 1], [5, 7, 1], [5, 9, 1], [6, 10, 1], [7, 11, 1],
-            [8, 13, 1], [9, 16, 1], [11, 18, 1], [13, 22, 2], [16, 26, 2], [18, 31, 2]
-        ],
-        0xE007: [  // MJ-TeX: small not parallel
-            [4, 4, 1], [5, 5, 1], [6, 6, 1], [6, 7, 1], [7, 7, 1], [8, 9, 1], [10, 10, 1], [11, 11, 1],
-            [13, 13, 1], [15, 16, 1], [17, 18, 1], [21, 23, 2], [25, 26, 2], [29, 31, 2]
-        ],
-        0xE008: [  // MJ-TeX: greek small letter digamma (for IE)
-            [5, 6, 1], [6, 6, 1], [8, 7, 1], [9, 9, 1], [10, 11, 2], [12, 13, 2], [15, 14, 2], [17, 17, 2],
-            [20, 20, 3], [24, 23, 3], [29, 28, 4], [34, 33, 4], [40, 39, 5], [48, 46, 6]
-        ],
-        0xE009: [  // MJ-TeX: greek kappa symbol (for IE)
-            [6, 4, 1], [7, 5, 1], [8, 6, 1], [9, 7, 1], [11, 7, 1], [13, 9, 1], [15, 10, 1], [18, 12, 1],
-            [21, 13, 1], [25, 16, 1], [29, 19, 1], [35, 22, 1], [41, 25, 1], [49, 30, 1]
-        ],
-        0xE00C: [  // MJ-TeX: less over not-equal
-            [5, 8, 2], [6, 10, 3], [7, 11, 3], [9, 13, 4], [10, 15, 4], [12, 18, 5], [14, 21, 6], [17, 25, 7],
-            [20, 29, 8], [23, 35, 10], [28, 42, 12], [33, 49, 14], [39, 58, 16], [46, 69, 19]
-        ],
-        0xE00D: [  // MJ-TeX: greater over not-equal
-            [5, 8, 2], [6, 10, 3], [7, 11, 3], [9, 13, 4], [10, 15, 4], [12, 18, 5], [14, 21, 6], [17, 25, 7],
-            [20, 29, 8], [23, 35, 10], [28, 42, 12], [33, 49, 14], [39, 58, 16], [46, 69, 19]
-        ],
-        0xE00E: [  // MJ-TeX: not greater, double equals
-            [5, 10, 3], [6, 12, 4], [7, 15, 5], [9, 16, 5], [10, 19, 6], [12, 23, 7], [14, 27, 9], [17, 32, 10],
-            [20, 38, 12], [23, 45, 14], [28, 53, 17], [33, 63, 20], [39, 75, 24], [46, 89, 28]
-        ],
-        0xE00F: [  // MJ-TeX: not greater-or-equal slanted
-            [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 22, 6], [17, 27, 8],
-            [20, 32, 9], [23, 37, 10], [28, 44, 12], [33, 52, 14], [39, 62, 17], [46, 73, 20]
-        ],
-        0xE010: [  // MJ-TeX: not less-or-equal, slanted
-            [5, 9, 3], [6, 10, 3], [8, 12, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 22, 6], [17, 27, 8],
-            [20, 32, 9], [24, 37, 10], [28, 44, 12], [33, 52, 14], [39, 62, 17], [47, 73, 20]
-        ],
-        0xE011: [  // MJ-TeX: not less, double equals
-            [5, 10, 3], [6, 12, 4], [7, 15, 5], [9, 16, 5], [10, 19, 6], [12, 23, 7], [14, 27, 9], [17, 32, 10],
-            [20, 38, 12], [23, 45, 14], [28, 53, 17], [33, 63, 20], [39, 75, 24], [46, 89, 28]
-        ],
-        0xE016: [  // MJ-TeX: not subset, double equals
-            [5, 9, 3], [6, 10, 3], [7, 13, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 24, 7], [17, 27, 8],
-            [20, 33, 10], [23, 38, 11], [28, 46, 13], [33, 55, 16], [39, 65, 19], [46, 77, 22]
-        ],
-        0xE017: [  // MJ-TeX: not subset, double equals, short slash
-            [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 13, 4], [10, 16, 5], [12, 19, 6], [14, 22, 7], [17, 26, 8],
-            [20, 31, 10], [23, 36, 11], [28, 43, 13], [33, 51, 16], [39, 61, 19], [46, 72, 22]
-        ],
-        0xE018: [  // MJ-TeX: not superset, double equals
-            [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 23, 7], [17, 27, 8],
-            [20, 33, 10], [23, 39, 11], [28, 46, 13], [33, 55, 16], [39, 65, 19], [46, 77, 22]
-        ],
-        0xE019: [  // MJ-TeX: not superset, double equals, short slash
-            [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 13, 4], [10, 16, 5], [12, 19, 6], [14, 22, 7], [17, 26, 8],
-            [20, 31, 10], [23, 36, 11], [28, 43, 13], [33, 52, 16], [39, 61, 19], [46, 72, 22]
-        ],
-        0xE01A: [  // MJ-TeX: not subset or equal, short slash
-            [5, 7, 2], [6, 8, 2], [7, 10, 3], [9, 11, 3], [10, 13, 4], [12, 15, 4], [14, 18, 5], [17, 21, 6],
-            [20, 26, 8], [23, 30, 9], [28, 35, 10], [33, 42, 12], [39, 51, 15], [46, 59, 17]
-        ],
-        0xE01B: [  // MJ-TeX: not superset or equal, short slash
-            [5, 7, 2], [6, 9, 3], [7, 10, 3], [8, 11, 3], [10, 13, 4], [12, 16, 5], [14, 18, 5], [17, 21, 6],
-            [20, 25, 7], [23, 30, 9], [28, 35, 10], [33, 42, 12], [39, 50, 15], [46, 59, 17]
-        ]
-    }
+  "MathJax_AMS": {
+    0xE006: [  // MJ-TeX: small does not divide
+      [3, 4, 1], [3, 5, 1], [4, 6, 1], [4, 7, 1], [5, 7, 1], [5, 9, 1], [6, 10, 1], [7, 11, 1],
+      [8, 13, 1], [9, 16, 1], [11, 18, 1], [13, 22, 2], [16, 26, 2], [18, 31, 2]
+    ],
+    0xE007: [  // MJ-TeX: small not parallel
+      [4, 4, 1], [5, 5, 1], [6, 6, 1], [6, 7, 1], [7, 7, 1], [8, 9, 1], [10, 10, 1], [11, 11, 1],
+      [13, 13, 1], [15, 16, 1], [17, 18, 1], [21, 23, 2], [25, 26, 2], [29, 31, 2]
+    ],
+    0xE008: [  // MJ-TeX: greek small letter digamma (for IE)
+      [5, 6, 1], [6, 6, 1], [8, 7, 1], [9, 9, 1], [10, 11, 2], [12, 13, 2], [15, 14, 2], [17, 17, 2],
+      [20, 20, 3], [24, 23, 3], [29, 28, 4], [34, 33, 4], [40, 39, 5], [48, 46, 6]
+    ],
+    0xE009: [  // MJ-TeX: greek kappa symbol (for IE)
+      [6, 4, 1], [7, 5, 1], [8, 6, 1], [9, 7, 1], [11, 7, 1], [13, 9, 1], [15, 10, 1], [18, 12, 1],
+      [21, 13, 1], [25, 16, 1], [29, 19, 1], [35, 22, 1], [41, 25, 1], [49, 30, 1]
+    ],
+    0xE00C: [  // MJ-TeX: less over not-equal
+      [5, 8, 2], [6, 10, 3], [7, 11, 3], [9, 13, 4], [10, 15, 4], [12, 18, 5], [14, 21, 6], [17, 25, 7],
+      [20, 29, 8], [23, 35, 10], [28, 42, 12], [33, 49, 14], [39, 58, 16], [46, 69, 19]
+    ],
+    0xE00D: [  // MJ-TeX: greater over not-equal
+      [5, 8, 2], [6, 10, 3], [7, 11, 3], [9, 13, 4], [10, 15, 4], [12, 18, 5], [14, 21, 6], [17, 25, 7],
+      [20, 29, 8], [23, 35, 10], [28, 42, 12], [33, 49, 14], [39, 58, 16], [46, 69, 19]
+    ],
+    0xE00E: [  // MJ-TeX: not greater, double equals
+      [5, 10, 3], [6, 12, 4], [7, 15, 5], [9, 16, 5], [10, 19, 6], [12, 23, 7], [14, 27, 9], [17, 32, 10],
+      [20, 38, 12], [23, 45, 14], [28, 53, 17], [33, 63, 20], [39, 75, 24], [46, 89, 28]
+    ],
+    0xE00F: [  // MJ-TeX: not greater-or-equal slanted
+      [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 22, 6], [17, 27, 8],
+      [20, 32, 9], [23, 37, 10], [28, 44, 12], [33, 52, 14], [39, 62, 17], [46, 73, 20]
+    ],
+    0xE010: [  // MJ-TeX: not less-or-equal, slanted
+      [5, 9, 3], [6, 10, 3], [8, 12, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 22, 6], [17, 27, 8],
+      [20, 32, 9], [24, 37, 10], [28, 44, 12], [33, 52, 14], [39, 62, 17], [47, 73, 20]
+    ],
+    0xE011: [  // MJ-TeX: not less, double equals
+      [5, 10, 3], [6, 12, 4], [7, 15, 5], [9, 16, 5], [10, 19, 6], [12, 23, 7], [14, 27, 9], [17, 32, 10],
+      [20, 38, 12], [23, 45, 14], [28, 53, 17], [33, 63, 20], [39, 75, 24], [46, 89, 28]
+    ],
+    0xE016: [  // MJ-TeX: not subset, double equals
+      [5, 9, 3], [6, 10, 3], [7, 13, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 24, 7], [17, 27, 8],
+      [20, 33, 10], [23, 38, 11], [28, 46, 13], [33, 55, 16], [39, 65, 19], [46, 77, 22]
+    ],
+    0xE017: [  // MJ-TeX: not subset, double equals, short slash
+      [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 13, 4], [10, 16, 5], [12, 19, 6], [14, 22, 7], [17, 26, 8],
+      [20, 31, 10], [23, 36, 11], [28, 43, 13], [33, 51, 16], [39, 61, 19], [46, 72, 22]
+    ],
+    0xE018: [  // MJ-TeX: not superset, double equals
+      [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 14, 4], [10, 17, 5], [12, 20, 6], [14, 23, 7], [17, 27, 8],
+      [20, 33, 10], [23, 39, 11], [28, 46, 13], [33, 55, 16], [39, 65, 19], [46, 77, 22]
+    ],
+    0xE019: [  // MJ-TeX: not superset, double equals, short slash
+      [5, 9, 3], [6, 10, 3], [7, 12, 4], [9, 13, 4], [10, 16, 5], [12, 19, 6], [14, 22, 7], [17, 26, 8],
+      [20, 31, 10], [23, 36, 11], [28, 43, 13], [33, 52, 16], [39, 61, 19], [46, 72, 22]
+    ],
+    0xE01A: [  // MJ-TeX: not subset or equal, short slash
+      [5, 7, 2], [6, 8, 2], [7, 10, 3], [9, 11, 3], [10, 13, 4], [12, 15, 4], [14, 18, 5], [17, 21, 6],
+      [20, 26, 8], [23, 30, 9], [28, 35, 10], [33, 42, 12], [39, 51, 15], [46, 59, 17]
+    ],
+    0xE01B: [  // MJ-TeX: not superset or equal, short slash
+      [5, 7, 2], [6, 9, 3], [7, 10, 3], [8, 11, 3], [10, 13, 4], [12, 16, 5], [14, 18, 5], [17, 21, 6],
+      [20, 25, 7], [23, 30, 9], [28, 35, 10], [33, 42, 12], [39, 50, 15], [46, 59, 17]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/AMS/Regular" +

+ 10 - 10
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/AMS/Regular/unpacked/SpacingModLetters.js

@@ -25,16 +25,16 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_AMS": {
-        0x2C6: [  // MODIFIER LETTER CIRCUMFLEX ACCENT
-            [18, 3, -3], [21, 3, -4], [25, 3, -5], [29, 4, -6], [34, 5, -8], [40, 5, -9], [47, 6, -11], [56, 8, -12],
-            [66, 8, -16], [79, 10, -19], [93, 12, -21], [110, 14, -26], [131, 17, -30], [156, 20, -36]
-        ],
-        0x2DC: [  // SMALL TILDE
-            [17, 2, -4], [21, 2, -5], [24, 4, -5], [29, 5, -7], [34, 4, -9], [40, 5, -10], [47, 6, -12], [56, 6, -15],
-            [66, 8, -17], [78, 9, -21], [93, 11, -25], [110, 13, -29], [130, 15, -35], [155, 18, -41]
-        ]
-    }
+  "MathJax_AMS": {
+    0x2C6: [  // MODIFIER LETTER CIRCUMFLEX ACCENT
+      [18, 3, -3], [21, 3, -4], [25, 3, -5], [29, 4, -6], [34, 5, -8], [40, 5, -9], [47, 6, -11], [56, 8, -12],
+      [66, 8, -16], [79, 10, -19], [93, 12, -21], [110, 14, -26], [131, 17, -30], [156, 20, -36]
+    ],
+    0x2DC: [  // SMALL TILDE
+      [17, 2, -4], [21, 2, -5], [24, 4, -5], [29, 5, -7], [34, 4, -9], [40, 5, -10], [47, 6, -12], [56, 6, -15],
+      [66, 8, -17], [78, 9, -21], [93, 11, -25], [110, 13, -29], [130, 15, -35], [155, 18, -41]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/AMS/Regular" +

+ 154 - 154
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Caligraphic/Bold/unpacked/Main.js

@@ -25,160 +25,160 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Caligraphic-bold": {
-        0x20: [  // SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x30: [  // DIGIT ZERO
-            [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 8, 0], [11, 9, 0], [13, 12, 0],
-            [15, 14, 0], [18, 16, 1], [21, 19, 1], [25, 22, 1], [30, 26, 1], [35, 32, 1]
-        ],
-        0x31: [  // DIGIT ONE
-            [4, 3, 0], [5, 4, 0], [5, 5, 0], [6, 6, 0], [7, 7, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0],
-            [14, 13, 0], [17, 15, 0], [20, 18, 0], [23, 21, 0], [28, 25, 0], [33, 30, 0]
-        ],
-        0x32: [  // DIGIT TWO
-            [4, 3, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [12, 12, 0],
-            [15, 13, 0], [17, 15, 0], [21, 18, 0], [24, 21, 0], [29, 26, 0], [34, 30, 0]
-        ],
-        0x33: [  // DIGIT THREE
-            [4, 5, 2], [5, 6, 2], [6, 7, 2], [7, 8, 3], [8, 9, 3], [9, 11, 3], [11, 14, 5], [13, 17, 5],
-            [15, 19, 6], [18, 22, 7], [21, 27, 8], [25, 31, 10], [30, 37, 11], [35, 44, 13]
-        ],
-        0x34: [  // DIGIT FOUR
-            [4, 6, 2], [5, 6, 2], [6, 7, 2], [7, 8, 2], [8, 10, 3], [9, 11, 3], [11, 14, 5], [13, 16, 5],
-            [15, 18, 5], [18, 22, 6], [22, 26, 7], [26, 31, 9], [30, 37, 10], [36, 44, 12]
-        ],
-        0x35: [  // DIGIT FIVE
-            [4, 5, 2], [5, 6, 2], [6, 7, 2], [7, 8, 3], [8, 10, 3], [9, 12, 3], [11, 14, 5], [12, 17, 6],
-            [15, 19, 6], [18, 23, 7], [21, 27, 8], [25, 32, 10], [29, 38, 12], [35, 45, 14]
-        ],
-        0x36: [  // DIGIT SIX
-            [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 9, 0], [9, 11, 0], [11, 13, 0], [13, 17, 0],
-            [15, 20, 0], [18, 22, 1], [21, 27, 1], [25, 32, 1], [30, 37, 1], [35, 45, 1]
-        ],
-        0x37: [  // DIGIT SEVEN
-            [4, 6, 2], [5, 7, 2], [6, 8, 3], [7, 8, 2], [8, 10, 3], [10, 12, 4], [11, 14, 4], [13, 16, 5],
-            [16, 20, 7], [19, 23, 7], [22, 27, 8], [26, 32, 10], [31, 38, 12], [37, 45, 14]
-        ],
-        0x38: [  // DIGIT EIGHT
-            [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 9, 0], [9, 11, 0], [11, 13, 0], [13, 17, 0],
-            [15, 19, 0], [18, 22, 1], [21, 27, 1], [25, 32, 1], [30, 38, 1], [35, 45, 1]
-        ],
-        0x39: [  // DIGIT NINE
-            [4, 5, 2], [5, 6, 2], [6, 7, 2], [7, 8, 3], [8, 9, 3], [9, 11, 3], [11, 14, 5], [13, 17, 6],
-            [15, 19, 6], [18, 22, 7], [21, 27, 8], [25, 31, 10], [30, 37, 12], [35, 44, 14]
-        ],
-        0x41: [  // LATIN CAPITAL LETTER A
-            [7, 6, 0], [9, 7, 0], [10, 9, 1], [12, 10, 0], [14, 12, 1], [17, 14, 1], [20, 17, 1], [23, 19, 1],
-            [28, 23, 1], [33, 27, 2], [39, 32, 2], [46, 37, 2], [55, 44, 3], [66, 52, 3]
-        ],
-        0x42: [  // LATIN CAPITAL LETTER B
-            [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 8, 0], [11, 10, 0], [13, 12, 0], [15, 14, 0], [18, 16, 0],
-            [21, 19, 0], [25, 24, 1], [29, 28, 1], [35, 34, 1], [41, 40, 1], [49, 47, 1]
-        ],
-        0x43: [  // LATIN CAPITAL LETTER C
-            [5, 5, 0], [5, 6, 0], [6, 7, 0], [8, 8, 0], [9, 10, 0], [10, 12, 0], [12, 14, 0], [14, 16, 0],
-            [17, 19, 0], [20, 24, 1], [24, 28, 1], [28, 34, 1], [34, 40, 1], [40, 47, 1]
-        ],
-        0x44: [  // LATIN CAPITAL LETTER D
-            [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 8, 0], [13, 10, 0], [15, 12, 0], [18, 14, 0], [21, 16, 0],
-            [25, 19, 0], [30, 24, 1], [35, 27, 1], [42, 32, 1], [49, 39, 0], [59, 46, 0]
-        ],
-        0x45: [  // LATIN CAPITAL LETTER E
-            [5, 5, 0], [6, 6, 0], [7, 7, 0], [8, 8, 0], [9, 10, 0], [11, 12, 0], [13, 14, 0], [15, 16, 0],
-            [18, 19, 0], [21, 24, 1], [25, 28, 1], [30, 34, 1], [35, 40, 1], [42, 47, 1]
-        ],
-        0x46: [  // LATIN CAPITAL LETTER F
-            [7, 6, 0], [8, 7, 0], [10, 8, 0], [11, 9, 0], [13, 11, 0], [16, 13, 0], [19, 15, 0], [22, 17, 0],
-            [26, 20, 0], [31, 24, 1], [37, 29, 1], [44, 34, 1], [52, 40, 2], [62, 48, 2]
-        ],
-        0x47: [  // LATIN CAPITAL LETTER G
-            [5, 6, 1], [6, 7, 1], [7, 8, 1], [8, 10, 2], [10, 12, 2], [12, 14, 2], [14, 16, 2], [16, 19, 3],
-            [19, 23, 4], [23, 27, 4], [27, 32, 5], [32, 38, 5], [38, 45, 6], [45, 54, 8]
-        ],
-        0x48: [  // LATIN CAPITAL LETTER H
-            [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 8, 0], [13, 10, 0], [16, 12, 0], [19, 14, 0], [22, 17, 1],
-            [26, 20, 1], [31, 24, 1], [37, 28, 2], [44, 34, 2], [52, 40, 2], [62, 48, 3]
-        ],
-        0x49: [  // LATIN CAPITAL LETTER I
-            [7, 5, 0], [8, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [14, 12, 0], [16, 14, 0], [19, 16, 0],
-            [22, 19, 0], [26, 23, 0], [32, 27, 0], [37, 32, 0], [44, 38, 0], [52, 45, 0]
-        ],
-        0x4A: [  // LATIN CAPITAL LETTER J
-            [7, 6, 1], [8, 7, 1], [10, 8, 1], [11, 10, 2], [13, 12, 2], [16, 13, 1], [19, 16, 2], [22, 19, 3],
-            [26, 22, 3], [31, 27, 4], [37, 31, 5], [44, 37, 5], [52, 44, 6], [62, 53, 8]
-        ],
-        0x4B: [  // LATIN CAPITAL LETTER K
-            [6, 5, 0], [7, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [14, 12, 0], [17, 14, 0], [20, 16, 0],
-            [23, 19, 0], [28, 24, 1], [33, 28, 1], [39, 34, 1], [46, 40, 1], [55, 47, 1]
-        ],
-        0x4C: [  // LATIN CAPITAL LETTER L
-            [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 8, 0], [11, 10, 0], [13, 12, 0], [15, 14, 0], [18, 16, 0],
-            [21, 19, 0], [25, 24, 1], [30, 28, 1], [35, 34, 1], [42, 40, 1], [50, 47, 1]
-        ],
-        0x4D: [  // LATIN CAPITAL LETTER M
-            [10, 7, 1], [12, 7, 0], [14, 8, 0], [16, 10, 1], [19, 12, 1], [23, 14, 1], [27, 16, 1], [32, 18, 1],
-            [38, 21, 1], [45, 26, 2], [53, 30, 2], [63, 36, 2], [75, 43, 3], [89, 50, 3]
-        ],
-        0x4E: [  // LATIN CAPITAL LETTER N
-            [9, 7, 1], [11, 9, 1], [12, 10, 1], [14, 11, 1], [17, 13, 1], [20, 15, 1], [23, 18, 1], [27, 21, 2],
-            [32, 25, 2], [38, 30, 2], [45, 34, 2], [54, 42, 2], [64, 50, 3], [75, 59, 4]
-        ],
-        0x4F: [  // LATIN CAPITAL LETTER O
-            [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 8, 0], [13, 10, 0], [15, 12, 0], [18, 14, 0], [21, 16, 0],
-            [25, 19, 0], [30, 24, 1], [35, 28, 1], [41, 34, 1], [49, 40, 1], [59, 47, 1]
-        ],
-        0x50: [  // LATIN CAPITAL LETTER P
-            [6, 6, 1], [8, 7, 1], [9, 8, 1], [10, 9, 1], [12, 11, 1], [15, 13, 1], [17, 15, 1], [20, 18, 2],
-            [24, 21, 2], [28, 25, 2], [34, 30, 3], [40, 35, 3], [47, 42, 4], [56, 50, 4]
-        ],
-        0x51: [  // LATIN CAPITAL LETTER Q
-            [7, 6, 1], [8, 7, 1], [9, 8, 1], [11, 11, 3], [13, 12, 2], [16, 14, 2], [18, 17, 3], [22, 20, 4],
-            [26, 24, 5], [30, 28, 5], [36, 33, 6], [43, 39, 6], [51, 47, 8], [60, 56, 10]
-        ],
-        0x52: [  // LATIN CAPITAL LETTER R
-            [7, 5, 0], [9, 6, 0], [10, 7, 0], [12, 8, 0], [14, 10, 0], [17, 12, 0], [20, 14, 0], [23, 16, 0],
-            [28, 19, 0], [33, 23, 1], [39, 27, 1], [46, 33, 1], [55, 39, 1], [65, 46, 1]
-        ],
-        0x53: [  // LATIN CAPITAL LETTER S
-            [5, 5, 0], [6, 6, 0], [8, 7, 0], [9, 8, 0], [10, 10, 0], [12, 12, 0], [15, 14, 0], [17, 16, 0],
-            [20, 19, 0], [24, 24, 1], [29, 28, 1], [34, 34, 1], [40, 40, 1], [48, 47, 1]
-        ],
-        0x54: [  // LATIN CAPITAL LETTER T
-            [7, 6, 1], [8, 7, 1], [10, 8, 1], [12, 9, 1], [14, 11, 1], [16, 13, 1], [19, 15, 1], [22, 18, 2],
-            [27, 23, 2], [32, 27, 3], [38, 32, 3], [44, 37, 3], [53, 44, 4], [63, 52, 5]
-        ],
-        0x55: [  // LATIN CAPITAL LETTER U
-            [7, 5, 0], [8, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [14, 12, 0], [16, 14, 0], [19, 16, 0],
-            [23, 19, 0], [27, 24, 1], [31, 28, 1], [37, 33, 1], [44, 39, 1], [52, 47, 1]
-        ],
-        0x56: [  // LATIN CAPITAL LETTER V
-            [6, 6, 1], [7, 7, 1], [8, 8, 1], [10, 9, 1], [11, 11, 1], [13, 13, 1], [16, 15, 1], [18, 18, 2],
-            [22, 21, 2], [26, 25, 2], [31, 30, 3], [36, 36, 4], [43, 42, 4], [51, 50, 5]
-        ],
-        0x57: [  // LATIN CAPITAL LETTER W
-            [9, 6, 1], [10, 7, 1], [12, 8, 1], [15, 10, 2], [17, 11, 1], [21, 13, 1], [24, 15, 1], [28, 18, 2],
-            [34, 22, 3], [40, 26, 3], [48, 30, 3], [57, 36, 4], [67, 43, 4], [80, 51, 5]
-        ],
-        0x58: [  // LATIN CAPITAL LETTER X
-            [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 8, 0], [13, 10, 0], [16, 12, 0], [18, 14, 0], [22, 16, 0],
-            [26, 19, 0], [30, 23, 0], [36, 27, 0], [43, 32, 0], [51, 39, 1], [60, 46, 0]
-        ],
-        0x59: [  // LATIN CAPITAL LETTER Y
-            [6, 6, 1], [7, 8, 2], [8, 9, 2], [10, 10, 2], [12, 12, 2], [14, 15, 3], [16, 17, 3], [19, 20, 4],
-            [23, 24, 5], [27, 28, 5], [32, 33, 6], [38, 40, 8], [45, 47, 9], [53, 56, 11]
-        ],
-        0x5A: [  // LATIN CAPITAL LETTER Z
-            [6, 5, 0], [8, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [15, 12, 0], [17, 14, 0], [20, 16, 0],
-            [24, 19, 0], [28, 23, 0], [34, 27, 0], [40, 32, 0], [47, 38, 0], [56, 45, 0]
-        ],
-        0xA0: [  // NO-BREAK SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ]
-    }
+  "MathJax_Caligraphic-bold": {
+    0x20: [  // SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x30: [  // DIGIT ZERO
+      [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 8, 0], [11, 9, 0], [13, 12, 0],
+      [15, 14, 0], [18, 16, 1], [21, 19, 1], [25, 22, 1], [30, 26, 1], [35, 32, 1]
+    ],
+    0x31: [  // DIGIT ONE
+      [4, 3, 0], [5, 4, 0], [5, 5, 0], [6, 6, 0], [7, 7, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0],
+      [14, 13, 0], [17, 15, 0], [20, 18, 0], [23, 21, 0], [28, 25, 0], [33, 30, 0]
+    ],
+    0x32: [  // DIGIT TWO
+      [4, 3, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [12, 12, 0],
+      [15, 13, 0], [17, 15, 0], [21, 18, 0], [24, 21, 0], [29, 26, 0], [34, 30, 0]
+    ],
+    0x33: [  // DIGIT THREE
+      [4, 5, 2], [5, 6, 2], [6, 7, 2], [7, 8, 3], [8, 9, 3], [9, 11, 3], [11, 14, 5], [13, 17, 5],
+      [15, 19, 6], [18, 22, 7], [21, 27, 8], [25, 31, 10], [30, 37, 11], [35, 44, 13]
+    ],
+    0x34: [  // DIGIT FOUR
+      [4, 6, 2], [5, 6, 2], [6, 7, 2], [7, 8, 2], [8, 10, 3], [9, 11, 3], [11, 14, 5], [13, 16, 5],
+      [15, 18, 5], [18, 22, 6], [22, 26, 7], [26, 31, 9], [30, 37, 10], [36, 44, 12]
+    ],
+    0x35: [  // DIGIT FIVE
+      [4, 5, 2], [5, 6, 2], [6, 7, 2], [7, 8, 3], [8, 10, 3], [9, 12, 3], [11, 14, 5], [12, 17, 6],
+      [15, 19, 6], [18, 23, 7], [21, 27, 8], [25, 32, 10], [29, 38, 12], [35, 45, 14]
+    ],
+    0x36: [  // DIGIT SIX
+      [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 9, 0], [9, 11, 0], [11, 13, 0], [13, 17, 0],
+      [15, 20, 0], [18, 22, 1], [21, 27, 1], [25, 32, 1], [30, 37, 1], [35, 45, 1]
+    ],
+    0x37: [  // DIGIT SEVEN
+      [4, 6, 2], [5, 7, 2], [6, 8, 3], [7, 8, 2], [8, 10, 3], [10, 12, 4], [11, 14, 4], [13, 16, 5],
+      [16, 20, 7], [19, 23, 7], [22, 27, 8], [26, 32, 10], [31, 38, 12], [37, 45, 14]
+    ],
+    0x38: [  // DIGIT EIGHT
+      [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 9, 0], [9, 11, 0], [11, 13, 0], [13, 17, 0],
+      [15, 19, 0], [18, 22, 1], [21, 27, 1], [25, 32, 1], [30, 38, 1], [35, 45, 1]
+    ],
+    0x39: [  // DIGIT NINE
+      [4, 5, 2], [5, 6, 2], [6, 7, 2], [7, 8, 3], [8, 9, 3], [9, 11, 3], [11, 14, 5], [13, 17, 6],
+      [15, 19, 6], [18, 22, 7], [21, 27, 8], [25, 31, 10], [30, 37, 12], [35, 44, 14]
+    ],
+    0x41: [  // LATIN CAPITAL LETTER A
+      [7, 6, 0], [9, 7, 0], [10, 9, 1], [12, 10, 0], [14, 12, 1], [17, 14, 1], [20, 17, 1], [23, 19, 1],
+      [28, 23, 1], [33, 27, 2], [39, 32, 2], [46, 37, 2], [55, 44, 3], [66, 52, 3]
+    ],
+    0x42: [  // LATIN CAPITAL LETTER B
+      [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 8, 0], [11, 10, 0], [13, 12, 0], [15, 14, 0], [18, 16, 0],
+      [21, 19, 0], [25, 24, 1], [29, 28, 1], [35, 34, 1], [41, 40, 1], [49, 47, 1]
+    ],
+    0x43: [  // LATIN CAPITAL LETTER C
+      [5, 5, 0], [5, 6, 0], [6, 7, 0], [8, 8, 0], [9, 10, 0], [10, 12, 0], [12, 14, 0], [14, 16, 0],
+      [17, 19, 0], [20, 24, 1], [24, 28, 1], [28, 34, 1], [34, 40, 1], [40, 47, 1]
+    ],
+    0x44: [  // LATIN CAPITAL LETTER D
+      [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 8, 0], [13, 10, 0], [15, 12, 0], [18, 14, 0], [21, 16, 0],
+      [25, 19, 0], [30, 24, 1], [35, 27, 1], [42, 32, 1], [49, 39, 0], [59, 46, 0]
+    ],
+    0x45: [  // LATIN CAPITAL LETTER E
+      [5, 5, 0], [6, 6, 0], [7, 7, 0], [8, 8, 0], [9, 10, 0], [11, 12, 0], [13, 14, 0], [15, 16, 0],
+      [18, 19, 0], [21, 24, 1], [25, 28, 1], [30, 34, 1], [35, 40, 1], [42, 47, 1]
+    ],
+    0x46: [  // LATIN CAPITAL LETTER F
+      [7, 6, 0], [8, 7, 0], [10, 8, 0], [11, 9, 0], [13, 11, 0], [16, 13, 0], [19, 15, 0], [22, 17, 0],
+      [26, 20, 0], [31, 24, 1], [37, 29, 1], [44, 34, 1], [52, 40, 2], [62, 48, 2]
+    ],
+    0x47: [  // LATIN CAPITAL LETTER G
+      [5, 6, 1], [6, 7, 1], [7, 8, 1], [8, 10, 2], [10, 12, 2], [12, 14, 2], [14, 16, 2], [16, 19, 3],
+      [19, 23, 4], [23, 27, 4], [27, 32, 5], [32, 38, 5], [38, 45, 6], [45, 54, 8]
+    ],
+    0x48: [  // LATIN CAPITAL LETTER H
+      [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 8, 0], [13, 10, 0], [16, 12, 0], [19, 14, 0], [22, 17, 1],
+      [26, 20, 1], [31, 24, 1], [37, 28, 2], [44, 34, 2], [52, 40, 2], [62, 48, 3]
+    ],
+    0x49: [  // LATIN CAPITAL LETTER I
+      [7, 5, 0], [8, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [14, 12, 0], [16, 14, 0], [19, 16, 0],
+      [22, 19, 0], [26, 23, 0], [32, 27, 0], [37, 32, 0], [44, 38, 0], [52, 45, 0]
+    ],
+    0x4A: [  // LATIN CAPITAL LETTER J
+      [7, 6, 1], [8, 7, 1], [10, 8, 1], [11, 10, 2], [13, 12, 2], [16, 13, 1], [19, 16, 2], [22, 19, 3],
+      [26, 22, 3], [31, 27, 4], [37, 31, 5], [44, 37, 5], [52, 44, 6], [62, 53, 8]
+    ],
+    0x4B: [  // LATIN CAPITAL LETTER K
+      [6, 5, 0], [7, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [14, 12, 0], [17, 14, 0], [20, 16, 0],
+      [23, 19, 0], [28, 24, 1], [33, 28, 1], [39, 34, 1], [46, 40, 1], [55, 47, 1]
+    ],
+    0x4C: [  // LATIN CAPITAL LETTER L
+      [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 8, 0], [11, 10, 0], [13, 12, 0], [15, 14, 0], [18, 16, 0],
+      [21, 19, 0], [25, 24, 1], [30, 28, 1], [35, 34, 1], [42, 40, 1], [50, 47, 1]
+    ],
+    0x4D: [  // LATIN CAPITAL LETTER M
+      [10, 7, 1], [12, 7, 0], [14, 8, 0], [16, 10, 1], [19, 12, 1], [23, 14, 1], [27, 16, 1], [32, 18, 1],
+      [38, 21, 1], [45, 26, 2], [53, 30, 2], [63, 36, 2], [75, 43, 3], [89, 50, 3]
+    ],
+    0x4E: [  // LATIN CAPITAL LETTER N
+      [9, 7, 1], [11, 9, 1], [12, 10, 1], [14, 11, 1], [17, 13, 1], [20, 15, 1], [23, 18, 1], [27, 21, 2],
+      [32, 25, 2], [38, 30, 2], [45, 34, 2], [54, 42, 2], [64, 50, 3], [75, 59, 4]
+    ],
+    0x4F: [  // LATIN CAPITAL LETTER O
+      [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 8, 0], [13, 10, 0], [15, 12, 0], [18, 14, 0], [21, 16, 0],
+      [25, 19, 0], [30, 24, 1], [35, 28, 1], [41, 34, 1], [49, 40, 1], [59, 47, 1]
+    ],
+    0x50: [  // LATIN CAPITAL LETTER P
+      [6, 6, 1], [8, 7, 1], [9, 8, 1], [10, 9, 1], [12, 11, 1], [15, 13, 1], [17, 15, 1], [20, 18, 2],
+      [24, 21, 2], [28, 25, 2], [34, 30, 3], [40, 35, 3], [47, 42, 4], [56, 50, 4]
+    ],
+    0x51: [  // LATIN CAPITAL LETTER Q
+      [7, 6, 1], [8, 7, 1], [9, 8, 1], [11, 11, 3], [13, 12, 2], [16, 14, 2], [18, 17, 3], [22, 20, 4],
+      [26, 24, 5], [30, 28, 5], [36, 33, 6], [43, 39, 6], [51, 47, 8], [60, 56, 10]
+    ],
+    0x52: [  // LATIN CAPITAL LETTER R
+      [7, 5, 0], [9, 6, 0], [10, 7, 0], [12, 8, 0], [14, 10, 0], [17, 12, 0], [20, 14, 0], [23, 16, 0],
+      [28, 19, 0], [33, 23, 1], [39, 27, 1], [46, 33, 1], [55, 39, 1], [65, 46, 1]
+    ],
+    0x53: [  // LATIN CAPITAL LETTER S
+      [5, 5, 0], [6, 6, 0], [8, 7, 0], [9, 8, 0], [10, 10, 0], [12, 12, 0], [15, 14, 0], [17, 16, 0],
+      [20, 19, 0], [24, 24, 1], [29, 28, 1], [34, 34, 1], [40, 40, 1], [48, 47, 1]
+    ],
+    0x54: [  // LATIN CAPITAL LETTER T
+      [7, 6, 1], [8, 7, 1], [10, 8, 1], [12, 9, 1], [14, 11, 1], [16, 13, 1], [19, 15, 1], [22, 18, 2],
+      [27, 23, 2], [32, 27, 3], [38, 32, 3], [44, 37, 3], [53, 44, 4], [63, 52, 5]
+    ],
+    0x55: [  // LATIN CAPITAL LETTER U
+      [7, 5, 0], [8, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [14, 12, 0], [16, 14, 0], [19, 16, 0],
+      [23, 19, 0], [27, 24, 1], [31, 28, 1], [37, 33, 1], [44, 39, 1], [52, 47, 1]
+    ],
+    0x56: [  // LATIN CAPITAL LETTER V
+      [6, 6, 1], [7, 7, 1], [8, 8, 1], [10, 9, 1], [11, 11, 1], [13, 13, 1], [16, 15, 1], [18, 18, 2],
+      [22, 21, 2], [26, 25, 2], [31, 30, 3], [36, 36, 4], [43, 42, 4], [51, 50, 5]
+    ],
+    0x57: [  // LATIN CAPITAL LETTER W
+      [9, 6, 1], [10, 7, 1], [12, 8, 1], [15, 10, 2], [17, 11, 1], [21, 13, 1], [24, 15, 1], [28, 18, 2],
+      [34, 22, 3], [40, 26, 3], [48, 30, 3], [57, 36, 4], [67, 43, 4], [80, 51, 5]
+    ],
+    0x58: [  // LATIN CAPITAL LETTER X
+      [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 8, 0], [13, 10, 0], [16, 12, 0], [18, 14, 0], [22, 16, 0],
+      [26, 19, 0], [30, 23, 0], [36, 27, 0], [43, 32, 0], [51, 39, 1], [60, 46, 0]
+    ],
+    0x59: [  // LATIN CAPITAL LETTER Y
+      [6, 6, 1], [7, 8, 2], [8, 9, 2], [10, 10, 2], [12, 12, 2], [14, 15, 3], [16, 17, 3], [19, 20, 4],
+      [23, 24, 5], [27, 28, 5], [32, 33, 6], [38, 40, 8], [45, 47, 9], [53, 56, 11]
+    ],
+    0x5A: [  // LATIN CAPITAL LETTER Z
+      [6, 5, 0], [8, 6, 0], [9, 7, 0], [10, 8, 0], [12, 10, 0], [15, 12, 0], [17, 14, 0], [20, 16, 0],
+      [24, 19, 0], [28, 23, 0], [34, 27, 0], [40, 32, 0], [47, 38, 0], [56, 45, 0]
+    ],
+    0xA0: [  // NO-BREAK SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Caligraphic/Bold" +

+ 98 - 98
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Bold/unpacked/Arrows.js

@@ -25,104 +25,104 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Main-bold": {
-        0x2190: [  // LEFTWARDS ARROW
-            [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 10, 1], [22, 11, 1], [26, 13, 1],
-            [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 25, 1], [60, 30, 1], [72, 36, 2]
-        ],
-        0x2191: [  // UPWARDS ARROW
-            [5, 7, 2], [5, 8, 2], [6, 9, 2], [7, 12, 3], [9, 13, 3], [10, 16, 4], [11, 18, 4], [14, 22, 5],
-            [16, 26, 6], [19, 30, 7], [22, 36, 8], [27, 42, 9], [31, 50, 11], [37, 59, 13]
-        ],
-        0x2192: [  // RIGHTWARDS ARROW
-            [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 10, 1], [22, 11, 1], [26, 13, 1],
-            [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 26, 1], [60, 30, 1], [72, 36, 1]
-        ],
-        0x2193: [  // DOWNWARDS ARROW
-            [5, 7, 2], [5, 8, 2], [6, 9, 2], [7, 12, 3], [9, 13, 3], [10, 16, 4], [11, 18, 4], [14, 22, 5],
-            [16, 26, 6], [19, 30, 7], [22, 36, 8], [27, 43, 10], [31, 50, 11], [38, 59, 13]
-        ],
-        0x2194: [  // LEFT RIGHT ARROW
-            [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 10, 1], [21, 11, 1], [26, 13, 1],
-            [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 25, 1], [60, 30, 1], [71, 36, 2]
-        ],
-        0x2195: [  // UP DOWN ARROW
-            [5, 8, 2], [5, 10, 3], [6, 11, 3], [7, 14, 4], [9, 15, 4], [10, 18, 5], [11, 21, 6], [14, 25, 7],
-            [16, 30, 8], [19, 35, 9], [22, 42, 11], [27, 49, 13], [31, 58, 15], [38, 69, 18]
-        ],
-        0x2196: [  // NORTH WEST ARROW
-            [8, 7, 2], [9, 9, 2], [11, 10, 2], [13, 12, 3], [15, 13, 3], [18, 17, 4], [21, 19, 4], [26, 22, 5],
-            [30, 26, 6], [36, 31, 7], [43, 37, 8], [51, 43, 9], [60, 51, 11], [72, 61, 13]
-        ],
-        0x2197: [  // NORTH EAST ARROW
-            [8, 8, 2], [9, 9, 2], [11, 10, 2], [13, 12, 3], [15, 13, 3], [18, 17, 4], [22, 19, 4], [26, 22, 5],
-            [30, 26, 6], [36, 31, 7], [43, 37, 8], [51, 43, 9], [60, 52, 11], [72, 62, 13]
-        ],
-        0x2198: [  // SOUTH EAST ARROW
-            [8, 7, 2], [9, 9, 3], [11, 10, 3], [13, 12, 3], [15, 13, 3], [18, 16, 4], [22, 19, 5], [26, 23, 6],
-            [30, 27, 7], [36, 31, 8], [43, 37, 9], [51, 44, 11], [60, 52, 13], [72, 61, 15]
-        ],
-        0x2199: [  // SOUTH WEST ARROW
-            [8, 7, 2], [9, 9, 3], [11, 10, 3], [13, 12, 3], [15, 13, 3], [18, 16, 4], [22, 19, 5], [26, 23, 6],
-            [30, 26, 6], [36, 31, 8], [43, 37, 9], [51, 44, 11], [60, 52, 13], [72, 61, 15]
-        ],
-        0x21A6: [  // RIGHTWARDS ARROW FROM BAR
-            [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 9, 0], [21, 11, 1], [26, 14, 1],
-            [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 26, 1], [60, 30, 1], [71, 36, 1]
-        ],
-        0x21A9: [  // LEFTWARDS ARROW WITH HOOK
-            [9, 5, 1], [10, 5, 0], [12, 7, 1], [15, 7, 1], [17, 9, 1], [21, 10, 1], [24, 11, 1], [29, 13, 1],
-            [34, 16, 1], [40, 18, 1], [48, 22, 1], [57, 25, 1], [68, 30, 1], [80, 36, 2]
-        ],
-        0x21AA: [  // RIGHTWARDS ARROW WITH HOOK
-            [9, 5, 1], [11, 5, 0], [12, 7, 1], [15, 7, 1], [17, 9, 1], [21, 10, 1], [24, 11, 1], [29, 14, 1],
-            [34, 16, 1], [40, 19, 1], [48, 22, 1], [57, 26, 1], [68, 30, 1], [80, 36, 1]
-        ],
-        0x21BC: [  // LEFTWARDS HARPOON WITH BARB UPWARDS
-            [8, 3, -1], [9, 3, -2], [11, 4, -2], [13, 4, -2], [15, 5, -3], [18, 6, -3], [22, 6, -4], [26, 7, -5],
-            [30, 9, -6], [36, 10, -7], [43, 13, -8], [51, 15, -10], [60, 17, -12], [72, 20, -14]
-        ],
-        0x21BD: [  // LEFTWARDS HARPOON WITH BARB DOWNWARDS
-            [8, 3, 1], [9, 3, 0], [11, 4, 1], [13, 5, 1], [15, 5, 1], [18, 6, 1], [22, 7, 1], [26, 8, 1],
-            [30, 9, 1], [36, 11, 1], [43, 12, 1], [51, 15, 1], [60, 18, 2], [72, 21, 2]
-        ],
-        0x21C0: [  // RIGHTWARDS HARPOON WITH BARB UPWARDS
-            [8, 3, -1], [9, 3, -2], [11, 4, -2], [13, 4, -2], [15, 5, -3], [18, 6, -3], [22, 6, -4], [26, 7, -5],
-            [30, 9, -6], [36, 10, -7], [43, 13, -8], [51, 15, -10], [60, 17, -12], [72, 20, -14]
-        ],
-        0x21C1: [  // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-            [8, 3, 1], [9, 3, 0], [11, 4, 1], [13, 5, 1], [15, 5, 1], [18, 6, 1], [22, 7, 1], [26, 8, 1],
-            [30, 9, 1], [36, 11, 1], [43, 12, 1], [51, 15, 1], [60, 18, 2], [72, 21, 2]
-        ],
-        0x21CC: [  // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-            [8, 7, 1], [9, 6, 0], [11, 9, 1], [13, 10, 1], [15, 12, 1], [18, 13, 1], [22, 15, 1], [26, 18, 1],
-            [30, 21, 1], [36, 25, 1], [43, 30, 1], [51, 35, 1], [60, 42, 2], [72, 50, 2]
-        ],
-        0x21D0: [  // LEFTWARDS DOUBLE ARROW
-            [8, 5, 1], [9, 6, 1], [11, 7, 1], [13, 8, 1], [15, 9, 1], [18, 11, 1], [22, 13, 1], [26, 15, 2],
-            [30, 18, 2], [36, 21, 2], [43, 24, 2], [51, 29, 3], [60, 34, 3], [72, 41, 4]
-        ],
-        0x21D1: [  // UPWARDS DOUBLE ARROW
-            [5, 7, 2], [6, 8, 2], [7, 9, 2], [8, 12, 3], [10, 13, 3], [12, 16, 4], [13, 18, 4], [16, 22, 5],
-            [19, 26, 6], [22, 30, 7], [26, 36, 8], [32, 42, 9], [37, 50, 11], [44, 59, 13]
-        ],
-        0x21D2: [  // RIGHTWARDS DOUBLE ARROW
-            [8, 5, 1], [9, 6, 1], [11, 7, 1], [13, 8, 1], [15, 9, 1], [18, 11, 1], [22, 12, 1], [26, 14, 1],
-            [30, 18, 2], [36, 21, 2], [43, 24, 2], [51, 28, 2], [60, 34, 3], [72, 40, 3]
-        ],
-        0x21D3: [  // DOWNWARDS DOUBLE ARROW
-            [5, 7, 2], [6, 8, 2], [7, 9, 2], [8, 12, 3], [10, 13, 3], [12, 16, 4], [14, 18, 4], [16, 22, 5],
-            [19, 26, 6], [23, 30, 7], [27, 36, 8], [32, 43, 10], [38, 50, 11], [45, 59, 13]
-        ],
-        0x21D4: [  // LEFT RIGHT DOUBLE ARROW
-            [8, 5, 1], [10, 6, 1], [11, 7, 1], [13, 8, 1], [16, 9, 1], [19, 11, 1], [22, 12, 1], [26, 15, 2],
-            [31, 18, 2], [37, 21, 2], [44, 24, 2], [52, 29, 3], [61, 34, 3], [73, 41, 4]
-        ],
-        0x21D5: [  // UP DOWN DOUBLE ARROW
-            [5, 8, 2], [6, 10, 3], [7, 11, 3], [8, 13, 4], [10, 15, 4], [11, 18, 5], [14, 21, 6], [16, 25, 7],
-            [19, 30, 8], [22, 35, 9], [27, 41, 11], [32, 49, 13], [38, 58, 15], [45, 69, 18]
-        ]
-    }
+  "MathJax_Main-bold": {
+    0x2190: [  // LEFTWARDS ARROW
+      [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 10, 1], [22, 11, 1], [26, 13, 1],
+      [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 25, 1], [60, 30, 1], [72, 36, 2]
+    ],
+    0x2191: [  // UPWARDS ARROW
+      [5, 7, 2], [5, 8, 2], [6, 9, 2], [7, 12, 3], [9, 13, 3], [10, 16, 4], [11, 18, 4], [14, 22, 5],
+      [16, 26, 6], [19, 30, 7], [22, 36, 8], [27, 42, 9], [31, 50, 11], [37, 59, 13]
+    ],
+    0x2192: [  // RIGHTWARDS ARROW
+      [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 10, 1], [22, 11, 1], [26, 13, 1],
+      [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 26, 1], [60, 30, 1], [72, 36, 1]
+    ],
+    0x2193: [  // DOWNWARDS ARROW
+      [5, 7, 2], [5, 8, 2], [6, 9, 2], [7, 12, 3], [9, 13, 3], [10, 16, 4], [11, 18, 4], [14, 22, 5],
+      [16, 26, 6], [19, 30, 7], [22, 36, 8], [27, 43, 10], [31, 50, 11], [38, 59, 13]
+    ],
+    0x2194: [  // LEFT RIGHT ARROW
+      [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 10, 1], [21, 11, 1], [26, 13, 1],
+      [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 25, 1], [60, 30, 1], [71, 36, 2]
+    ],
+    0x2195: [  // UP DOWN ARROW
+      [5, 8, 2], [5, 10, 3], [6, 11, 3], [7, 14, 4], [9, 15, 4], [10, 18, 5], [11, 21, 6], [14, 25, 7],
+      [16, 30, 8], [19, 35, 9], [22, 42, 11], [27, 49, 13], [31, 58, 15], [38, 69, 18]
+    ],
+    0x2196: [  // NORTH WEST ARROW
+      [8, 7, 2], [9, 9, 2], [11, 10, 2], [13, 12, 3], [15, 13, 3], [18, 17, 4], [21, 19, 4], [26, 22, 5],
+      [30, 26, 6], [36, 31, 7], [43, 37, 8], [51, 43, 9], [60, 51, 11], [72, 61, 13]
+    ],
+    0x2197: [  // NORTH EAST ARROW
+      [8, 8, 2], [9, 9, 2], [11, 10, 2], [13, 12, 3], [15, 13, 3], [18, 17, 4], [22, 19, 4], [26, 22, 5],
+      [30, 26, 6], [36, 31, 7], [43, 37, 8], [51, 43, 9], [60, 52, 11], [72, 62, 13]
+    ],
+    0x2198: [  // SOUTH EAST ARROW
+      [8, 7, 2], [9, 9, 3], [11, 10, 3], [13, 12, 3], [15, 13, 3], [18, 16, 4], [22, 19, 5], [26, 23, 6],
+      [30, 27, 7], [36, 31, 8], [43, 37, 9], [51, 44, 11], [60, 52, 13], [72, 61, 15]
+    ],
+    0x2199: [  // SOUTH WEST ARROW
+      [8, 7, 2], [9, 9, 3], [11, 10, 3], [13, 12, 3], [15, 13, 3], [18, 16, 4], [22, 19, 5], [26, 23, 6],
+      [30, 26, 6], [36, 31, 8], [43, 37, 9], [51, 44, 11], [60, 52, 13], [72, 61, 15]
+    ],
+    0x21A6: [  // RIGHTWARDS ARROW FROM BAR
+      [8, 5, 1], [9, 5, 0], [11, 7, 1], [13, 7, 1], [15, 9, 1], [18, 9, 0], [21, 11, 1], [26, 14, 1],
+      [30, 16, 1], [36, 18, 1], [43, 22, 1], [51, 26, 1], [60, 30, 1], [71, 36, 1]
+    ],
+    0x21A9: [  // LEFTWARDS ARROW WITH HOOK
+      [9, 5, 1], [10, 5, 0], [12, 7, 1], [15, 7, 1], [17, 9, 1], [21, 10, 1], [24, 11, 1], [29, 13, 1],
+      [34, 16, 1], [40, 18, 1], [48, 22, 1], [57, 25, 1], [68, 30, 1], [80, 36, 2]
+    ],
+    0x21AA: [  // RIGHTWARDS ARROW WITH HOOK
+      [9, 5, 1], [11, 5, 0], [12, 7, 1], [15, 7, 1], [17, 9, 1], [21, 10, 1], [24, 11, 1], [29, 14, 1],
+      [34, 16, 1], [40, 19, 1], [48, 22, 1], [57, 26, 1], [68, 30, 1], [80, 36, 1]
+    ],
+    0x21BC: [  // LEFTWARDS HARPOON WITH BARB UPWARDS
+      [8, 3, -1], [9, 3, -2], [11, 4, -2], [13, 4, -2], [15, 5, -3], [18, 6, -3], [22, 6, -4], [26, 7, -5],
+      [30, 9, -6], [36, 10, -7], [43, 13, -8], [51, 15, -10], [60, 17, -12], [72, 20, -14]
+    ],
+    0x21BD: [  // LEFTWARDS HARPOON WITH BARB DOWNWARDS
+      [8, 3, 1], [9, 3, 0], [11, 4, 1], [13, 5, 1], [15, 5, 1], [18, 6, 1], [22, 7, 1], [26, 8, 1],
+      [30, 9, 1], [36, 11, 1], [43, 12, 1], [51, 15, 1], [60, 18, 2], [72, 21, 2]
+    ],
+    0x21C0: [  // RIGHTWARDS HARPOON WITH BARB UPWARDS
+      [8, 3, -1], [9, 3, -2], [11, 4, -2], [13, 4, -2], [15, 5, -3], [18, 6, -3], [22, 6, -4], [26, 7, -5],
+      [30, 9, -6], [36, 10, -7], [43, 13, -8], [51, 15, -10], [60, 17, -12], [72, 20, -14]
+    ],
+    0x21C1: [  // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+      [8, 3, 1], [9, 3, 0], [11, 4, 1], [13, 5, 1], [15, 5, 1], [18, 6, 1], [22, 7, 1], [26, 8, 1],
+      [30, 9, 1], [36, 11, 1], [43, 12, 1], [51, 15, 1], [60, 18, 2], [72, 21, 2]
+    ],
+    0x21CC: [  // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+      [8, 7, 1], [9, 6, 0], [11, 9, 1], [13, 10, 1], [15, 12, 1], [18, 13, 1], [22, 15, 1], [26, 18, 1],
+      [30, 21, 1], [36, 25, 1], [43, 30, 1], [51, 35, 1], [60, 42, 2], [72, 50, 2]
+    ],
+    0x21D0: [  // LEFTWARDS DOUBLE ARROW
+      [8, 5, 1], [9, 6, 1], [11, 7, 1], [13, 8, 1], [15, 9, 1], [18, 11, 1], [22, 13, 1], [26, 15, 2],
+      [30, 18, 2], [36, 21, 2], [43, 24, 2], [51, 29, 3], [60, 34, 3], [72, 41, 4]
+    ],
+    0x21D1: [  // UPWARDS DOUBLE ARROW
+      [5, 7, 2], [6, 8, 2], [7, 9, 2], [8, 12, 3], [10, 13, 3], [12, 16, 4], [13, 18, 4], [16, 22, 5],
+      [19, 26, 6], [22, 30, 7], [26, 36, 8], [32, 42, 9], [37, 50, 11], [44, 59, 13]
+    ],
+    0x21D2: [  // RIGHTWARDS DOUBLE ARROW
+      [8, 5, 1], [9, 6, 1], [11, 7, 1], [13, 8, 1], [15, 9, 1], [18, 11, 1], [22, 12, 1], [26, 14, 1],
+      [30, 18, 2], [36, 21, 2], [43, 24, 2], [51, 28, 2], [60, 34, 3], [72, 40, 3]
+    ],
+    0x21D3: [  // DOWNWARDS DOUBLE ARROW
+      [5, 7, 2], [6, 8, 2], [7, 9, 2], [8, 12, 3], [10, 13, 3], [12, 16, 4], [14, 18, 4], [16, 22, 5],
+      [19, 26, 6], [23, 30, 7], [27, 36, 8], [32, 43, 10], [38, 50, 11], [45, 59, 13]
+    ],
+    0x21D4: [  // LEFT RIGHT DOUBLE ARROW
+      [8, 5, 1], [10, 6, 1], [11, 7, 1], [13, 8, 1], [16, 9, 1], [19, 11, 1], [22, 12, 1], [26, 15, 2],
+      [31, 18, 2], [37, 21, 2], [44, 24, 2], [52, 29, 3], [61, 34, 3], [73, 41, 4]
+    ],
+    0x21D5: [  // UP DOWN DOUBLE ARROW
+      [5, 8, 2], [6, 10, 3], [7, 11, 3], [8, 13, 4], [10, 15, 4], [11, 18, 5], [14, 21, 6], [16, 25, 7],
+      [19, 30, 8], [22, 35, 9], [27, 41, 11], [32, 49, 13], [38, 58, 15], [45, 69, 18]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Main/Bold" +

+ 50 - 50
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Bold/unpacked/CombDiacritMarks.js

@@ -25,56 +25,56 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Main-bold": {
-        0x300: [  // COMBINING GRAVE ACCENT
-            [3, 2, -3], [3, 2, -4], [3, 3, -5], [4, 3, -5], [4, 3, -6], [5, 4, -8], [5, 5, -9], [6, 5, -12],
-            [7, 6, -14], [9, 7, -16], [10, 9, -19], [11, 10, -23], [13, 12, -27], [16, 14, -33]
-        ],
-        0x301: [  // COMBINING ACUTE ACCENT
-            [3, 2, -3], [3, 2, -4], [3, 3, -5], [3, 3, -5], [4, 3, -6], [5, 4, -8], [5, 5, -9], [6, 5, -12],
-            [7, 6, -14], [9, 7, -16], [10, 9, -19], [11, 10, -23], [13, 12, -27], [16, 14, -33]
-        ],
-        0x302: [  // COMBINING CIRCUMFLEX ACCENT
-            [4, 2, -3], [3, 2, -5], [4, 2, -6], [5, 2, -6], [6, 3, -7], [6, 4, -9], [7, 4, -10], [9, 5, -13],
-            [10, 5, -15], [11, 6, -17], [14, 7, -21], [16, 9, -24], [18, 10, -29], [22, 12, -35]
-        ],
-        0x303: [  // COMBINING TILDE
-            [4, 1, -4], [4, 1, -5], [5, 3, -6], [5, 3, -6], [6, 4, -6], [7, 4, -9], [9, 4, -11], [10, 5, -13],
-            [12, 5, -16], [13, 6, -18], [16, 7, -22], [19, 8, -25], [22, 9, -30], [26, 11, -36]
-        ],
-        0x304: [  // COMBINING MACRON
-            [4, 1, -3], [5, 1, -5], [5, 1, -6], [6, 1, -6], [6, 1, -7], [8, 2, -9], [9, 3, -10], [11, 2, -13],
-            [12, 2, -16], [15, 3, -18], [17, 3, -22], [20, 4, -25], [24, 4, -30], [28, 5, -36]
-        ],
-        0x306: [  // COMBINING BREVE
-            [4, 2, -3], [4, 2, -4], [4, 2, -6], [5, 2, -6], [6, 3, -6], [7, 4, -8], [8, 4, -10], [9, 5, -12],
-            [12, 6, -14], [13, 7, -16], [15, 8, -20], [18, 9, -23], [22, 11, -27], [26, 13, -33]
-        ],
-        0x307: [  // COMBINING DOT ABOVE
-            [2, 2, -3], [3, 2, -4], [3, 2, -6], [3, 2, -6], [4, 3, -6], [4, 3, -9], [5, 4, -10], [5, 5, -12],
-            [6, 5, -15], [7, 6, -17], [8, 7, -21], [9, 8, -24], [10, 10, -28], [12, 12, -34]
-        ],
-        0x308: [  // COMBINING DIAERESIS
-            [4, 2, -3], [4, 2, -4], [5, 2, -6], [5, 2, -6], [6, 3, -6], [7, 3, -9], [9, 4, -10], [10, 4, -13],
-            [12, 5, -15], [13, 6, -17], [16, 7, -21], [19, 8, -24], [22, 9, -29], [26, 11, -35]
-        ],
-        0x30A: [  // COMBINING RING ABOVE
-            [2, 1, -4], [3, 2, -4], [4, 2, -6], [4, 2, -6], [4, 2, -7], [5, 3, -9], [6, 3, -11], [7, 4, -13],
-            [8, 6, -14], [9, 6, -17], [11, 7, -21], [13, 8, -24], [15, 9, -29], [18, 11, -35]
-        ],
-        0x30B: [  // COMBINING DOUBLE ACUTE ACCENT
-            [4, 2, -3], [4, 2, -4], [5, 3, -5], [6, 3, -5], [6, 3, -6], [7, 4, -8], [8, 5, -9], [10, 5, -12],
-            [11, 6, -14], [13, 7, -17], [15, 9, -19], [18, 10, -23], [21, 12, -27], [25, 14, -33]
-        ],
-        0x30C: [  // COMBINING CARON
-            [4, 1, -3], [3, 2, -5], [4, 2, -6], [5, 2, -6], [6, 3, -7], [6, 3, -9], [7, 4, -10], [8, 4, -13],
-            [10, 5, -15], [11, 6, -17], [13, 6, -21], [15, 7, -24], [18, 9, -28], [22, 10, -34]
-        ],
-        0x338: [  // COMBINING LONG SOLIDUS OVERLAY
-            [5, 6, 1], [6, 8, 2], [7, 10, 2], [8, 10, 2], [9, 12, 3], [11, 15, 3], [12, 18, 4], [15, 22, 5],
-            [17, 26, 6], [20, 31, 6], [23, 37, 8], [28, 43, 9], [33, 51, 12], [39, 61, 14]
-        ]
-    }
+  "MathJax_Main-bold": {
+    0x300: [  // COMBINING GRAVE ACCENT
+      [3, 2, -3], [3, 2, -4], [3, 3, -5], [4, 3, -5], [4, 3, -6], [5, 4, -8], [5, 5, -9], [6, 5, -12],
+      [7, 6, -14], [9, 7, -16], [10, 9, -19], [11, 10, -23], [13, 12, -27], [16, 14, -33]
+    ],
+    0x301: [  // COMBINING ACUTE ACCENT
+      [3, 2, -3], [3, 2, -4], [3, 3, -5], [3, 3, -5], [4, 3, -6], [5, 4, -8], [5, 5, -9], [6, 5, -12],
+      [7, 6, -14], [9, 7, -16], [10, 9, -19], [11, 10, -23], [13, 12, -27], [16, 14, -33]
+    ],
+    0x302: [  // COMBINING CIRCUMFLEX ACCENT
+      [4, 2, -3], [3, 2, -5], [4, 2, -6], [5, 2, -6], [6, 3, -7], [6, 4, -9], [7, 4, -10], [9, 5, -13],
+      [10, 5, -15], [11, 6, -17], [14, 7, -21], [16, 9, -24], [18, 10, -29], [22, 12, -35]
+    ],
+    0x303: [  // COMBINING TILDE
+      [4, 1, -4], [4, 1, -5], [5, 3, -6], [5, 3, -6], [6, 4, -6], [7, 4, -9], [9, 4, -11], [10, 5, -13],
+      [12, 5, -16], [13, 6, -18], [16, 7, -22], [19, 8, -25], [22, 9, -30], [26, 11, -36]
+    ],
+    0x304: [  // COMBINING MACRON
+      [4, 1, -3], [5, 1, -5], [5, 1, -6], [6, 1, -6], [6, 1, -7], [8, 2, -9], [9, 3, -10], [11, 2, -13],
+      [12, 2, -16], [15, 3, -18], [17, 3, -22], [20, 4, -25], [24, 4, -30], [28, 5, -36]
+    ],
+    0x306: [  // COMBINING BREVE
+      [4, 2, -3], [4, 2, -4], [4, 2, -6], [5, 2, -6], [6, 3, -6], [7, 4, -8], [8, 4, -10], [9, 5, -12],
+      [12, 6, -14], [13, 7, -16], [15, 8, -20], [18, 9, -23], [22, 11, -27], [26, 13, -33]
+    ],
+    0x307: [  // COMBINING DOT ABOVE
+      [2, 2, -3], [3, 2, -4], [3, 2, -6], [3, 2, -6], [4, 3, -6], [4, 3, -9], [5, 4, -10], [5, 5, -12],
+      [6, 5, -15], [7, 6, -17], [8, 7, -21], [9, 8, -24], [10, 10, -28], [12, 12, -34]
+    ],
+    0x308: [  // COMBINING DIAERESIS
+      [4, 2, -3], [4, 2, -4], [5, 2, -6], [5, 2, -6], [6, 3, -6], [7, 3, -9], [9, 4, -10], [10, 4, -13],
+      [12, 5, -15], [13, 6, -17], [16, 7, -21], [19, 8, -24], [22, 9, -29], [26, 11, -35]
+    ],
+    0x30A: [  // COMBINING RING ABOVE
+      [2, 1, -4], [3, 2, -4], [4, 2, -6], [4, 2, -6], [4, 2, -7], [5, 3, -9], [6, 3, -11], [7, 4, -13],
+      [8, 6, -14], [9, 6, -17], [11, 7, -21], [13, 8, -24], [15, 9, -29], [18, 11, -35]
+    ],
+    0x30B: [  // COMBINING DOUBLE ACUTE ACCENT
+      [4, 2, -3], [4, 2, -4], [5, 3, -5], [6, 3, -5], [6, 3, -6], [7, 4, -8], [8, 5, -9], [10, 5, -12],
+      [11, 6, -14], [13, 7, -17], [15, 9, -19], [18, 10, -23], [21, 12, -27], [25, 14, -33]
+    ],
+    0x30C: [  // COMBINING CARON
+      [4, 1, -3], [3, 2, -5], [4, 2, -6], [5, 2, -6], [6, 3, -7], [6, 3, -9], [7, 4, -10], [8, 4, -13],
+      [10, 5, -15], [11, 6, -17], [13, 6, -21], [15, 7, -24], [18, 9, -28], [22, 10, -34]
+    ],
+    0x338: [  // COMBINING LONG SOLIDUS OVERLAY
+      [5, 6, 1], [6, 8, 2], [7, 10, 2], [8, 10, 2], [9, 12, 3], [11, 15, 3], [12, 18, 4], [15, 22, 5],
+      [17, 26, 6], [20, 31, 6], [23, 37, 8], [28, 43, 9], [33, 51, 12], [39, 61, 14]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Main/Bold" +

+ 6 - 6
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Bold/unpacked/CombDiactForSymbols.js

@@ -25,12 +25,12 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Main-bold": {
-        0x20D7: [  // COMBINING RIGHT ARROW ABOVE
-            [4, 2, -3], [5, 3, -4], [6, 3, -5], [7, 3, -6], [8, 3, -7], [9, 5, -8], [11, 5, -10], [13, 6, -11],
-            [15, 6, -14], [17, 8, -16], [21, 9, -20], [25, 11, -23], [29, 13, -28], [34, 15, -33]
-        ]
-    }
+  "MathJax_Main-bold": {
+    0x20D7: [  // COMBINING RIGHT ARROW ABOVE
+      [4, 2, -3], [5, 3, -4], [6, 3, -5], [7, 3, -6], [8, 3, -7], [9, 5, -8], [11, 5, -10], [13, 6, -11],
+      [15, 6, -14], [17, 8, -16], [21, 9, -20], [25, 11, -23], [29, 13, -28], [34, 15, -33]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Main/Bold" +

+ 6 - 6
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Italic/unpacked/LatinExtendedA.js

@@ -25,12 +25,12 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Main-italic": {
-        0x131: [  // LATIN SMALL LETTER DOTLESS I
-            [3, 3, 0], [3, 4, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 9, 0], [8, 10, 0],
-            [10, 12, 0], [12, 15, 0], [14, 17, 0], [16, 22, 1], [19, 26, 1], [23, 30, 1]
-        ]
-    }
+  "MathJax_Main-italic": {
+    0x131: [  // LATIN SMALL LETTER DOTLESS I
+      [3, 3, 0], [3, 4, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 9, 0], [8, 10, 0],
+      [10, 12, 0], [12, 15, 0], [14, 17, 0], [16, 22, 1], [19, 26, 1], [23, 30, 1]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Main/Italic" +

+ 6 - 6
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/unpacked/CombDiactForSymbols.js

@@ -25,12 +25,12 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Main": {
-        0x20D7: [  // COMBINING RIGHT ARROW ABOVE
-            [4, 2, -3], [4, 2, -4], [5, 3, -5], [6, 3, -6], [7, 3, -7], [8, 4, -8], [10, 5, -9], [11, 5, -12],
-            [14, 6, -14], [16, 7, -17], [18, 9, -20], [21, 10, -24], [26, 12, -28], [30, 14, -33]
-        ]
-    }
+  "MathJax_Main": {
+    0x20D7: [  // COMBINING RIGHT ARROW ABOVE
+      [4, 2, -3], [4, 2, -4], [5, 3, -5], [6, 3, -6], [7, 3, -7], [8, 4, -8], [10, 5, -9], [11, 5, -12],
+      [14, 6, -14], [16, 7, -17], [18, 9, -20], [21, 10, -24], [26, 12, -28], [30, 14, -33]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Main/Regular" +

+ 18 - 18
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/unpacked/MiscMathSymbolsA.js

@@ -25,24 +25,24 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Main": {
-        0x27E8: [  // MATHEMATICAL LEFT ANGLE BRACKET
-            [3, 8, 2], [3, 10, 3], [4, 11, 3], [4, 12, 3], [5, 15, 4], [6, 18, 5], [7, 20, 5], [8, 24, 6],
-            [10, 28, 7], [11, 34, 9], [14, 40, 10], [16, 47, 12], [19, 56, 14], [22, 67, 17]
-        ],
-        0x27E9: [  // MATHEMATICAL RIGHT ANGLE BRACKET
-            [2, 8, 2], [3, 10, 3], [3, 11, 3], [4, 12, 3], [4, 15, 4], [5, 18, 5], [6, 20, 5], [7, 24, 6],
-            [8, 28, 7], [10, 34, 9], [11, 40, 10], [13, 47, 12], [16, 56, 14], [19, 67, 17]
-        ],
-        0x27EE: [  // MATHEMATICAL LEFT FLATTENED PARENTHESIS
-            [3, 8, 2], [3, 9, 2], [4, 11, 3], [5, 12, 3], [5, 15, 4], [6, 17, 4], [8, 20, 5], [9, 24, 6],
-            [10, 28, 7], [12, 33, 8], [14, 40, 10], [17, 47, 12], [20, 56, 14], [24, 65, 16]
-        ],
-        0x27EF: [  // MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-            [2, 8, 2], [2, 9, 2], [3, 11, 3], [3, 12, 3], [4, 15, 4], [4, 17, 4], [5, 20, 5], [6, 24, 6],
-            [7, 28, 7], [8, 33, 8], [10, 40, 10], [12, 46, 11], [14, 55, 13], [16, 65, 16]
-        ]
-    }
+  "MathJax_Main": {
+    0x27E8: [  // MATHEMATICAL LEFT ANGLE BRACKET
+      [3, 8, 2], [3, 10, 3], [4, 11, 3], [4, 12, 3], [5, 15, 4], [6, 18, 5], [7, 20, 5], [8, 24, 6],
+      [10, 28, 7], [11, 34, 9], [14, 40, 10], [16, 47, 12], [19, 56, 14], [22, 67, 17]
+    ],
+    0x27E9: [  // MATHEMATICAL RIGHT ANGLE BRACKET
+      [2, 8, 2], [3, 10, 3], [3, 11, 3], [4, 12, 3], [4, 15, 4], [5, 18, 5], [6, 20, 5], [7, 24, 6],
+      [8, 28, 7], [10, 34, 9], [11, 40, 10], [13, 47, 12], [16, 56, 14], [19, 67, 17]
+    ],
+    0x27EE: [  // MATHEMATICAL LEFT FLATTENED PARENTHESIS
+      [3, 8, 2], [3, 9, 2], [4, 11, 3], [5, 12, 3], [5, 15, 4], [6, 17, 4], [8, 20, 5], [9, 24, 6],
+      [10, 28, 7], [12, 33, 8], [14, 40, 10], [17, 47, 12], [20, 56, 14], [24, 65, 16]
+    ],
+    0x27EF: [  // MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+      [2, 8, 2], [2, 9, 2], [3, 11, 3], [3, 12, 3], [4, 15, 4], [4, 17, 4], [5, 20, 5], [6, 24, 6],
+      [7, 28, 7], [8, 33, 8], [10, 40, 10], [12, 46, 11], [14, 55, 13], [16, 65, 16]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Main/Regular" +

+ 38 - 38
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/unpacked/SpacingModLetters.js

@@ -25,44 +25,44 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Main": {
-        0x2C6: [  // MODIFIER LETTER CIRCUMFLEX ACCENT
-            [3, 2, -3], [4, 3, -4], [4, 3, -5], [5, 3, -5], [6, 3, -7], [7, 4, -9], [8, 4, -10], [9, 5, -13],
-            [11, 6, -15], [13, 7, -17], [16, 7, -21], [18, 9, -24], [22, 10, -29], [26, 12, -35]
-        ],
-        0x2C7: [  // CARON
-            [3, 1, -3], [4, 1, -5], [4, 2, -6], [5, 2, -6], [6, 2, -7], [7, 3, -9], [8, 3, -10], [9, 3, -13],
-            [11, 4, -15], [13, 5, -17], [16, 6, -21], [18, 6, -24], [22, 8, -29], [26, 9, -34]
-        ],
-        0x2C9: [  // MODIFIER LETTER MACRON
-            [3, 1, -3], [4, 1, -5], [5, 1, -6], [6, 1, -6], [6, 1, -7], [8, 1, -10], [9, 1, -11], [10, 2, -13],
-            [12, 3, -15], [15, 2, -18], [17, 2, -22], [20, 3, -26], [24, 3, -30], [29, 4, -36]
-        ],
-        0x2CA: [  // MODIFIER LETTER ACUTE ACCENT
-            [3, 2, -3], [4, 2, -4], [4, 3, -5], [5, 3, -5], [6, 3, -6], [7, 4, -8], [8, 5, -9], [10, 6, -12],
-            [11, 7, -14], [13, 7, -17], [16, 9, -19], [19, 10, -23], [22, 12, -28], [26, 13, -34]
-        ],
-        0x2CB: [  // MODIFIER LETTER GRAVE ACCENT
-            [3, 2, -3], [3, 2, -4], [3, 3, -5], [4, 3, -5], [5, 3, -6], [5, 4, -8], [6, 4, -10], [7, 6, -12],
-            [9, 7, -14], [10, 7, -17], [12, 8, -20], [14, 10, -23], [17, 11, -28], [20, 13, -34]
-        ],
-        0x2D8: [  // BREVE
-            [3, 2, -3], [4, 2, -4], [4, 2, -6], [5, 2, -6], [6, 3, -6], [7, 3, -9], [8, 4, -10], [10, 5, -12],
-            [12, 5, -15], [14, 6, -17], [16, 7, -21], [19, 9, -24], [23, 10, -29], [27, 12, -34]
-        ],
-        0x2D9: [  // DOT ABOVE
-            [3, 1, -4], [3, 2, -4], [4, 2, -6], [4, 2, -6], [5, 2, -7], [6, 3, -9], [7, 3, -11], [8, 3, -14],
-            [9, 4, -16], [11, 5, -18], [13, 5, -22], [15, 6, -26], [18, 7, -31], [21, 9, -37]
-        ],
-        0x2DA: [  // RING ABOVE
-            [3, 2, -3], [3, 2, -4], [4, 2, -6], [5, 2, -6], [5, 3, -6], [6, 3, -9], [7, 4, -10], [9, 5, -13],
-            [10, 6, -15], [12, 7, -17], [14, 8, -22], [17, 8, -25], [20, 10, -30], [24, 12, -36]
-        ],
-        0x2DC: [  // SMALL TILDE
-            [3, 1, -4], [4, 1, -5], [5, 1, -7], [5, 1, -7], [6, 1, -8], [7, 3, -9], [9, 3, -11], [10, 3, -14],
-            [12, 3, -17], [14, 4, -19], [17, 4, -23], [20, 5, -26], [23, 6, -32], [28, 7, -38]
-        ]
-    }
+  "MathJax_Main": {
+    0x2C6: [  // MODIFIER LETTER CIRCUMFLEX ACCENT
+      [3, 2, -3], [4, 3, -4], [4, 3, -5], [5, 3, -5], [6, 3, -7], [7, 4, -9], [8, 4, -10], [9, 5, -13],
+      [11, 6, -15], [13, 7, -17], [16, 7, -21], [18, 9, -24], [22, 10, -29], [26, 12, -35]
+    ],
+    0x2C7: [  // CARON
+      [3, 1, -3], [4, 1, -5], [4, 2, -6], [5, 2, -6], [6, 2, -7], [7, 3, -9], [8, 3, -10], [9, 3, -13],
+      [11, 4, -15], [13, 5, -17], [16, 6, -21], [18, 6, -24], [22, 8, -29], [26, 9, -34]
+    ],
+    0x2C9: [  // MODIFIER LETTER MACRON
+      [3, 1, -3], [4, 1, -5], [5, 1, -6], [6, 1, -6], [6, 1, -7], [8, 1, -10], [9, 1, -11], [10, 2, -13],
+      [12, 3, -15], [15, 2, -18], [17, 2, -22], [20, 3, -26], [24, 3, -30], [29, 4, -36]
+    ],
+    0x2CA: [  // MODIFIER LETTER ACUTE ACCENT
+      [3, 2, -3], [4, 2, -4], [4, 3, -5], [5, 3, -5], [6, 3, -6], [7, 4, -8], [8, 5, -9], [10, 6, -12],
+      [11, 7, -14], [13, 7, -17], [16, 9, -19], [19, 10, -23], [22, 12, -28], [26, 13, -34]
+    ],
+    0x2CB: [  // MODIFIER LETTER GRAVE ACCENT
+      [3, 2, -3], [3, 2, -4], [3, 3, -5], [4, 3, -5], [5, 3, -6], [5, 4, -8], [6, 4, -10], [7, 6, -12],
+      [9, 7, -14], [10, 7, -17], [12, 8, -20], [14, 10, -23], [17, 11, -28], [20, 13, -34]
+    ],
+    0x2D8: [  // BREVE
+      [3, 2, -3], [4, 2, -4], [4, 2, -6], [5, 2, -6], [6, 3, -6], [7, 3, -9], [8, 4, -10], [10, 5, -12],
+      [12, 5, -15], [14, 6, -17], [16, 7, -21], [19, 9, -24], [23, 10, -29], [27, 12, -34]
+    ],
+    0x2D9: [  // DOT ABOVE
+      [3, 1, -4], [3, 2, -4], [4, 2, -6], [4, 2, -6], [5, 2, -7], [6, 3, -9], [7, 3, -11], [8, 3, -14],
+      [9, 4, -16], [11, 5, -18], [13, 5, -22], [15, 6, -26], [18, 7, -31], [21, 9, -37]
+    ],
+    0x2DA: [  // RING ABOVE
+      [3, 2, -3], [3, 2, -4], [4, 2, -6], [5, 2, -6], [5, 3, -6], [6, 3, -9], [7, 4, -10], [9, 5, -13],
+      [10, 6, -15], [12, 7, -17], [14, 8, -22], [17, 8, -25], [20, 10, -30], [24, 12, -36]
+    ],
+    0x2DC: [  // SMALL TILDE
+      [3, 1, -4], [4, 1, -5], [5, 1, -7], [5, 1, -7], [6, 1, -8], [7, 3, -9], [9, 3, -11], [10, 3, -14],
+      [12, 3, -17], [14, 4, -19], [17, 4, -23], [20, 5, -26], [23, 6, -32], [28, 7, -38]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Main/Regular" +

+ 386 - 386
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/unpacked/Main.js

@@ -25,392 +25,392 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Math-italic": {
-        0x20: [  // SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x2F: [  // SOLIDUS
-            [5, 6, 1], [6, 8, 2], [7, 8, 2], [8, 10, 2], [9, 12, 3], [11, 14, 3], [13, 18, 4], [15, 21, 5],
-            [18, 25, 6], [21, 31, 7], [25, 36, 8], [30, 45, 10], [36, 53, 12], [42, 61, 14]
-        ],
-        0x41: [  // LATIN CAPITAL LETTER A
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [17, 16, 0],
-            [21, 19, 0], [24, 24, 0], [29, 28, 0], [34, 34, 1], [41, 41, 1], [48, 47, 1]
-        ],
-        0x42: [  // LATIN CAPITAL LETTER B
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 19, 0], [25, 23, 0], [30, 27, 0], [36, 33, 0], [42, 39, 0], [50, 45, 0]
-        ],
-        0x43: [  // LATIN CAPITAL LETTER C
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 20, 1], [25, 25, 1], [30, 29, 1], [36, 35, 1], [42, 41, 1], [50, 48, 1]
-        ],
-        0x44: [  // LATIN CAPITAL LETTER D
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [12, 10, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
-            [23, 19, 0], [27, 23, 0], [32, 27, 0], [38, 33, 0], [45, 39, 0], [53, 45, 0]
-        ],
-        0x45: [  // LATIN CAPITAL LETTER E
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [22, 19, 0], [26, 23, 0], [30, 27, 0], [36, 33, 0], [43, 39, 0], [51, 46, 0]
-        ],
-        0x46: [  // LATIN CAPITAL LETTER F
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 19, 0], [25, 23, 0], [30, 27, 0], [35, 33, 0], [42, 39, 0], [50, 45, -1]
-        ],
-        0x47: [  // LATIN CAPITAL LETTER G
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 20, 1], [25, 25, 1], [30, 29, 1], [36, 35, 1], [42, 41, 1], [50, 48, 1]
-        ],
-        0x48: [  // LATIN CAPITAL LETTER H
-            [7, 5, 0], [8, 7, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0], [15, 12, 0], [18, 15, 0], [21, 17, 0],
-            [25, 20, 0], [30, 24, 0], [35, 28, 0], [42, 34, 0], [50, 40, 0], [59, 46, 0]
-        ],
-        0x49: [  // LATIN CAPITAL LETTER I
-            [4, 5, 0], [5, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 11, 0], [10, 14, 0], [12, 16, 0],
-            [14, 19, 0], [17, 23, 0], [20, 27, 0], [24, 33, 0], [28, 39, 0], [34, 45, 0]
-        ],
-        0x4A: [  // LATIN CAPITAL LETTER J
-            [5, 5, 0], [6, 7, 0], [7, 6, 0], [8, 9, 0], [9, 10, 0], [11, 12, 0], [13, 15, 0], [15, 17, 0],
-            [18, 21, 1], [21, 25, 1], [25, 29, 1], [30, 35, 1], [35, 41, 1], [42, 47, 1]
-        ],
-        0x4B: [  // LATIN CAPITAL LETTER K
-            [7, 5, 0], [8, 6, 0], [9, 6, 0], [11, 8, 0], [13, 10, 0], [15, 11, 0], [18, 14, 0], [21, 16, 0],
-            [25, 19, 0], [30, 23, 0], [35, 27, 0], [42, 33, 0], [50, 39, 0], [59, 45, 0]
-        ],
-        0x4C: [  // LATIN CAPITAL LETTER L
-            [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0], [13, 14, 0], [15, 16, 0],
-            [18, 19, 0], [22, 23, 0], [26, 27, 0], [30, 33, 0], [36, 39, 0], [43, 45, -1]
-        ],
-        0x4D: [  // LATIN CAPITAL LETTER M
-            [8, 5, 0], [9, 6, 0], [11, 6, 0], [13, 8, 0], [15, 10, 0], [18, 11, 0], [21, 14, 0], [25, 16, 0],
-            [29, 19, 0], [35, 24, 0], [42, 27, 0], [49, 33, 0], [58, 39, 0], [70, 45, -1]
-        ],
-        0x4E: [  // LATIN CAPITAL LETTER N
-            [7, 5, 0], [8, 7, 0], [9, 6, 0], [11, 9, 0], [13, 10, 0], [15, 12, 0], [18, 15, 0], [21, 17, 0],
-            [25, 20, 0], [30, 24, 0], [35, 28, 0], [42, 34, 0], [50, 39, 0], [59, 46, 0]
-        ],
-        0x4F: [  // LATIN CAPITAL LETTER O
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 20, 1], [25, 25, 1], [29, 29, 1], [35, 35, 2], [41, 41, 1], [49, 48, 1]
-        ],
-        0x50: [  // LATIN CAPITAL LETTER P
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 19, 0], [25, 23, 0], [30, 27, 0], [35, 33, 0], [42, 39, 0], [50, 45, 0]
-        ],
-        0x51: [  // LATIN CAPITAL LETTER Q
-            [6, 6, 1], [7, 8, 2], [8, 8, 2], [9, 10, 2], [11, 12, 3], [13, 14, 3], [15, 18, 4], [18, 21, 5],
-            [21, 25, 6], [25, 31, 7], [29, 36, 8], [35, 44, 10], [41, 51, 11], [49, 59, 13]
-        ],
-        0x52: [  // LATIN CAPITAL LETTER R
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 20, 1], [25, 24, 1], [30, 28, 1], [35, 34, 1], [42, 40, 1], [50, 46, 1]
-        ],
-        0x53: [  // LATIN CAPITAL LETTER S
-            [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0], [13, 14, 0], [15, 16, 0],
-            [18, 20, 1], [22, 25, 1], [26, 29, 1], [31, 35, 2], [36, 41, 1], [43, 48, 2]
-        ],
-        0x54: [  // LATIN CAPITAL LETTER T
-            [5, 5, 0], [6, 6, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
-            [20, 19, 0], [24, 23, 0], [28, 26, 0], [33, 32, 0], [40, 38, 0], [47, 44, 0]
-        ],
-        0x55: [  // LATIN CAPITAL LETTER U
-            [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 10, 0], [13, 12, 0], [15, 15, 0], [18, 17, 0],
-            [22, 21, 1], [26, 25, 1], [31, 29, 1], [36, 35, 1], [43, 41, 1], [51, 48, 1]
-        ],
-        0x56: [  // LATIN CAPITAL LETTER V
-            [6, 6, 1], [7, 7, 1], [8, 7, 1], [10, 9, 1], [11, 10, 1], [13, 12, 1], [15, 15, 1], [18, 17, 1],
-            [22, 20, 1], [26, 24, 1], [31, 28, 1], [36, 35, 2], [43, 41, 2], [51, 47, 1]
-        ],
-        0x57: [  // LATIN CAPITAL LETTER W
-            [8, 5, 0], [9, 6, 0], [11, 6, 0], [13, 8, 0], [15, 9, 0], [18, 11, 0], [21, 14, 0], [25, 16, 0],
-            [29, 20, 1], [35, 24, 1], [41, 28, 1], [49, 34, 1], [58, 41, 2], [69, 48, 2]
-        ],
-        0x58: [  // LATIN CAPITAL LETTER X
-            [6, 5, 0], [8, 7, 1], [9, 7, 1], [10, 9, 1], [12, 10, 1], [15, 12, 1], [17, 15, 1], [20, 17, 1],
-            [24, 20, 1], [28, 24, 1], [34, 28, 1], [40, 34, 1], [48, 40, 1], [56, 46, 1]
-        ],
-        0x59: [  // LATIN CAPITAL LETTER Y
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [22, 19, 0], [26, 23, 0], [30, 27, 0], [36, 33, 0], [43, 39, 0], [51, 45, -1]
-        ],
-        0x5A: [  // LATIN CAPITAL LETTER Z
-            [5, 5, 0], [6, 6, 0], [8, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [15, 14, 0], [17, 16, 0],
-            [20, 19, 0], [24, 23, 0], [29, 27, 0], [34, 33, 0], [40, 39, 0], [48, 45, 0]
-        ],
-        0x61: [  // LATIN SMALL LETTER A
-            [4, 3, 0], [5, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [9, 7, 0], [10, 9, 0], [12, 10, 0],
-            [14, 12, 0], [17, 15, 0], [20, 17, 0], [24, 22, 1], [28, 26, 1], [34, 30, 1]
-        ],
-        0x62: [  // LATIN SMALL LETTER B
-            [3, 5, 0], [4, 6, 0], [5, 6, 0], [5, 8, 0], [6, 9, 0], [7, 11, 0], [9, 14, 0], [10, 16, 0],
-            [12, 19, 0], [14, 24, 0], [17, 27, 0], [20, 34, 1], [24, 40, 1], [28, 47, 1]
-        ],
-        0x63: [  // LATIN SMALL LETTER C
-            [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
-            [12, 12, 0], [15, 15, 0], [17, 17, 0], [21, 22, 1], [24, 26, 1], [29, 30, 1]
-        ],
-        0x64: [  // LATIN SMALL LETTER D
-            [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 11, 0], [11, 14, 0], [13, 16, 0],
-            [15, 19, 0], [18, 24, 0], [21, 27, 0], [25, 34, 1], [30, 40, 1], [35, 47, 1]
-        ],
-        0x65: [  // LATIN SMALL LETTER E
-            [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
-            [12, 12, 0], [15, 15, 0], [17, 17, 0], [20, 22, 1], [24, 26, 1], [29, 30, 1]
-        ],
-        0x66: [  // LATIN SMALL LETTER F
-            [4, 6, 1], [5, 8, 2], [6, 8, 2], [7, 10, 2], [8, 12, 3], [10, 14, 3], [11, 18, 4], [13, 21, 5],
-            [16, 25, 6], [19, 31, 7], [22, 36, 8], [26, 43, 10], [31, 51, 12], [37, 60, 13]
-        ],
-        0x67: [  // LATIN SMALL LETTER G
-            [4, 4, 1], [4, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [8, 10, 3], [10, 13, 4], [12, 15, 5],
-            [14, 18, 6], [16, 22, 7], [19, 25, 8], [23, 31, 10], [27, 37, 12], [32, 42, 13]
-        ],
-        0x68: [  // LATIN SMALL LETTER H
-            [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0], [11, 14, 0], [13, 16, 0],
-            [16, 19, 0], [19, 24, 0], [22, 27, 0], [26, 34, 1], [31, 40, 1], [37, 47, 1]
-        ],
-        0x69: [  // LATIN SMALL LETTER I
-            [3, 5, 0], [3, 6, 0], [3, 6, 0], [4, 8, 0], [5, 10, 0], [5, 11, 0], [6, 14, 0], [7, 16, 0],
-            [9, 18, 0], [10, 23, 0], [12, 26, 0], [14, 32, 1], [17, 38, 1], [20, 44, 1]
-        ],
-        0x6A: [  // LATIN SMALL LETTER J
-            [4, 6, 1], [5, 8, 2], [5, 8, 2], [6, 10, 2], [7, 13, 3], [8, 14, 3], [9, 18, 4], [11, 20, 5],
-            [13, 24, 6], [15, 30, 7], [17, 33, 8], [20, 41, 10], [24, 49, 12], [28, 57, 13]
-        ],
-        0x6B: [  // LATIN SMALL LETTER K
-            [4, 5, 0], [5, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 11, 0], [10, 14, 0], [12, 16, 0],
-            [14, 19, 0], [17, 24, 0], [20, 27, 0], [24, 34, 1], [28, 40, 1], [33, 47, 1]
-        ],
-        0x6C: [  // LATIN SMALL LETTER L
-            [2, 6, 0], [3, 7, 0], [3, 7, 0], [4, 9, 0], [4, 10, 0], [5, 12, 0], [6, 15, 0], [7, 17, 0],
-            [8, 20, 0], [9, 24, 0], [11, 28, 0], [13, 35, 1], [15, 40, 1], [18, 47, 1]
-        ],
-        0x6D: [  // LATIN SMALL LETTER M
-            [6, 3, 0], [8, 4, 0], [9, 4, 0], [10, 5, 0], [12, 6, 0], [15, 7, 0], [17, 9, 0], [20, 10, 0],
-            [24, 12, 0], [28, 15, 0], [34, 17, 0], [40, 22, 1], [48, 26, 1], [56, 30, 1]
-        ],
-        0x6E: [  // LATIN SMALL LETTER N
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
-            [16, 12, 0], [19, 15, 0], [23, 17, 0], [27, 22, 1], [32, 26, 1], [38, 30, 1]
-        ],
-        0x6F: [  // LATIN SMALL LETTER O
-            [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [12, 10, 0],
-            [14, 12, 0], [16, 15, 0], [19, 17, 0], [23, 22, 1], [27, 26, 1], [32, 30, 1]
-        ],
-        0x70: [  // LATIN SMALL LETTER P
-            [5, 4, 1], [6, 6, 2], [6, 6, 2], [7, 7, 2], [8, 9, 3], [10, 10, 3], [11, 13, 4], [13, 15, 5],
-            [16, 18, 6], [19, 22, 7], [22, 25, 8], [26, 31, 10], [31, 37, 12], [36, 43, 14]
-        ],
-        0x71: [  // LATIN SMALL LETTER Q
-            [4, 4, 1], [4, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [8, 10, 3], [9, 13, 4], [11, 15, 5],
-            [13, 18, 6], [16, 22, 7], [18, 24, 7], [22, 31, 10], [26, 37, 12], [31, 42, 13]
-        ],
-        0x72: [  // LATIN SMALL LETTER R
-            [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
-            [12, 12, 0], [15, 15, 0], [17, 17, 0], [20, 22, 1], [24, 26, 1], [29, 30, 1]
-        ],
-        0x73: [  // LATIN SMALL LETTER S
-            [3, 3, 0], [4, 4, 0], [5, 4, 0], [5, 5, 0], [6, 6, 0], [7, 7, 0], [9, 9, 0], [10, 10, 0],
-            [12, 12, 0], [14, 15, 0], [17, 17, 0], [20, 22, 1], [24, 26, 1], [28, 30, 1]
-        ],
-        0x74: [  // LATIN SMALL LETTER T
-            [3, 5, 0], [3, 6, 0], [4, 6, 0], [4, 7, 0], [5, 9, 0], [6, 10, 0], [7, 13, 0], [8, 15, 0],
-            [10, 18, 0], [11, 22, 0], [13, 25, 0], [16, 30, 1], [19, 36, 1], [22, 42, 1]
-        ],
-        0x75: [  // LATIN SMALL LETTER U
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [11, 9, 0], [13, 10, 0],
-            [16, 12, 0], [19, 15, 0], [22, 17, 0], [26, 22, 1], [31, 26, 1], [37, 30, 1]
-        ],
-        0x76: [  // LATIN SMALL LETTER V
-            [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 10, 0],
-            [13, 12, 0], [16, 15, 0], [19, 17, 0], [22, 22, 1], [26, 26, 1], [31, 30, 1]
-        ],
-        0x77: [  // LATIN SMALL LETTER W
-            [5, 3, 0], [6, 4, 0], [7, 4, 0], [9, 5, 0], [10, 6, 0], [12, 7, 0], [14, 9, 0], [16, 10, 0],
-            [20, 12, 0], [23, 15, 0], [27, 17, 0], [32, 22, 1], [39, 26, 1], [46, 30, 1]
-        ],
-        0x78: [  // LATIN SMALL LETTER X
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0],
-            [15, 12, 0], [18, 15, 0], [21, 17, 0], [25, 22, 1], [29, 26, 1], [35, 30, 1]
-        ],
-        0x79: [  // LATIN SMALL LETTER Y
-            [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
-            [14, 18, 6], [17, 22, 7], [20, 25, 8], [23, 31, 10], [28, 37, 12], [33, 42, 13]
-        ],
-        0x7A: [  // LATIN SMALL LETTER Z
-            [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 10, 0],
-            [13, 12, 0], [16, 15, 0], [19, 17, 0], [22, 22, 1], [26, 26, 1], [31, 30, 1]
-        ],
-        0xA0: [  // NO-BREAK SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x393: [  // GREEK CAPITAL LETTER GAMMA
-            [5, 5, 0], [6, 6, 0], [8, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
-            [20, 19, 0], [24, 23, 0], [29, 27, 0], [34, 33, 0], [40, 39, 0], [48, 45, 0]
-        ],
-        0x394: [  // GREEK CAPITAL LETTER DELTA
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
-            [22, 19, 0], [26, 24, 0], [31, 28, 0], [37, 34, 0], [44, 41, 0], [52, 47, 0]
-        ],
-        0x398: [  // GREEK CAPITAL LETTER THETA
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
-            [21, 20, 1], [25, 25, 1], [29, 29, 1], [35, 35, 2], [41, 41, 1], [49, 48, 1]
-        ],
-        0x39B: [  // GREEK CAPITAL LETTER LAMDA
-            [5, 5, 0], [6, 7, 0], [7, 7, 0], [8, 8, 0], [10, 10, 0], [12, 12, 0], [14, 15, 0], [16, 16, 0],
-            [19, 20, 0], [23, 24, 0], [27, 28, 0], [32, 34, 1], [38, 41, 1], [45, 47, 0]
-        ],
-        0x39E: [  // GREEK CAPITAL LETTER XI
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [13, 11, 0], [16, 14, 0], [19, 16, 0],
-            [22, 19, 0], [26, 23, 0], [31, 27, 0], [37, 32, 0], [43, 38, 0], [52, 45, 0]
-        ],
-        0x3A0: [  // GREEK CAPITAL LETTER PI
-            [7, 5, 0], [8, 6, 0], [9, 6, 0], [11, 8, 0], [13, 9, 0], [15, 11, 0], [18, 14, 0], [21, 16, 0],
-            [25, 19, 0], [30, 23, 0], [35, 27, 0], [42, 33, 0], [50, 39, 0], [59, 45, 0]
-        ],
-        0x3A3: [  // GREEK CAPITAL LETTER SIGMA
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [12, 9, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
-            [23, 19, 0], [27, 23, 0], [32, 27, 0], [38, 33, 0], [45, 39, 0], [54, 46, 0]
-        ],
-        0x3A5: [  // GREEK CAPITAL LETTER UPSILON
-            [5, 5, 0], [6, 6, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
-            [20, 19, 0], [23, 24, 0], [28, 28, 0], [33, 34, 0], [39, 40, 0], [46, 46, 0]
-        ],
-        0x3A6: [  // GREEK CAPITAL LETTER PHI
-            [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0], [13, 14, 0], [15, 16, 0],
-            [18, 19, 0], [22, 23, 0], [26, 27, 0], [30, 32, -1], [36, 39, 0], [43, 45, -1]
-        ],
-        0x3A8: [  // GREEK CAPITAL LETTER PSI
-            [5, 5, 0], [6, 6, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
-            [20, 19, 0], [23, 23, 0], [28, 27, 0], [33, 32, -1], [39, 39, 0], [46, 45, -1]
-        ],
-        0x3A9: [  // GREEK CAPITAL LETTER OMEGA
-            [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
-            [22, 19, 0], [26, 24, 0], [31, 28, 0], [37, 34, 0], [44, 40, 0], [52, 47, 0]
-        ],
-        0x3B1: [  // GREEK SMALL LETTER ALPHA
-            [5, 3, 0], [5, 4, 0], [6, 4, 0], [8, 5, 0], [9, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
-            [17, 12, 0], [20, 15, 0], [24, 17, 0], [28, 22, 1], [34, 26, 1], [40, 30, 1]
-        ],
-        0x3B2: [  // GREEK SMALL LETTER BETA
-            [4, 6, 1], [5, 8, 2], [6, 8, 2], [7, 10, 2], [8, 12, 3], [10, 14, 3], [12, 18, 4], [14, 21, 5],
-            [16, 25, 6], [19, 31, 7], [23, 36, 8], [27, 43, 10], [32, 52, 12], [38, 59, 13]
-        ],
-        0x3B3: [  // GREEK SMALL LETTER GAMMA
-            [4, 4, 1], [5, 6, 2], [6, 6, 2], [7, 7, 2], [8, 9, 3], [10, 10, 3], [11, 13, 4], [13, 15, 5],
-            [16, 18, 6], [18, 22, 7], [22, 25, 8], [26, 32, 11], [31, 38, 13], [36, 44, 15]
-        ],
-        0x3B4: [  // GREEK SMALL LETTER DELTA
-            [4, 5, 0], [4, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 11, 0], [9, 14, 0], [11, 16, 0],
-            [13, 19, 0], [15, 24, 0], [18, 28, 0], [21, 35, 1], [25, 41, 1], [30, 48, 1]
-        ],
-        0x3B5: [  // GREEK SMALL LETTER EPSILON
-            [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
-            [12, 13, 1], [15, 16, 1], [17, 18, 1], [20, 22, 1], [24, 27, 2], [29, 31, 1]
-        ],
-        0x3B6: [  // GREEK SMALL LETTER ZETA
-            [4, 6, 1], [4, 8, 2], [5, 8, 2], [6, 10, 2], [7, 12, 3], [8, 14, 3], [10, 18, 4], [11, 21, 5],
-            [13, 25, 6], [16, 31, 7], [19, 36, 8], [22, 43, 10], [26, 52, 12], [31, 60, 13]
-        ],
-        0x3B7: [  // GREEK SMALL LETTER ETA
-            [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
-            [14, 18, 6], [17, 22, 7], [20, 25, 8], [24, 32, 11], [28, 38, 13], [33, 44, 15]
-        ],
-        0x3B8: [  // GREEK SMALL LETTER THETA
-            [4, 5, 0], [4, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 11, 0], [9, 14, 0], [11, 16, 0],
-            [13, 19, 0], [16, 24, 0], [19, 28, 0], [22, 34, 1], [26, 41, 1], [31, 47, 1]
-        ],
-        0x3B9: [  // GREEK SMALL LETTER IOTA
-            [3, 3, 0], [3, 4, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 9, 0], [8, 10, 0],
-            [10, 12, 0], [11, 15, 0], [13, 17, 0], [16, 22, 1], [19, 26, 1], [22, 30, 1]
-        ],
-        0x3BA: [  // GREEK SMALL LETTER KAPPA
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [11, 9, 0], [13, 10, 0],
-            [16, 12, 0], [19, 15, 0], [22, 17, 0], [26, 22, 1], [31, 26, 1], [37, 30, 1]
-        ],
-        0x3BB: [  // GREEK SMALL LETTER LAMDA
-            [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0], [11, 14, 0], [13, 16, 0],
-            [16, 19, 0], [19, 24, 0], [22, 27, 0], [26, 34, 1], [31, 40, 1], [37, 47, 1]
-        ],
-        0x3BC: [  // GREEK SMALL LETTER MU
-            [4, 4, 1], [5, 6, 2], [6, 6, 2], [7, 7, 2], [8, 9, 3], [10, 10, 3], [12, 13, 4], [14, 15, 5],
-            [16, 18, 6], [20, 22, 7], [23, 25, 8], [27, 32, 11], [33, 38, 13], [39, 44, 15]
-        ],
-        0x3BD: [  // GREEK SMALL LETTER NU
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0],
-            [15, 12, 0], [18, 15, 0], [21, 17, 0], [25, 22, 1], [30, 25, 0], [35, 29, 0]
-        ],
-        0x3BE: [  // GREEK SMALL LETTER XI
-            [4, 6, 1], [4, 8, 2], [5, 8, 2], [6, 10, 2], [7, 12, 3], [8, 14, 3], [9, 18, 4], [11, 21, 5],
-            [13, 25, 6], [15, 31, 7], [18, 36, 8], [21, 43, 10], [25, 52, 12], [30, 60, 13]
-        ],
-        0x3BF: [  // GREEK SMALL LETTER OMICRON
-            [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [12, 10, 0],
-            [14, 12, 0], [16, 15, 0], [19, 17, 0], [23, 22, 1], [27, 26, 1], [32, 30, 1]
-        ],
-        0x3C0: [  // GREEK SMALL LETTER PI
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
-            [16, 12, 0], [19, 15, 0], [23, 17, 0], [27, 22, 1], [32, 25, 1], [38, 29, 1]
-        ],
-        0x3C1: [  // GREEK SMALL LETTER RHO
-            [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
-            [14, 18, 6], [17, 22, 7], [20, 25, 8], [24, 32, 11], [28, 38, 13], [34, 44, 15]
-        ],
-        0x3C2: [  // GREEK SMALL LETTER FINAL SIGMA
-            [3, 4, 1], [4, 5, 1], [5, 5, 1], [5, 7, 2], [6, 8, 2], [7, 9, 2], [8, 11, 2], [10, 13, 3],
-            [12, 15, 3], [14, 19, 4], [17, 22, 5], [20, 26, 5], [23, 32, 7], [27, 36, 7]
-        ],
-        0x3C3: [  // GREEK SMALL LETTER SIGMA
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
-            [16, 12, 0], [19, 15, 0], [23, 17, 0], [27, 22, 1], [32, 25, 1], [38, 29, 1]
-        ],
-        0x3C4: [  // GREEK SMALL LETTER TAU
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [10, 9, 0], [12, 10, 0],
-            [15, 12, 0], [17, 15, 0], [21, 17, 0], [24, 21, 1], [29, 26, 1], [34, 29, 1]
-        ],
-        0x3C5: [  // GREEK SMALL LETTER UPSILON
-            [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0],
-            [15, 12, 0], [18, 15, 0], [21, 17, 0], [25, 22, 1], [29, 26, 1], [35, 30, 1]
-        ],
-        0x3C6: [  // GREEK SMALL LETTER PHI
-            [5, 4, 1], [6, 6, 2], [7, 6, 2], [8, 7, 2], [9, 9, 3], [11, 10, 3], [13, 13, 4], [15, 15, 5],
-            [18, 18, 6], [21, 22, 7], [25, 25, 8], [29, 32, 11], [35, 38, 13], [41, 44, 15]
-        ],
-        0x3C7: [  // GREEK SMALL LETTER CHI
-            [5, 4, 1], [5, 6, 2], [6, 6, 2], [8, 7, 2], [9, 9, 3], [10, 10, 3], [12, 13, 4], [14, 15, 5],
-            [17, 18, 6], [20, 22, 7], [24, 25, 8], [28, 31, 10], [34, 37, 12], [40, 42, 13]
-        ],
-        0x3C8: [  // GREEK SMALL LETTER PSI
-            [5, 6, 1], [6, 8, 2], [7, 8, 2], [8, 10, 2], [9, 12, 3], [11, 14, 3], [13, 18, 4], [15, 21, 5],
-            [18, 25, 6], [21, 31, 7], [25, 35, 8], [30, 43, 10], [35, 51, 12], [42, 59, 13]
-        ],
-        0x3C9: [  // GREEK SMALL LETTER OMEGA
-            [5, 3, 0], [6, 4, 0], [6, 4, 0], [8, 5, 0], [9, 6, 0], [11, 7, 0], [12, 9, 0], [15, 10, 0],
-            [17, 12, 0], [20, 15, 0], [24, 17, 0], [29, 22, 1], [34, 26, 1], [40, 30, 1]
-        ],
-        0x3D1: [  // GREEK THETA SYMBOL
-            [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0], [11, 14, 0], [14, 16, 0],
-            [16, 19, 0], [19, 24, 0], [23, 28, 0], [27, 34, 1], [32, 41, 1], [38, 47, 1]
-        ],
-        0x3D5: [  // GREEK PHI SYMBOL
-            [4, 6, 1], [5, 8, 2], [6, 8, 2], [7, 10, 2], [8, 12, 3], [10, 14, 3], [12, 18, 4], [14, 21, 5],
-            [16, 25, 6], [20, 31, 7], [23, 35, 8], [27, 43, 10], [32, 51, 12], [39, 59, 13]
-        ],
-        0x3D6: [  // GREEK PI SYMBOL
-            [6, 3, 0], [7, 4, 0], [9, 4, 0], [10, 5, 0], [12, 6, 0], [14, 7, 0], [17, 9, 0], [20, 10, 0],
-            [23, 12, 0], [28, 15, 0], [33, 17, 0], [39, 22, 1], [46, 25, 1], [55, 29, 1]
-        ],
-        0x3F1: [  // GREEK RHO SYMBOL
-            [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [8, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
-            [15, 18, 6], [17, 22, 7], [20, 25, 8], [24, 31, 10], [29, 37, 12], [34, 42, 13]
-        ],
-        0x3F5: [  // GREEK LUNATE EPSILON SYMBOL
-            [3, 3, 0], [4, 4, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 7, 0], [8, 9, 0], [9, 10, 0],
-            [11, 12, 0], [13, 15, 0], [15, 17, 0], [18, 21, 1], [21, 25, 1], [25, 30, 1]
-        ]
-    }
+  "MathJax_Math-italic": {
+    0x20: [  // SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x2F: [  // SOLIDUS
+      [5, 6, 1], [6, 8, 2], [7, 8, 2], [8, 10, 2], [9, 12, 3], [11, 14, 3], [13, 18, 4], [15, 21, 5],
+      [18, 25, 6], [21, 31, 7], [25, 36, 8], [30, 45, 10], [36, 53, 12], [42, 61, 14]
+    ],
+    0x41: [  // LATIN CAPITAL LETTER A
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [17, 16, 0],
+      [21, 19, 0], [24, 24, 0], [29, 28, 0], [34, 34, 1], [41, 41, 1], [48, 47, 1]
+    ],
+    0x42: [  // LATIN CAPITAL LETTER B
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 19, 0], [25, 23, 0], [30, 27, 0], [36, 33, 0], [42, 39, 0], [50, 45, 0]
+    ],
+    0x43: [  // LATIN CAPITAL LETTER C
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 20, 1], [25, 25, 1], [30, 29, 1], [36, 35, 1], [42, 41, 1], [50, 48, 1]
+    ],
+    0x44: [  // LATIN CAPITAL LETTER D
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [12, 10, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
+      [23, 19, 0], [27, 23, 0], [32, 27, 0], [38, 33, 0], [45, 39, 0], [53, 45, 0]
+    ],
+    0x45: [  // LATIN CAPITAL LETTER E
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [22, 19, 0], [26, 23, 0], [30, 27, 0], [36, 33, 0], [43, 39, 0], [51, 46, 0]
+    ],
+    0x46: [  // LATIN CAPITAL LETTER F
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 19, 0], [25, 23, 0], [30, 27, 0], [35, 33, 0], [42, 39, 0], [50, 45, -1]
+    ],
+    0x47: [  // LATIN CAPITAL LETTER G
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 20, 1], [25, 25, 1], [30, 29, 1], [36, 35, 1], [42, 41, 1], [50, 48, 1]
+    ],
+    0x48: [  // LATIN CAPITAL LETTER H
+      [7, 5, 0], [8, 7, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0], [15, 12, 0], [18, 15, 0], [21, 17, 0],
+      [25, 20, 0], [30, 24, 0], [35, 28, 0], [42, 34, 0], [50, 40, 0], [59, 46, 0]
+    ],
+    0x49: [  // LATIN CAPITAL LETTER I
+      [4, 5, 0], [5, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 11, 0], [10, 14, 0], [12, 16, 0],
+      [14, 19, 0], [17, 23, 0], [20, 27, 0], [24, 33, 0], [28, 39, 0], [34, 45, 0]
+    ],
+    0x4A: [  // LATIN CAPITAL LETTER J
+      [5, 5, 0], [6, 7, 0], [7, 6, 0], [8, 9, 0], [9, 10, 0], [11, 12, 0], [13, 15, 0], [15, 17, 0],
+      [18, 21, 1], [21, 25, 1], [25, 29, 1], [30, 35, 1], [35, 41, 1], [42, 47, 1]
+    ],
+    0x4B: [  // LATIN CAPITAL LETTER K
+      [7, 5, 0], [8, 6, 0], [9, 6, 0], [11, 8, 0], [13, 10, 0], [15, 11, 0], [18, 14, 0], [21, 16, 0],
+      [25, 19, 0], [30, 23, 0], [35, 27, 0], [42, 33, 0], [50, 39, 0], [59, 45, 0]
+    ],
+    0x4C: [  // LATIN CAPITAL LETTER L
+      [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0], [13, 14, 0], [15, 16, 0],
+      [18, 19, 0], [22, 23, 0], [26, 27, 0], [30, 33, 0], [36, 39, 0], [43, 45, -1]
+    ],
+    0x4D: [  // LATIN CAPITAL LETTER M
+      [8, 5, 0], [9, 6, 0], [11, 6, 0], [13, 8, 0], [15, 10, 0], [18, 11, 0], [21, 14, 0], [25, 16, 0],
+      [29, 19, 0], [35, 24, 0], [42, 27, 0], [49, 33, 0], [58, 39, 0], [70, 45, -1]
+    ],
+    0x4E: [  // LATIN CAPITAL LETTER N
+      [7, 5, 0], [8, 7, 0], [9, 6, 0], [11, 9, 0], [13, 10, 0], [15, 12, 0], [18, 15, 0], [21, 17, 0],
+      [25, 20, 0], [30, 24, 0], [35, 28, 0], [42, 34, 0], [50, 39, 0], [59, 46, 0]
+    ],
+    0x4F: [  // LATIN CAPITAL LETTER O
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 20, 1], [25, 25, 1], [29, 29, 1], [35, 35, 2], [41, 41, 1], [49, 48, 1]
+    ],
+    0x50: [  // LATIN CAPITAL LETTER P
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 19, 0], [25, 23, 0], [30, 27, 0], [35, 33, 0], [42, 39, 0], [50, 45, 0]
+    ],
+    0x51: [  // LATIN CAPITAL LETTER Q
+      [6, 6, 1], [7, 8, 2], [8, 8, 2], [9, 10, 2], [11, 12, 3], [13, 14, 3], [15, 18, 4], [18, 21, 5],
+      [21, 25, 6], [25, 31, 7], [29, 36, 8], [35, 44, 10], [41, 51, 11], [49, 59, 13]
+    ],
+    0x52: [  // LATIN CAPITAL LETTER R
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 20, 1], [25, 24, 1], [30, 28, 1], [35, 34, 1], [42, 40, 1], [50, 46, 1]
+    ],
+    0x53: [  // LATIN CAPITAL LETTER S
+      [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0], [13, 14, 0], [15, 16, 0],
+      [18, 20, 1], [22, 25, 1], [26, 29, 1], [31, 35, 2], [36, 41, 1], [43, 48, 2]
+    ],
+    0x54: [  // LATIN CAPITAL LETTER T
+      [5, 5, 0], [6, 6, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
+      [20, 19, 0], [24, 23, 0], [28, 26, 0], [33, 32, 0], [40, 38, 0], [47, 44, 0]
+    ],
+    0x55: [  // LATIN CAPITAL LETTER U
+      [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 10, 0], [13, 12, 0], [15, 15, 0], [18, 17, 0],
+      [22, 21, 1], [26, 25, 1], [31, 29, 1], [36, 35, 1], [43, 41, 1], [51, 48, 1]
+    ],
+    0x56: [  // LATIN CAPITAL LETTER V
+      [6, 6, 1], [7, 7, 1], [8, 7, 1], [10, 9, 1], [11, 10, 1], [13, 12, 1], [15, 15, 1], [18, 17, 1],
+      [22, 20, 1], [26, 24, 1], [31, 28, 1], [36, 35, 2], [43, 41, 2], [51, 47, 1]
+    ],
+    0x57: [  // LATIN CAPITAL LETTER W
+      [8, 5, 0], [9, 6, 0], [11, 6, 0], [13, 8, 0], [15, 9, 0], [18, 11, 0], [21, 14, 0], [25, 16, 0],
+      [29, 20, 1], [35, 24, 1], [41, 28, 1], [49, 34, 1], [58, 41, 2], [69, 48, 2]
+    ],
+    0x58: [  // LATIN CAPITAL LETTER X
+      [6, 5, 0], [8, 7, 1], [9, 7, 1], [10, 9, 1], [12, 10, 1], [15, 12, 1], [17, 15, 1], [20, 17, 1],
+      [24, 20, 1], [28, 24, 1], [34, 28, 1], [40, 34, 1], [48, 40, 1], [56, 46, 1]
+    ],
+    0x59: [  // LATIN CAPITAL LETTER Y
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [22, 19, 0], [26, 23, 0], [30, 27, 0], [36, 33, 0], [43, 39, 0], [51, 45, -1]
+    ],
+    0x5A: [  // LATIN CAPITAL LETTER Z
+      [5, 5, 0], [6, 6, 0], [8, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [15, 14, 0], [17, 16, 0],
+      [20, 19, 0], [24, 23, 0], [29, 27, 0], [34, 33, 0], [40, 39, 0], [48, 45, 0]
+    ],
+    0x61: [  // LATIN SMALL LETTER A
+      [4, 3, 0], [5, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [9, 7, 0], [10, 9, 0], [12, 10, 0],
+      [14, 12, 0], [17, 15, 0], [20, 17, 0], [24, 22, 1], [28, 26, 1], [34, 30, 1]
+    ],
+    0x62: [  // LATIN SMALL LETTER B
+      [3, 5, 0], [4, 6, 0], [5, 6, 0], [5, 8, 0], [6, 9, 0], [7, 11, 0], [9, 14, 0], [10, 16, 0],
+      [12, 19, 0], [14, 24, 0], [17, 27, 0], [20, 34, 1], [24, 40, 1], [28, 47, 1]
+    ],
+    0x63: [  // LATIN SMALL LETTER C
+      [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
+      [12, 12, 0], [15, 15, 0], [17, 17, 0], [21, 22, 1], [24, 26, 1], [29, 30, 1]
+    ],
+    0x64: [  // LATIN SMALL LETTER D
+      [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 11, 0], [11, 14, 0], [13, 16, 0],
+      [15, 19, 0], [18, 24, 0], [21, 27, 0], [25, 34, 1], [30, 40, 1], [35, 47, 1]
+    ],
+    0x65: [  // LATIN SMALL LETTER E
+      [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
+      [12, 12, 0], [15, 15, 0], [17, 17, 0], [20, 22, 1], [24, 26, 1], [29, 30, 1]
+    ],
+    0x66: [  // LATIN SMALL LETTER F
+      [4, 6, 1], [5, 8, 2], [6, 8, 2], [7, 10, 2], [8, 12, 3], [10, 14, 3], [11, 18, 4], [13, 21, 5],
+      [16, 25, 6], [19, 31, 7], [22, 36, 8], [26, 43, 10], [31, 51, 12], [37, 60, 13]
+    ],
+    0x67: [  // LATIN SMALL LETTER G
+      [4, 4, 1], [4, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [8, 10, 3], [10, 13, 4], [12, 15, 5],
+      [14, 18, 6], [16, 22, 7], [19, 25, 8], [23, 31, 10], [27, 37, 12], [32, 42, 13]
+    ],
+    0x68: [  // LATIN SMALL LETTER H
+      [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0], [11, 14, 0], [13, 16, 0],
+      [16, 19, 0], [19, 24, 0], [22, 27, 0], [26, 34, 1], [31, 40, 1], [37, 47, 1]
+    ],
+    0x69: [  // LATIN SMALL LETTER I
+      [3, 5, 0], [3, 6, 0], [3, 6, 0], [4, 8, 0], [5, 10, 0], [5, 11, 0], [6, 14, 0], [7, 16, 0],
+      [9, 18, 0], [10, 23, 0], [12, 26, 0], [14, 32, 1], [17, 38, 1], [20, 44, 1]
+    ],
+    0x6A: [  // LATIN SMALL LETTER J
+      [4, 6, 1], [5, 8, 2], [5, 8, 2], [6, 10, 2], [7, 13, 3], [8, 14, 3], [9, 18, 4], [11, 20, 5],
+      [13, 24, 6], [15, 30, 7], [17, 33, 8], [20, 41, 10], [24, 49, 12], [28, 57, 13]
+    ],
+    0x6B: [  // LATIN SMALL LETTER K
+      [4, 5, 0], [5, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 11, 0], [10, 14, 0], [12, 16, 0],
+      [14, 19, 0], [17, 24, 0], [20, 27, 0], [24, 34, 1], [28, 40, 1], [33, 47, 1]
+    ],
+    0x6C: [  // LATIN SMALL LETTER L
+      [2, 6, 0], [3, 7, 0], [3, 7, 0], [4, 9, 0], [4, 10, 0], [5, 12, 0], [6, 15, 0], [7, 17, 0],
+      [8, 20, 0], [9, 24, 0], [11, 28, 0], [13, 35, 1], [15, 40, 1], [18, 47, 1]
+    ],
+    0x6D: [  // LATIN SMALL LETTER M
+      [6, 3, 0], [8, 4, 0], [9, 4, 0], [10, 5, 0], [12, 6, 0], [15, 7, 0], [17, 9, 0], [20, 10, 0],
+      [24, 12, 0], [28, 15, 0], [34, 17, 0], [40, 22, 1], [48, 26, 1], [56, 30, 1]
+    ],
+    0x6E: [  // LATIN SMALL LETTER N
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
+      [16, 12, 0], [19, 15, 0], [23, 17, 0], [27, 22, 1], [32, 26, 1], [38, 30, 1]
+    ],
+    0x6F: [  // LATIN SMALL LETTER O
+      [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [12, 10, 0],
+      [14, 12, 0], [16, 15, 0], [19, 17, 0], [23, 22, 1], [27, 26, 1], [32, 30, 1]
+    ],
+    0x70: [  // LATIN SMALL LETTER P
+      [5, 4, 1], [6, 6, 2], [6, 6, 2], [7, 7, 2], [8, 9, 3], [10, 10, 3], [11, 13, 4], [13, 15, 5],
+      [16, 18, 6], [19, 22, 7], [22, 25, 8], [26, 31, 10], [31, 37, 12], [36, 43, 14]
+    ],
+    0x71: [  // LATIN SMALL LETTER Q
+      [4, 4, 1], [4, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [8, 10, 3], [9, 13, 4], [11, 15, 5],
+      [13, 18, 6], [16, 22, 7], [18, 24, 7], [22, 31, 10], [26, 37, 12], [31, 42, 13]
+    ],
+    0x72: [  // LATIN SMALL LETTER R
+      [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
+      [12, 12, 0], [15, 15, 0], [17, 17, 0], [20, 22, 1], [24, 26, 1], [29, 30, 1]
+    ],
+    0x73: [  // LATIN SMALL LETTER S
+      [3, 3, 0], [4, 4, 0], [5, 4, 0], [5, 5, 0], [6, 6, 0], [7, 7, 0], [9, 9, 0], [10, 10, 0],
+      [12, 12, 0], [14, 15, 0], [17, 17, 0], [20, 22, 1], [24, 26, 1], [28, 30, 1]
+    ],
+    0x74: [  // LATIN SMALL LETTER T
+      [3, 5, 0], [3, 6, 0], [4, 6, 0], [4, 7, 0], [5, 9, 0], [6, 10, 0], [7, 13, 0], [8, 15, 0],
+      [10, 18, 0], [11, 22, 0], [13, 25, 0], [16, 30, 1], [19, 36, 1], [22, 42, 1]
+    ],
+    0x75: [  // LATIN SMALL LETTER U
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [11, 9, 0], [13, 10, 0],
+      [16, 12, 0], [19, 15, 0], [22, 17, 0], [26, 22, 1], [31, 26, 1], [37, 30, 1]
+    ],
+    0x76: [  // LATIN SMALL LETTER V
+      [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 10, 0],
+      [13, 12, 0], [16, 15, 0], [19, 17, 0], [22, 22, 1], [26, 26, 1], [31, 30, 1]
+    ],
+    0x77: [  // LATIN SMALL LETTER W
+      [5, 3, 0], [6, 4, 0], [7, 4, 0], [9, 5, 0], [10, 6, 0], [12, 7, 0], [14, 9, 0], [16, 10, 0],
+      [20, 12, 0], [23, 15, 0], [27, 17, 0], [32, 22, 1], [39, 26, 1], [46, 30, 1]
+    ],
+    0x78: [  // LATIN SMALL LETTER X
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0],
+      [15, 12, 0], [18, 15, 0], [21, 17, 0], [25, 22, 1], [29, 26, 1], [35, 30, 1]
+    ],
+    0x79: [  // LATIN SMALL LETTER Y
+      [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
+      [14, 18, 6], [17, 22, 7], [20, 25, 8], [23, 31, 10], [28, 37, 12], [33, 42, 13]
+    ],
+    0x7A: [  // LATIN SMALL LETTER Z
+      [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 10, 0],
+      [13, 12, 0], [16, 15, 0], [19, 17, 0], [22, 22, 1], [26, 26, 1], [31, 30, 1]
+    ],
+    0xA0: [  // NO-BREAK SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x393: [  // GREEK CAPITAL LETTER GAMMA
+      [5, 5, 0], [6, 6, 0], [8, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
+      [20, 19, 0], [24, 23, 0], [29, 27, 0], [34, 33, 0], [40, 39, 0], [48, 45, 0]
+    ],
+    0x394: [  // GREEK CAPITAL LETTER DELTA
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
+      [22, 19, 0], [26, 24, 0], [31, 28, 0], [37, 34, 0], [44, 41, 0], [52, 47, 0]
+    ],
+    0x398: [  // GREEK CAPITAL LETTER THETA
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [13, 11, 0], [15, 14, 0], [18, 16, 0],
+      [21, 20, 1], [25, 25, 1], [29, 29, 1], [35, 35, 2], [41, 41, 1], [49, 48, 1]
+    ],
+    0x39B: [  // GREEK CAPITAL LETTER LAMDA
+      [5, 5, 0], [6, 7, 0], [7, 7, 0], [8, 8, 0], [10, 10, 0], [12, 12, 0], [14, 15, 0], [16, 16, 0],
+      [19, 20, 0], [23, 24, 0], [27, 28, 0], [32, 34, 1], [38, 41, 1], [45, 47, 0]
+    ],
+    0x39E: [  // GREEK CAPITAL LETTER XI
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [13, 11, 0], [16, 14, 0], [19, 16, 0],
+      [22, 19, 0], [26, 23, 0], [31, 27, 0], [37, 32, 0], [43, 38, 0], [52, 45, 0]
+    ],
+    0x3A0: [  // GREEK CAPITAL LETTER PI
+      [7, 5, 0], [8, 6, 0], [9, 6, 0], [11, 8, 0], [13, 9, 0], [15, 11, 0], [18, 14, 0], [21, 16, 0],
+      [25, 19, 0], [30, 23, 0], [35, 27, 0], [42, 33, 0], [50, 39, 0], [59, 45, 0]
+    ],
+    0x3A3: [  // GREEK CAPITAL LETTER SIGMA
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [12, 9, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
+      [23, 19, 0], [27, 23, 0], [32, 27, 0], [38, 33, 0], [45, 39, 0], [54, 46, 0]
+    ],
+    0x3A5: [  // GREEK CAPITAL LETTER UPSILON
+      [5, 5, 0], [6, 6, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
+      [20, 19, 0], [23, 24, 0], [28, 28, 0], [33, 34, 0], [39, 40, 0], [46, 46, 0]
+    ],
+    0x3A6: [  // GREEK CAPITAL LETTER PHI
+      [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0], [13, 14, 0], [15, 16, 0],
+      [18, 19, 0], [22, 23, 0], [26, 27, 0], [30, 32, -1], [36, 39, 0], [43, 45, -1]
+    ],
+    0x3A8: [  // GREEK CAPITAL LETTER PSI
+      [5, 5, 0], [6, 6, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 11, 0], [14, 14, 0], [17, 16, 0],
+      [20, 19, 0], [23, 23, 0], [28, 27, 0], [33, 32, -1], [39, 39, 0], [46, 45, -1]
+    ],
+    0x3A9: [  // GREEK CAPITAL LETTER OMEGA
+      [6, 5, 0], [7, 6, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [14, 11, 0], [16, 14, 0], [19, 16, 0],
+      [22, 19, 0], [26, 24, 0], [31, 28, 0], [37, 34, 0], [44, 40, 0], [52, 47, 0]
+    ],
+    0x3B1: [  // GREEK SMALL LETTER ALPHA
+      [5, 3, 0], [5, 4, 0], [6, 4, 0], [8, 5, 0], [9, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
+      [17, 12, 0], [20, 15, 0], [24, 17, 0], [28, 22, 1], [34, 26, 1], [40, 30, 1]
+    ],
+    0x3B2: [  // GREEK SMALL LETTER BETA
+      [4, 6, 1], [5, 8, 2], [6, 8, 2], [7, 10, 2], [8, 12, 3], [10, 14, 3], [12, 18, 4], [14, 21, 5],
+      [16, 25, 6], [19, 31, 7], [23, 36, 8], [27, 43, 10], [32, 52, 12], [38, 59, 13]
+    ],
+    0x3B3: [  // GREEK SMALL LETTER GAMMA
+      [4, 4, 1], [5, 6, 2], [6, 6, 2], [7, 7, 2], [8, 9, 3], [10, 10, 3], [11, 13, 4], [13, 15, 5],
+      [16, 18, 6], [18, 22, 7], [22, 25, 8], [26, 32, 11], [31, 38, 13], [36, 44, 15]
+    ],
+    0x3B4: [  // GREEK SMALL LETTER DELTA
+      [4, 5, 0], [4, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 11, 0], [9, 14, 0], [11, 16, 0],
+      [13, 19, 0], [15, 24, 0], [18, 28, 0], [21, 35, 1], [25, 41, 1], [30, 48, 1]
+    ],
+    0x3B5: [  // GREEK SMALL LETTER EPSILON
+      [3, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [6, 6, 0], [8, 7, 0], [9, 9, 0], [10, 10, 0],
+      [12, 13, 1], [15, 16, 1], [17, 18, 1], [20, 22, 1], [24, 27, 2], [29, 31, 1]
+    ],
+    0x3B6: [  // GREEK SMALL LETTER ZETA
+      [4, 6, 1], [4, 8, 2], [5, 8, 2], [6, 10, 2], [7, 12, 3], [8, 14, 3], [10, 18, 4], [11, 21, 5],
+      [13, 25, 6], [16, 31, 7], [19, 36, 8], [22, 43, 10], [26, 52, 12], [31, 60, 13]
+    ],
+    0x3B7: [  // GREEK SMALL LETTER ETA
+      [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
+      [14, 18, 6], [17, 22, 7], [20, 25, 8], [24, 32, 11], [28, 38, 13], [33, 44, 15]
+    ],
+    0x3B8: [  // GREEK SMALL LETTER THETA
+      [4, 5, 0], [4, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 11, 0], [9, 14, 0], [11, 16, 0],
+      [13, 19, 0], [16, 24, 0], [19, 28, 0], [22, 34, 1], [26, 41, 1], [31, 47, 1]
+    ],
+    0x3B9: [  // GREEK SMALL LETTER IOTA
+      [3, 3, 0], [3, 4, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 7, 0], [7, 9, 0], [8, 10, 0],
+      [10, 12, 0], [11, 15, 0], [13, 17, 0], [16, 22, 1], [19, 26, 1], [22, 30, 1]
+    ],
+    0x3BA: [  // GREEK SMALL LETTER KAPPA
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [11, 9, 0], [13, 10, 0],
+      [16, 12, 0], [19, 15, 0], [22, 17, 0], [26, 22, 1], [31, 26, 1], [37, 30, 1]
+    ],
+    0x3BB: [  // GREEK SMALL LETTER LAMDA
+      [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0], [11, 14, 0], [13, 16, 0],
+      [16, 19, 0], [19, 24, 0], [22, 27, 0], [26, 34, 1], [31, 40, 1], [37, 47, 1]
+    ],
+    0x3BC: [  // GREEK SMALL LETTER MU
+      [4, 4, 1], [5, 6, 2], [6, 6, 2], [7, 7, 2], [8, 9, 3], [10, 10, 3], [12, 13, 4], [14, 15, 5],
+      [16, 18, 6], [20, 22, 7], [23, 25, 8], [27, 32, 11], [33, 38, 13], [39, 44, 15]
+    ],
+    0x3BD: [  // GREEK SMALL LETTER NU
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0],
+      [15, 12, 0], [18, 15, 0], [21, 17, 0], [25, 22, 1], [30, 25, 0], [35, 29, 0]
+    ],
+    0x3BE: [  // GREEK SMALL LETTER XI
+      [4, 6, 1], [4, 8, 2], [5, 8, 2], [6, 10, 2], [7, 12, 3], [8, 14, 3], [9, 18, 4], [11, 21, 5],
+      [13, 25, 6], [15, 31, 7], [18, 36, 8], [21, 43, 10], [25, 52, 12], [30, 60, 13]
+    ],
+    0x3BF: [  // GREEK SMALL LETTER OMICRON
+      [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [12, 10, 0],
+      [14, 12, 0], [16, 15, 0], [19, 17, 0], [23, 22, 1], [27, 26, 1], [32, 30, 1]
+    ],
+    0x3C0: [  // GREEK SMALL LETTER PI
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
+      [16, 12, 0], [19, 15, 0], [23, 17, 0], [27, 22, 1], [32, 25, 1], [38, 29, 1]
+    ],
+    0x3C1: [  // GREEK SMALL LETTER RHO
+      [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [7, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
+      [14, 18, 6], [17, 22, 7], [20, 25, 8], [24, 32, 11], [28, 38, 13], [34, 44, 15]
+    ],
+    0x3C2: [  // GREEK SMALL LETTER FINAL SIGMA
+      [3, 4, 1], [4, 5, 1], [5, 5, 1], [5, 7, 2], [6, 8, 2], [7, 9, 2], [8, 11, 2], [10, 13, 3],
+      [12, 15, 3], [14, 19, 4], [17, 22, 5], [20, 26, 5], [23, 32, 7], [27, 36, 7]
+    ],
+    0x3C3: [  // GREEK SMALL LETTER SIGMA
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 7, 0], [12, 9, 0], [14, 10, 0],
+      [16, 12, 0], [19, 15, 0], [23, 17, 0], [27, 22, 1], [32, 25, 1], [38, 29, 1]
+    ],
+    0x3C4: [  // GREEK SMALL LETTER TAU
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [10, 9, 0], [12, 10, 0],
+      [15, 12, 0], [17, 15, 0], [21, 17, 0], [24, 21, 1], [29, 26, 1], [34, 29, 1]
+    ],
+    0x3C5: [  // GREEK SMALL LETTER UPSILON
+      [4, 3, 0], [5, 4, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [9, 7, 0], [11, 9, 0], [13, 10, 0],
+      [15, 12, 0], [18, 15, 0], [21, 17, 0], [25, 22, 1], [29, 26, 1], [35, 30, 1]
+    ],
+    0x3C6: [  // GREEK SMALL LETTER PHI
+      [5, 4, 1], [6, 6, 2], [7, 6, 2], [8, 7, 2], [9, 9, 3], [11, 10, 3], [13, 13, 4], [15, 15, 5],
+      [18, 18, 6], [21, 22, 7], [25, 25, 8], [29, 32, 11], [35, 38, 13], [41, 44, 15]
+    ],
+    0x3C7: [  // GREEK SMALL LETTER CHI
+      [5, 4, 1], [5, 6, 2], [6, 6, 2], [8, 7, 2], [9, 9, 3], [10, 10, 3], [12, 13, 4], [14, 15, 5],
+      [17, 18, 6], [20, 22, 7], [24, 25, 8], [28, 31, 10], [34, 37, 12], [40, 42, 13]
+    ],
+    0x3C8: [  // GREEK SMALL LETTER PSI
+      [5, 6, 1], [6, 8, 2], [7, 8, 2], [8, 10, 2], [9, 12, 3], [11, 14, 3], [13, 18, 4], [15, 21, 5],
+      [18, 25, 6], [21, 31, 7], [25, 35, 8], [30, 43, 10], [35, 51, 12], [42, 59, 13]
+    ],
+    0x3C9: [  // GREEK SMALL LETTER OMEGA
+      [5, 3, 0], [6, 4, 0], [6, 4, 0], [8, 5, 0], [9, 6, 0], [11, 7, 0], [12, 9, 0], [15, 10, 0],
+      [17, 12, 0], [20, 15, 0], [24, 17, 0], [29, 22, 1], [34, 26, 1], [40, 30, 1]
+    ],
+    0x3D1: [  // GREEK THETA SYMBOL
+      [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0], [11, 14, 0], [14, 16, 0],
+      [16, 19, 0], [19, 24, 0], [23, 28, 0], [27, 34, 1], [32, 41, 1], [38, 47, 1]
+    ],
+    0x3D5: [  // GREEK PHI SYMBOL
+      [4, 6, 1], [5, 8, 2], [6, 8, 2], [7, 10, 2], [8, 12, 3], [10, 14, 3], [12, 18, 4], [14, 21, 5],
+      [16, 25, 6], [20, 31, 7], [23, 35, 8], [27, 43, 10], [32, 51, 12], [39, 59, 13]
+    ],
+    0x3D6: [  // GREEK PI SYMBOL
+      [6, 3, 0], [7, 4, 0], [9, 4, 0], [10, 5, 0], [12, 6, 0], [14, 7, 0], [17, 9, 0], [20, 10, 0],
+      [23, 12, 0], [28, 15, 0], [33, 17, 0], [39, 22, 1], [46, 25, 1], [55, 29, 1]
+    ],
+    0x3F1: [  // GREEK RHO SYMBOL
+      [4, 4, 1], [5, 6, 2], [5, 6, 2], [6, 7, 2], [8, 9, 3], [9, 10, 3], [10, 13, 4], [12, 15, 5],
+      [15, 18, 6], [17, 22, 7], [20, 25, 8], [24, 31, 10], [29, 37, 12], [34, 42, 13]
+    ],
+    0x3F5: [  // GREEK LUNATE EPSILON SYMBOL
+      [3, 3, 0], [4, 4, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 7, 0], [8, 9, 0], [9, 10, 0],
+      [11, 12, 0], [13, 15, 0], [15, 17, 0], [18, 21, 1], [21, 25, 1], [25, 30, 1]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Math/Italic" +

+ 126 - 126
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/SansSerif/Italic/unpacked/Other.js

@@ -25,132 +25,132 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_SansSerif-italic": {
-        0xA0: [  // NO-BREAK SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x131: [  // LATIN SMALL LETTER DOTLESS I
-            [2, 3, 0], [3, 4, 0], [3, 5, 0], [4, 6, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [6, 11, 0],
-            [8, 13, 0], [9, 15, 0], [11, 18, 0], [12, 21, 0], [15, 25, 0], [17, 29, 0]
-        ],
-        0x237: [  // LATIN SMALL LETTER DOTLESS J
-            [3, 4, 1], [4, 6, 2], [4, 7, 2], [6, 9, 3], [6, 9, 3], [7, 11, 3], [8, 13, 4], [10, 16, 5],
-            [11, 19, 6], [14, 21, 6], [16, 26, 8], [19, 30, 9], [22, 37, 12], [26, 43, 14]
-        ],
-        0x300: [  // COMBINING GRAVE ACCENT
-            [2, 1, -4], [3, 2, -4], [3, 2, -6], [3, 2, -7], [3, 2, -7], [4, 3, -9], [5, 4, -10], [5, 4, -13],
-            [6, 5, -15], [7, 6, -17], [8, 7, -21], [9, 8, -24], [11, 10, -30], [13, 11, -34]
-        ],
-        0x301: [  // COMBINING ACUTE ACCENT
-            [3, 1, -4], [3, 2, -4], [3, 2, -6], [4, 2, -7], [4, 2, -7], [6, 3, -9], [6, 4, -10], [7, 4, -13],
-            [8, 5, -15], [10, 6, -17], [11, 7, -21], [12, 8, -24], [15, 10, -30], [18, 11, -34]
-        ],
-        0x302: [  // COMBINING CIRCUMFLEX ACCENT
-            [4, 1, -4], [4, 2, -4], [5, 2, -6], [5, 2, -7], [6, 2, -7], [7, 3, -9], [8, 4, -10], [9, 4, -13],
-            [10, 5, -15], [13, 6, -17], [15, 7, -21], [17, 8, -24], [20, 10, -30], [24, 11, -34]
-        ],
-        0x303: [  // COMBINING TILDE
-            [4, 1, -3], [4, 1, -5], [4, 2, -5], [5, 3, -6], [6, 2, -7], [6, 3, -9], [8, 3, -10], [9, 3, -13],
-            [11, 4, -15], [12, 5, -17], [15, 6, -21], [17, 6, -25], [21, 8, -31], [24, 9, -35]
-        ],
-        0x304: [  // COMBINING MACRON
-            [4, 1, -3], [4, 1, -5], [5, 1, -6], [5, 2, -6], [6, 2, -6], [8, 3, -9], [9, 2, -11], [10, 2, -13],
-            [11, 3, -16], [14, 3, -18], [16, 4, -22], [18, 4, -25], [22, 5, -31], [26, 6, -36]
-        ],
-        0x306: [  // COMBINING BREVE
-            [3, 1, -4], [4, 2, -4], [4, 2, -6], [5, 3, -6], [6, 3, -6], [7, 4, -8], [8, 4, -10], [9, 4, -13],
-            [11, 6, -14], [13, 6, -17], [15, 8, -20], [18, 9, -23], [21, 11, -29], [24, 12, -33]
-        ],
-        0x307: [  // COMBINING DOT ABOVE
-            [2, 1, -3], [2, 1, -5], [2, 2, -5], [3, 2, -7], [3, 2, -7], [3, 2, -10], [3, 3, -10], [4, 3, -13],
-            [4, 3, -16], [5, 4, -18], [6, 5, -22], [7, 5, -26], [8, 6, -33], [9, 7, -38]
-        ],
-        0x308: [  // COMBINING DIAERESIS
-            [3, 1, -3], [4, 1, -5], [4, 2, -5], [5, 2, -7], [5, 2, -7], [6, 2, -10], [7, 2, -11], [8, 3, -13],
-            [10, 3, -16], [11, 4, -18], [13, 4, -23], [15, 5, -26], [19, 6, -33], [21, 7, -38]
-        ],
-        0x30A: [  // COMBINING RING ABOVE
-            [2, 1, -3], [2, 2, -4], [3, 2, -5], [3, 2, -7], [4, 2, -7], [4, 3, -9], [5, 3, -10], [6, 5, -11],
-            [7, 5, -14], [8, 6, -16], [9, 7, -21], [11, 8, -24], [13, 10, -30], [15, 11, -34]
-        ],
-        0x30B: [  // COMBINING DOUBLE ACUTE ACCENT
-            [3, 2, -2], [4, 2, -4], [4, 2, -5], [5, 3, -6], [5, 3, -6], [7, 3, -9], [8, 4, -9], [9, 5, -11],
-            [10, 5, -14], [13, 6, -16], [15, 8, -20], [17, 9, -23], [20, 10, -30], [24, 11, -34]
-        ],
-        0x30C: [  // COMBINING CARON
-            [3, 1, -3], [4, 2, -4], [4, 2, -5], [5, 2, -6], [5, 2, -6], [6, 3, -9], [8, 4, -10], [9, 4, -12],
-            [10, 5, -14], [12, 6, -16], [15, 7, -19], [17, 8, -22], [20, 10, -28], [23, 11, -32]
-        ],
-        0x393: [  // GREEK CAPITAL LETTER GAMMA
-            [5, 4, 0], [6, 6, 0], [7, 7, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 13, 0], [15, 16, 0],
-            [18, 19, 0], [22, 22, 0], [26, 28, 0], [31, 32, 0], [36, 39, 0], [43, 46, 0]
-        ],
-        0x394: [  // GREEK CAPITAL LETTER DELTA
-            [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 9, 0], [14, 12, 0], [16, 14, 0], [19, 17, 0],
-            [22, 20, 0], [26, 23, 0], [31, 28, 0], [37, 32, 0], [44, 40, 0], [52, 46, 0]
-        ],
-        0x398: [  // GREEK CAPITAL LETTER THETA
-            [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [12, 9, 0], [14, 12, 0], [16, 14, 0], [19, 17, 0],
-            [23, 20, 0], [27, 23, 0], [32, 28, 0], [38, 34, 2], [45, 42, 1], [53, 48, 1]
-        ],
-        0x39B: [  // GREEK CAPITAL LETTER LAMDA
-            [5, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
-            [17, 20, 0], [20, 23, 0], [23, 28, 0], [28, 32, 0], [33, 40, 0], [39, 46, 0]
-        ],
-        0x39E: [  // GREEK CAPITAL LETTER XI
-            [6, 4, 0], [7, 6, 0], [8, 7, 0], [9, 9, 0], [11, 9, 0], [13, 12, 0], [15, 13, 0], [18, 16, 0],
-            [22, 19, 0], [26, 22, 0], [30, 28, 0], [36, 32, 0], [43, 39, 0], [51, 45, 0]
-        ],
-        0x3A0: [  // GREEK CAPITAL LETTER PI
-            [6, 4, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 9, 0], [13, 12, 0], [15, 13, 0], [18, 16, 0],
-            [22, 19, 0], [26, 22, 0], [31, 28, 0], [36, 32, 0], [43, 39, 0], [51, 45, 0]
-        ],
-        0x3A3: [  // GREEK CAPITAL LETTER SIGMA
-            [6, 4, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [12, 9, 0], [14, 12, 0], [16, 13, 0], [19, 16, 0],
-            [23, 19, 0], [27, 22, 0], [32, 28, 0], [38, 32, 0], [45, 39, 0], [54, 46, 0]
-        ],
-        0x3A5: [  // GREEK CAPITAL LETTER UPSILON
-            [6, 5, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 9, 0], [14, 12, 0], [17, 14, 0], [20, 17, 0],
-            [24, 20, 0], [28, 23, 0], [33, 28, 0], [40, 32, 0], [47, 41, 0], [56, 48, 0]
-        ],
-        0x3A6: [  // GREEK CAPITAL LETTER PHI
-            [6, 4, 0], [7, 6, 0], [8, 7, 0], [9, 9, 0], [11, 9, 0], [13, 12, 0], [15, 13, 0], [18, 16, 0],
-            [21, 19, 0], [25, 22, 0], [30, 28, 0], [35, 32, 0], [42, 40, 0], [49, 46, 0]
-        ],
-        0x3A8: [  // GREEK CAPITAL LETTER PSI
-            [6, 5, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [12, 9, 0], [15, 12, 0], [17, 14, 0], [20, 17, 0],
-            [24, 20, 0], [29, 23, 0], [34, 28, 0], [40, 32, 0], [48, 39, 0], [57, 46, 0]
-        ],
-        0x3A9: [  // GREEK CAPITAL LETTER OMEGA
-            [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 9, 0], [13, 12, 0], [15, 14, 0], [18, 17, 0],
-            [22, 20, 0], [26, 23, 0], [31, 28, 0], [36, 33, 0], [43, 41, 0], [51, 47, 0]
-        ],
-        0x2013: [  // EN DASH
-            [4, 1, -1], [5, 1, -2], [6, 1, -2], [7, 1, -3], [8, 1, -3], [10, 3, -3], [12, 2, -5], [14, 2, -6],
-            [16, 3, -7], [19, 3, -8], [23, 3, -9], [27, 4, -11], [32, 5, -13], [38, 5, -15]
-        ],
-        0x2014: [  // EM DASH
-            [8, 1, -1], [9, 1, -2], [11, 1, -2], [13, 1, -3], [15, 1, -3], [18, 3, -3], [21, 2, -5], [25, 2, -6],
-            [30, 3, -7], [36, 3, -8], [42, 3, -9], [50, 4, -11], [59, 5, -13], [71, 5, -15]
-        ],
-        0x2018: [  // LEFT SINGLE QUOTATION MARK
-            [3, 2, -2], [3, 2, -4], [4, 3, -4], [4, 4, -5], [5, 4, -5], [6, 4, -8], [7, 4, -9], [8, 6, -10],
-            [10, 6, -13], [12, 8, -14], [14, 9, -19], [16, 11, -21], [19, 13, -27], [23, 15, -31]
-        ],
-        0x2019: [  // RIGHT SINGLE QUOTATION MARK
-            [3, 2, -2], [3, 2, -4], [4, 3, -4], [4, 3, -6], [5, 3, -6], [6, 4, -8], [7, 5, -8], [8, 6, -10],
-            [10, 7, -12], [12, 8, -14], [14, 10, -18], [16, 11, -21], [19, 13, -27], [23, 15, -31]
-        ],
-        0x201C: [  // LEFT DOUBLE QUOTATION MARK
-            [5, 2, -2], [6, 2, -4], [7, 3, -4], [8, 4, -5], [9, 4, -5], [11, 4, -8], [12, 4, -9], [15, 6, -10],
-            [17, 6, -13], [21, 8, -14], [25, 9, -19], [29, 11, -21], [34, 13, -27], [41, 15, -31]
-        ],
-        0x201D: [  // RIGHT DOUBLE QUOTATION MARK
-            [4, 2, -2], [4, 2, -4], [5, 3, -4], [6, 3, -6], [7, 3, -6], [8, 4, -8], [10, 5, -8], [11, 6, -10],
-            [14, 7, -12], [16, 8, -14], [19, 10, -18], [22, 11, -21], [27, 13, -27], [32, 15, -31]
-        ]
-    }
+  "MathJax_SansSerif-italic": {
+    0xA0: [  // NO-BREAK SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x131: [  // LATIN SMALL LETTER DOTLESS I
+      [2, 3, 0], [3, 4, 0], [3, 5, 0], [4, 6, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [6, 11, 0],
+      [8, 13, 0], [9, 15, 0], [11, 18, 0], [12, 21, 0], [15, 25, 0], [17, 29, 0]
+    ],
+    0x237: [  // LATIN SMALL LETTER DOTLESS J
+      [3, 4, 1], [4, 6, 2], [4, 7, 2], [6, 9, 3], [6, 9, 3], [7, 11, 3], [8, 13, 4], [10, 16, 5],
+      [11, 19, 6], [14, 21, 6], [16, 26, 8], [19, 30, 9], [22, 37, 12], [26, 43, 14]
+    ],
+    0x300: [  // COMBINING GRAVE ACCENT
+      [2, 1, -4], [3, 2, -4], [3, 2, -6], [3, 2, -7], [3, 2, -7], [4, 3, -9], [5, 4, -10], [5, 4, -13],
+      [6, 5, -15], [7, 6, -17], [8, 7, -21], [9, 8, -24], [11, 10, -30], [13, 11, -34]
+    ],
+    0x301: [  // COMBINING ACUTE ACCENT
+      [3, 1, -4], [3, 2, -4], [3, 2, -6], [4, 2, -7], [4, 2, -7], [6, 3, -9], [6, 4, -10], [7, 4, -13],
+      [8, 5, -15], [10, 6, -17], [11, 7, -21], [12, 8, -24], [15, 10, -30], [18, 11, -34]
+    ],
+    0x302: [  // COMBINING CIRCUMFLEX ACCENT
+      [4, 1, -4], [4, 2, -4], [5, 2, -6], [5, 2, -7], [6, 2, -7], [7, 3, -9], [8, 4, -10], [9, 4, -13],
+      [10, 5, -15], [13, 6, -17], [15, 7, -21], [17, 8, -24], [20, 10, -30], [24, 11, -34]
+    ],
+    0x303: [  // COMBINING TILDE
+      [4, 1, -3], [4, 1, -5], [4, 2, -5], [5, 3, -6], [6, 2, -7], [6, 3, -9], [8, 3, -10], [9, 3, -13],
+      [11, 4, -15], [12, 5, -17], [15, 6, -21], [17, 6, -25], [21, 8, -31], [24, 9, -35]
+    ],
+    0x304: [  // COMBINING MACRON
+      [4, 1, -3], [4, 1, -5], [5, 1, -6], [5, 2, -6], [6, 2, -6], [8, 3, -9], [9, 2, -11], [10, 2, -13],
+      [11, 3, -16], [14, 3, -18], [16, 4, -22], [18, 4, -25], [22, 5, -31], [26, 6, -36]
+    ],
+    0x306: [  // COMBINING BREVE
+      [3, 1, -4], [4, 2, -4], [4, 2, -6], [5, 3, -6], [6, 3, -6], [7, 4, -8], [8, 4, -10], [9, 4, -13],
+      [11, 6, -14], [13, 6, -17], [15, 8, -20], [18, 9, -23], [21, 11, -29], [24, 12, -33]
+    ],
+    0x307: [  // COMBINING DOT ABOVE
+      [2, 1, -3], [2, 1, -5], [2, 2, -5], [3, 2, -7], [3, 2, -7], [3, 2, -10], [3, 3, -10], [4, 3, -13],
+      [4, 3, -16], [5, 4, -18], [6, 5, -22], [7, 5, -26], [8, 6, -33], [9, 7, -38]
+    ],
+    0x308: [  // COMBINING DIAERESIS
+      [3, 1, -3], [4, 1, -5], [4, 2, -5], [5, 2, -7], [5, 2, -7], [6, 2, -10], [7, 2, -11], [8, 3, -13],
+      [10, 3, -16], [11, 4, -18], [13, 4, -23], [15, 5, -26], [19, 6, -33], [21, 7, -38]
+    ],
+    0x30A: [  // COMBINING RING ABOVE
+      [2, 1, -3], [2, 2, -4], [3, 2, -5], [3, 2, -7], [4, 2, -7], [4, 3, -9], [5, 3, -10], [6, 5, -11],
+      [7, 5, -14], [8, 6, -16], [9, 7, -21], [11, 8, -24], [13, 10, -30], [15, 11, -34]
+    ],
+    0x30B: [  // COMBINING DOUBLE ACUTE ACCENT
+      [3, 2, -2], [4, 2, -4], [4, 2, -5], [5, 3, -6], [5, 3, -6], [7, 3, -9], [8, 4, -9], [9, 5, -11],
+      [10, 5, -14], [13, 6, -16], [15, 8, -20], [17, 9, -23], [20, 10, -30], [24, 11, -34]
+    ],
+    0x30C: [  // COMBINING CARON
+      [3, 1, -3], [4, 2, -4], [4, 2, -5], [5, 2, -6], [5, 2, -6], [6, 3, -9], [8, 4, -10], [9, 4, -12],
+      [10, 5, -14], [12, 6, -16], [15, 7, -19], [17, 8, -22], [20, 10, -28], [23, 11, -32]
+    ],
+    0x393: [  // GREEK CAPITAL LETTER GAMMA
+      [5, 4, 0], [6, 6, 0], [7, 7, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 13, 0], [15, 16, 0],
+      [18, 19, 0], [22, 22, 0], [26, 28, 0], [31, 32, 0], [36, 39, 0], [43, 46, 0]
+    ],
+    0x394: [  // GREEK CAPITAL LETTER DELTA
+      [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 9, 0], [14, 12, 0], [16, 14, 0], [19, 17, 0],
+      [22, 20, 0], [26, 23, 0], [31, 28, 0], [37, 32, 0], [44, 40, 0], [52, 46, 0]
+    ],
+    0x398: [  // GREEK CAPITAL LETTER THETA
+      [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [12, 9, 0], [14, 12, 0], [16, 14, 0], [19, 17, 0],
+      [23, 20, 0], [27, 23, 0], [32, 28, 0], [38, 34, 2], [45, 42, 1], [53, 48, 1]
+    ],
+    0x39B: [  // GREEK CAPITAL LETTER LAMDA
+      [5, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
+      [17, 20, 0], [20, 23, 0], [23, 28, 0], [28, 32, 0], [33, 40, 0], [39, 46, 0]
+    ],
+    0x39E: [  // GREEK CAPITAL LETTER XI
+      [6, 4, 0], [7, 6, 0], [8, 7, 0], [9, 9, 0], [11, 9, 0], [13, 12, 0], [15, 13, 0], [18, 16, 0],
+      [22, 19, 0], [26, 22, 0], [30, 28, 0], [36, 32, 0], [43, 39, 0], [51, 45, 0]
+    ],
+    0x3A0: [  // GREEK CAPITAL LETTER PI
+      [6, 4, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [11, 9, 0], [13, 12, 0], [15, 13, 0], [18, 16, 0],
+      [22, 19, 0], [26, 22, 0], [31, 28, 0], [36, 32, 0], [43, 39, 0], [51, 45, 0]
+    ],
+    0x3A3: [  // GREEK CAPITAL LETTER SIGMA
+      [6, 4, 0], [7, 6, 0], [8, 7, 0], [10, 9, 0], [12, 9, 0], [14, 12, 0], [16, 13, 0], [19, 16, 0],
+      [23, 19, 0], [27, 22, 0], [32, 28, 0], [38, 32, 0], [45, 39, 0], [54, 46, 0]
+    ],
+    0x3A5: [  // GREEK CAPITAL LETTER UPSILON
+      [6, 5, 0], [7, 6, 0], [9, 8, 0], [10, 9, 0], [12, 9, 0], [14, 12, 0], [17, 14, 0], [20, 17, 0],
+      [24, 20, 0], [28, 23, 0], [33, 28, 0], [40, 32, 0], [47, 41, 0], [56, 48, 0]
+    ],
+    0x3A6: [  // GREEK CAPITAL LETTER PHI
+      [6, 4, 0], [7, 6, 0], [8, 7, 0], [9, 9, 0], [11, 9, 0], [13, 12, 0], [15, 13, 0], [18, 16, 0],
+      [21, 19, 0], [25, 22, 0], [30, 28, 0], [35, 32, 0], [42, 40, 0], [49, 46, 0]
+    ],
+    0x3A8: [  // GREEK CAPITAL LETTER PSI
+      [6, 5, 0], [8, 6, 0], [9, 8, 0], [11, 9, 0], [12, 9, 0], [15, 12, 0], [17, 14, 0], [20, 17, 0],
+      [24, 20, 0], [29, 23, 0], [34, 28, 0], [40, 32, 0], [48, 39, 0], [57, 46, 0]
+    ],
+    0x3A9: [  // GREEK CAPITAL LETTER OMEGA
+      [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 9, 0], [13, 12, 0], [15, 14, 0], [18, 17, 0],
+      [22, 20, 0], [26, 23, 0], [31, 28, 0], [36, 33, 0], [43, 41, 0], [51, 47, 0]
+    ],
+    0x2013: [  // EN DASH
+      [4, 1, -1], [5, 1, -2], [6, 1, -2], [7, 1, -3], [8, 1, -3], [10, 3, -3], [12, 2, -5], [14, 2, -6],
+      [16, 3, -7], [19, 3, -8], [23, 3, -9], [27, 4, -11], [32, 5, -13], [38, 5, -15]
+    ],
+    0x2014: [  // EM DASH
+      [8, 1, -1], [9, 1, -2], [11, 1, -2], [13, 1, -3], [15, 1, -3], [18, 3, -3], [21, 2, -5], [25, 2, -6],
+      [30, 3, -7], [36, 3, -8], [42, 3, -9], [50, 4, -11], [59, 5, -13], [71, 5, -15]
+    ],
+    0x2018: [  // LEFT SINGLE QUOTATION MARK
+      [3, 2, -2], [3, 2, -4], [4, 3, -4], [4, 4, -5], [5, 4, -5], [6, 4, -8], [7, 4, -9], [8, 6, -10],
+      [10, 6, -13], [12, 8, -14], [14, 9, -19], [16, 11, -21], [19, 13, -27], [23, 15, -31]
+    ],
+    0x2019: [  // RIGHT SINGLE QUOTATION MARK
+      [3, 2, -2], [3, 2, -4], [4, 3, -4], [4, 3, -6], [5, 3, -6], [6, 4, -8], [7, 5, -8], [8, 6, -10],
+      [10, 7, -12], [12, 8, -14], [14, 10, -18], [16, 11, -21], [19, 13, -27], [23, 15, -31]
+    ],
+    0x201C: [  // LEFT DOUBLE QUOTATION MARK
+      [5, 2, -2], [6, 2, -4], [7, 3, -4], [8, 4, -5], [9, 4, -5], [11, 4, -8], [12, 4, -9], [15, 6, -10],
+      [17, 6, -13], [21, 8, -14], [25, 9, -19], [29, 11, -21], [34, 13, -27], [41, 15, -31]
+    ],
+    0x201D: [  // RIGHT DOUBLE QUOTATION MARK
+      [4, 2, -2], [4, 2, -4], [5, 3, -4], [6, 3, -6], [7, 3, -6], [8, 4, -8], [10, 5, -8], [11, 6, -10],
+      [14, 7, -12], [16, 8, -14], [19, 10, -18], [22, 11, -21], [27, 13, -27], [32, 15, -31]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/SansSerif/Italic" +

+ 354 - 354
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/SansSerif/Regular/unpacked/BasicLatin.js

@@ -25,360 +25,360 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_SansSerif": {
-        0x20: [  // SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x21: [  // EXCLAMATION MARK
-            [2, 5, 0], [2, 6, 0], [3, 8, 0], [3, 9, 0], [3, 9, 0], [4, 12, 0], [5, 14, 0], [5, 17, 0],
-            [6, 20, 0], [7, 23, 0], [9, 27, 0], [10, 32, 0], [12, 39, 0], [14, 45, 0]
-        ],
-        0x22: [  // QUOTATION MARK
-            [3, 2, -3], [3, 2, -4], [4, 3, -5], [4, 3, -6], [5, 3, -6], [6, 4, -8], [7, 5, -9], [8, 6, -11],
-            [9, 7, -13], [11, 8, -15], [13, 9, -18], [16, 10, -22], [18, 13, -26], [22, 15, -30]
-        ],
-        0x23: [  // NUMBER SIGN
-            [6, 6, 1], [7, 8, 2], [8, 10, 2], [10, 12, 3], [11, 12, 3], [13, 15, 3], [16, 18, 4], [19, 22, 5],
-            [22, 25, 5], [26, 29, 6], [31, 35, 8], [37, 41, 9], [43, 50, 11], [52, 58, 13]
-        ],
-        0x24: [  // DOLLAR SIGN
-            [4, 6, 0], [4, 8, 1], [5, 9, 0], [6, 11, 1], [7, 11, 1], [8, 15, 2], [9, 16, 1], [11, 20, 2],
-            [13, 23, 2], [15, 27, 2], [18, 32, 3], [21, 37, 2], [25, 46, 4], [30, 53, 4]
-        ],
-        0x25: [  // PERCENT SIGN
-            [6, 5, 0], [7, 7, 0], [8, 9, 0], [10, 10, 0], [11, 10, 0], [13, 16, 1], [16, 17, 1], [19, 19, 1],
-            [22, 23, 2], [26, 27, 2], [31, 32, 2], [37, 37, 3], [43, 46, 3], [52, 53, 4]
-        ],
-        0x26: [  // AMPERSAND
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [9, 9, 0], [10, 9, 0], [12, 12, 0], [14, 14, 0], [17, 19, 1],
-            [20, 22, 1], [23, 25, 1], [28, 27, 0], [33, 34, 1], [39, 43, 2], [46, 49, 2]
-        ],
-        0x27: [  // APOSTROPHE
-            [2, 2, -3], [2, 2, -4], [2, 3, -5], [3, 3, -6], [3, 3, -6], [4, 4, -8], [4, 5, -9], [5, 6, -11],
-            [6, 7, -13], [7, 8, -15], [8, 9, -18], [9, 10, -22], [11, 13, -26], [13, 15, -30]
-        ],
-        0x28: [  // LEFT PARENTHESIS
-            [3, 7, 2], [3, 9, 2], [4, 11, 3], [4, 14, 3], [5, 14, 3], [6, 18, 4], [7, 20, 5], [8, 24, 6],
-            [10, 29, 7], [11, 33, 8], [14, 40, 10], [16, 46, 11], [19, 57, 14], [22, 66, 16]
-        ],
-        0x29: [  // RIGHT PARENTHESIS
-            [3, 7, 2], [3, 9, 2], [4, 11, 3], [4, 14, 3], [5, 14, 3], [6, 18, 4], [7, 20, 5], [8, 24, 6],
-            [9, 29, 7], [11, 33, 8], [13, 40, 10], [15, 46, 11], [18, 57, 14], [21, 66, 16]
-        ],
-        0x2A: [  // ASTERISK
-            [4, 3, -2], [4, 4, -3], [5, 5, -3], [6, 6, -4], [7, 6, -4], [8, 8, -5], [9, 9, -6], [11, 11, -7],
-            [13, 13, -9], [15, 15, -10], [18, 18, -12], [21, 21, -14], [25, 26, -17], [29, 30, -20]
-        ],
-        0x2B: [  // PLUS SIGN
-            [5, 5, 1], [6, 6, 1], [8, 8, 1], [9, 9, 1], [10, 9, 1], [12, 12, 1], [14, 14, 2], [17, 16, 2],
-            [20, 19, 2], [24, 22, 3], [28, 27, 3], [34, 31, 4], [40, 38, 5], [48, 44, 5]
-        ],
-        0x2C: [  // COMMA
-            [2, 2, 1], [2, 3, 2], [2, 4, 2], [3, 4, 2], [3, 4, 2], [4, 4, 2], [4, 5, 3], [5, 6, 3],
-            [6, 7, 4], [7, 8, 4], [8, 9, 5], [9, 11, 6], [11, 13, 7], [13, 15, 8]
-        ],
-        0x2D: [  // HYPHEN-MINUS
-            [2, 1, -1], [3, 1, -1], [3, 1, -2], [4, 1, -2], [4, 1, -2], [5, 3, -2], [6, 3, -3], [7, 2, -4],
-            [8, 3, -5], [10, 3, -6], [11, 3, -7], [13, 4, -9], [16, 5, -11], [19, 5, -12]
-        ],
-        0x2E: [  // FULL STOP
-            [2, 1, 0], [2, 1, 0], [2, 2, 0], [3, 2, 0], [3, 2, 0], [4, 2, 0], [4, 2, 0], [5, 3, 0],
-            [6, 3, 0], [7, 4, 0], [8, 4, 0], [9, 5, 0], [11, 6, 0], [13, 7, 0]
-        ],
-        0x2F: [  // SOLIDUS
-            [4, 7, 2], [4, 9, 2], [5, 11, 3], [6, 13, 3], [7, 13, 3], [8, 18, 4], [9, 20, 5], [11, 24, 6],
-            [13, 29, 7], [15, 33, 8], [18, 39, 10], [21, 46, 11], [25, 57, 14], [30, 66, 16]
-        ],
-        0x30: [  // DIGIT ZERO
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
-            [13, 21, 1], [16, 24, 1], [18, 28, 0], [22, 32, 1], [26, 40, 1], [31, 46, 1]
-        ],
-        0x31: [  // DIGIT ONE
-            [3, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [6, 9, 0], [8, 12, 0], [9, 14, 0], [10, 17, 0],
-            [12, 20, 0], [15, 22, 0], [17, 27, 0], [20, 31, 0], [24, 39, 0], [29, 45, 0]
-        ],
-        0x32: [  // DIGIT TWO
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 17, 0],
-            [13, 20, 0], [15, 22, 0], [18, 27, 0], [21, 31, 0], [25, 39, 0], [30, 45, 0]
-        ],
-        0x33: [  // DIGIT THREE
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
-            [13, 21, 1], [16, 24, 1], [18, 27, 0], [22, 32, 1], [26, 40, 1], [31, 46, 1]
-        ],
-        0x34: [  // DIGIT FOUR
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [10, 13, 0], [11, 16, 0],
-            [14, 19, 0], [16, 22, 0], [19, 26, 0], [22, 30, 0], [27, 38, 0], [31, 43, 0]
-        ],
-        0x35: [  // DIGIT FIVE
-            [4, 5, 0], [4, 6, 0], [5, 7, 0], [6, 9, 0], [7, 9, 0], [8, 13, 0], [9, 14, 0], [11, 17, 1],
-            [13, 20, 1], [15, 23, 1], [18, 27, 0], [21, 31, 0], [25, 39, 1], [30, 45, 1]
-        ],
-        0x36: [  // DIGIT SIX
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
-            [13, 20, 1], [16, 24, 1], [18, 27, 0], [22, 32, 2], [26, 40, 1], [31, 46, 1]
-        ],
-        0x37: [  // DIGIT SEVEN
-            [4, 5, 0], [4, 6, 0], [5, 7, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 13, 0], [11, 16, 0],
-            [13, 19, 0], [16, 22, 0], [18, 26, 0], [22, 31, 1], [26, 38, 1], [31, 44, 1]
-        ],
-        0x38: [  // DIGIT EIGHT
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
-            [13, 21, 1], [15, 24, 1], [18, 28, 0], [22, 32, 1], [26, 40, 1], [30, 46, 1]
-        ],
-        0x39: [  // DIGIT NINE
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
-            [13, 20, 1], [16, 24, 1], [18, 27, 0], [22, 32, 1], [26, 40, 1], [31, 46, 1]
-        ],
-        0x3A: [  // COLON
-            [2, 3, 0], [2, 4, 0], [2, 5, 0], [3, 6, 0], [3, 6, 0], [4, 8, 0], [4, 9, 0], [5, 11, 0],
-            [6, 13, 0], [7, 15, 0], [8, 17, 0], [9, 20, 0], [11, 25, 0], [13, 29, 0]
-        ],
-        0x3B: [  // SEMICOLON
-            [2, 4, 1], [2, 6, 2], [2, 7, 2], [3, 8, 2], [3, 8, 2], [4, 10, 2], [4, 12, 3], [5, 14, 3],
-            [6, 17, 4], [7, 19, 4], [8, 22, 5], [9, 26, 6], [11, 32, 7], [13, 37, 8]
-        ],
-        0x3D: [  // EQUALS SIGN
-            [5, 2, 0], [6, 3, -1], [8, 3, -1], [9, 4, -1], [10, 4, -1], [12, 4, -2], [15, 5, -2], [17, 6, -3],
-            [20, 8, -3], [24, 10, -3], [29, 10, -5], [34, 11, -6], [40, 14, -7], [48, 16, -9]
-        ],
-        0x3F: [  // QUESTION MARK
-            [3, 5, 0], [4, 6, 0], [5, 8, 0], [5, 9, 0], [6, 9, 0], [7, 12, 0], [9, 14, 0], [10, 17, 0],
-            [12, 20, 0], [14, 23, 0], [17, 27, 0], [20, 33, 0], [23, 40, 0], [28, 46, 0]
-        ],
-        0x40: [  // COMMERCIAL AT
-            [5, 5, 0], [6, 6, 0], [6, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [12, 14, 0], [15, 17, 0],
-            [17, 20, 0], [21, 23, 0], [24, 27, 0], [29, 33, 0], [34, 41, 1], [41, 47, 1]
-        ],
-        0x41: [  // LATIN CAPITAL LETTER A
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
-            [18, 20, 0], [21, 23, 0], [25, 27, 0], [30, 32, 0], [36, 39, 0], [42, 45, 0]
-        ],
-        0x42: [  // LATIN CAPITAL LETTER B
-            [5, 5, 0], [6, 8, 1], [6, 9, 1], [8, 11, 1], [9, 11, 1], [11, 14, 1], [12, 16, 1], [15, 19, 1],
-            [17, 22, 1], [21, 25, 1], [24, 29, 1], [29, 34, 1], [34, 41, 1], [41, 47, 1]
-        ],
-        0x43: [  // LATIN CAPITAL LETTER C
-            [5, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
-            [17, 20, 0], [20, 23, 0], [23, 27, 0], [28, 33, 0], [33, 41, 1], [39, 47, 1]
-        ],
-        0x44: [  // LATIN CAPITAL LETTER D
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [12, 12, 0], [13, 14, 0], [16, 17, 0],
-            [19, 20, 0], [22, 23, 0], [27, 27, 0], [31, 32, 0], [37, 39, 0], [44, 45, 0]
-        ],
-        0x45: [  // LATIN CAPITAL LETTER E
-            [4, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 9, 0], [10, 12, 0], [11, 14, 0], [13, 17, 0],
-            [16, 20, 0], [19, 23, 0], [22, 27, 0], [26, 32, 0], [31, 39, 0], [37, 45, 0]
-        ],
-        0x46: [  // LATIN CAPITAL LETTER F
-            [4, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 9, 0], [9, 12, 0], [11, 14, 0], [13, 17, 0],
-            [15, 20, 0], [18, 23, 0], [21, 27, 0], [25, 32, 0], [30, 39, 0], [35, 45, 0]
-        ],
-        0x47: [  // LATIN CAPITAL LETTER G
-            [5, 5, 0], [5, 6, 0], [6, 8, 0], [8, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
-            [17, 20, 0], [20, 23, 0], [24, 27, 0], [28, 33, 0], [34, 41, 1], [40, 47, 1]
-        ],
-        0x48: [  // LATIN CAPITAL LETTER H
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
-            [18, 20, 0], [21, 23, 0], [25, 27, 0], [29, 32, 0], [35, 39, 0], [41, 45, 0]
-        ],
-        0x49: [  // LATIN CAPITAL LETTER I
-            [2, 5, 0], [2, 6, 0], [2, 8, 0], [3, 9, 0], [3, 9, 0], [4, 12, 0], [4, 14, 0], [5, 17, 0],
-            [6, 20, 0], [7, 23, 0], [8, 27, 0], [9, 32, 0], [11, 39, 0], [13, 45, 0]
-        ],
-        0x4A: [  // LATIN CAPITAL LETTER J
-            [3, 5, 0], [4, 6, 0], [4, 8, 0], [5, 9, 0], [6, 9, 0], [7, 12, 0], [8, 14, 0], [9, 18, 1],
-            [11, 21, 1], [13, 24, 1], [16, 27, 0], [18, 33, 1], [22, 41, 2], [26, 47, 2]
-        ],
-        0x4B: [  // LATIN CAPITAL LETTER K
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
-            [18, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [36, 39, 0], [43, 45, 0]
-        ],
-        0x4C: [  // LATIN CAPITAL LETTER L
-            [4, 5, 0], [5, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [9, 12, 0], [10, 14, 0], [12, 17, 0],
-            [14, 20, 0], [17, 23, 0], [20, 27, 0], [24, 32, 0], [28, 39, 0], [33, 45, 0]
-        ],
-        0x4D: [  // LATIN CAPITAL LETTER M
-            [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 9, 0], [13, 12, 0], [16, 14, 0], [19, 17, 0],
-            [22, 20, 0], [26, 23, 0], [31, 27, 0], [37, 32, 0], [44, 39, 0], [52, 45, 0]
-        ],
-        0x4E: [  // LATIN CAPITAL LETTER N
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
-            [18, 20, 0], [21, 23, 0], [25, 27, 0], [29, 32, 0], [35, 39, 0], [41, 45, 0]
-        ],
-        0x4F: [  // LATIN CAPITAL LETTER O
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [12, 12, 0], [14, 14, 0], [16, 19, 1],
-            [19, 22, 1], [23, 25, 1], [27, 27, 0], [32, 34, 1], [38, 42, 1], [45, 49, 1]
-        ],
-        0x50: [  // LATIN CAPITAL LETTER P
-            [5, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
-            [17, 20, 0], [20, 23, 0], [23, 27, 0], [28, 32, 0], [33, 39, 0], [39, 45, 0]
-        ],
-        0x51: [  // LATIN CAPITAL LETTER Q
-            [5, 6, 1], [6, 7, 1], [7, 9, 1], [8, 11, 2], [10, 11, 2], [12, 14, 2], [14, 16, 2], [16, 21, 3],
-            [19, 25, 4], [23, 28, 4], [27, 31, 4], [32, 40, 7], [38, 48, 7], [45, 56, 8]
-        ],
-        0x52: [  // LATIN CAPITAL LETTER R
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
-            [18, 20, 0], [21, 23, 0], [25, 27, 0], [29, 32, 0], [35, 39, 0], [41, 45, 0]
-        ],
-        0x53: [  // LATIN CAPITAL LETTER S
-            [4, 5, 0], [5, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [9, 12, 0], [10, 14, 0], [12, 19, 1],
-            [14, 22, 1], [17, 25, 1], [20, 27, 0], [24, 34, 1], [28, 42, 1], [33, 49, 1]
-        ],
-        0x54: [  // LATIN CAPITAL LETTER T
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
-            [18, 20, 0], [22, 23, 0], [26, 27, 0], [30, 32, 0], [36, 39, 0], [43, 45, 0]
-        ],
-        0x55: [  // LATIN CAPITAL LETTER U
-            [5, 5, 0], [5, 6, 0], [6, 8, 0], [8, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 18, 1],
-            [17, 21, 1], [20, 24, 1], [24, 27, 0], [28, 33, 1], [34, 41, 2], [40, 47, 2]
-        ],
-        0x56: [  // LATIN CAPITAL LETTER V
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
-            [19, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [37, 39, 0], [43, 45, 0]
-        ],
-        0x57: [  // LATIN CAPITAL LETTER W
-            [7, 5, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [13, 9, 0], [16, 12, 0], [19, 14, 0], [22, 17, 0],
-            [26, 20, 0], [31, 23, 0], [37, 27, 0], [44, 32, 0], [52, 39, 0], [62, 45, 0]
-        ],
-        0x58: [  // LATIN CAPITAL LETTER X
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
-            [19, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [37, 39, 0], [43, 45, 0]
-        ],
-        0x59: [  // LATIN CAPITAL LETTER Y
-            [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
-            [19, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [37, 39, 0], [44, 45, 0]
-        ],
-        0x5A: [  // LATIN CAPITAL LETTER Z
-            [4, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 9, 0], [10, 12, 0], [11, 14, 0], [13, 17, 0],
-            [16, 20, 0], [19, 23, 0], [22, 27, 0], [27, 32, 0], [31, 39, 0], [37, 45, 0]
-        ],
-        0x5B: [  // LEFT SQUARE BRACKET
-            [2, 7, 2], [3, 9, 2], [3, 11, 3], [4, 13, 3], [4, 13, 3], [5, 19, 5], [6, 20, 5], [7, 24, 6],
-            [8, 29, 7], [9, 33, 8], [11, 39, 10], [13, 46, 11], [15, 57, 14], [18, 65, 16]
-        ],
-        0x5D: [  // RIGHT SQUARE BRACKET
-            [2, 7, 2], [2, 9, 2], [2, 11, 3], [3, 13, 3], [3, 13, 3], [4, 19, 5], [4, 20, 5], [5, 24, 6],
-            [6, 29, 7], [7, 33, 8], [8, 39, 10], [10, 46, 11], [11, 57, 14], [13, 65, 16]
-        ],
-        0x5E: [  // CIRCUMFLEX ACCENT
-            [3, 1, -4], [4, 2, -4], [5, 2, -6], [5, 2, -7], [6, 2, -7], [7, 3, -9], [9, 4, -10], [10, 4, -13],
-            [12, 5, -15], [14, 6, -17], [17, 7, -20], [20, 8, -24], [24, 10, -29], [28, 11, -34]
-        ],
-        0x5F: [  // LOW LINE
-            [4, 2, 1], [5, 2, 1], [5, 2, 1], [6, 2, 1], [7, 2, 1], [9, 4, 3], [10, 4, 3], [12, 4, 3],
-            [14, 4, 3], [17, 5, 4], [20, 5, 4], [24, 6, 5], [28, 7, 6], [33, 8, 7]
-        ],
-        0x61: [  // LATIN SMALL LETTER A
-            [3, 3, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0],
-            [12, 13, 0], [14, 15, 0], [16, 18, 0], [19, 21, 0], [23, 27, 1], [27, 31, 1]
-        ],
-        0x62: [  // LATIN SMALL LETTER B
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [10, 14, 0], [12, 17, 0],
-            [14, 20, 0], [16, 23, 0], [19, 27, 0], [23, 32, 0], [27, 40, 1], [32, 46, 1]
-        ],
-        0x63: [  // LATIN SMALL LETTER C
-            [3, 3, 0], [4, 4, 0], [5, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [9, 9, 0], [10, 11, 0],
-            [12, 13, 0], [14, 15, 0], [17, 18, 0], [20, 21, 0], [23, 27, 1], [28, 32, 1]
-        ],
-        0x64: [  // LATIN SMALL LETTER D
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 17, 0],
-            [13, 20, 0], [15, 23, 0], [18, 27, 0], [21, 32, 0], [25, 40, 1], [30, 46, 1]
-        ],
-        0x65: [  // LATIN SMALL LETTER E
-            [3, 3, 0], [4, 4, 0], [5, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [9, 9, 0], [10, 11, 0],
-            [12, 13, 0], [14, 15, 0], [17, 18, 0], [20, 21, 0], [23, 28, 1], [28, 31, 1]
-        ],
-        0x66: [  // LATIN SMALL LETTER F
-            [3, 5, 0], [3, 6, 0], [4, 8, 0], [5, 9, 0], [5, 9, 0], [6, 12, 0], [7, 14, 0], [9, 17, 0],
-            [10, 20, 0], [12, 23, 0], [14, 27, 0], [17, 33, 0], [20, 40, 0], [23, 46, 0]
-        ],
-        0x67: [  // LATIN SMALL LETTER G
-            [4, 4, 1], [5, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [9, 11, 3], [10, 13, 4], [12, 16, 5],
-            [14, 18, 5], [16, 21, 6], [19, 25, 8], [23, 30, 10], [27, 38, 12], [32, 44, 14]
-        ],
-        0x68: [  // LATIN SMALL LETTER H
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 17, 0],
-            [13, 20, 0], [15, 23, 0], [18, 27, 0], [21, 32, 0], [25, 39, 0], [29, 45, 0]
-        ],
-        0x69: [  // LATIN SMALL LETTER I
-            [2, 5, 0], [2, 6, 0], [2, 8, 0], [3, 9, 0], [3, 9, 0], [3, 12, 0], [4, 14, 0], [4, 17, 0],
-            [5, 20, 0], [6, 23, 0], [7, 27, 0], [8, 31, 0], [10, 39, 0], [12, 45, 0]
-        ],
-        0x6A: [  // LATIN SMALL LETTER J
-            [3, 6, 1], [3, 8, 2], [3, 10, 2], [4, 12, 3], [4, 12, 3], [5, 15, 3], [6, 18, 4], [7, 22, 5],
-            [8, 25, 5], [9, 29, 6], [11, 35, 8], [13, 41, 10], [15, 51, 12], [17, 58, 14]
-        ],
-        0x6B: [  // LATIN SMALL LETTER K
-            [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [10, 14, 0], [11, 17, 0],
-            [14, 20, 0], [16, 23, 0], [19, 27, 0], [22, 32, 0], [27, 39, 0], [31, 45, 0]
-        ],
-        0x6C: [  // LATIN SMALL LETTER L
-            [2, 5, 0], [2, 6, 0], [2, 8, 0], [2, 9, 0], [3, 9, 0], [3, 12, 0], [4, 14, 0], [4, 17, 0],
-            [5, 20, 0], [6, 23, 0], [7, 27, 0], [8, 32, 0], [10, 39, 0], [11, 45, 0]
-        ],
-        0x6D: [  // LATIN SMALL LETTER M
-            [5, 3, 0], [6, 4, 0], [7, 5, 0], [9, 6, 0], [10, 6, 0], [12, 8, 0], [14, 9, 0], [17, 11, 0],
-            [20, 13, 0], [24, 15, 0], [28, 17, 0], [34, 20, 0], [40, 27, 1], [47, 31, 1]
-        ],
-        0x6E: [  // LATIN SMALL LETTER N
-            [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
-            [13, 13, 0], [15, 15, 0], [18, 17, 0], [21, 20, 0], [25, 26, 0], [29, 30, 0]
-        ],
-        0x6F: [  // LATIN SMALL LETTER O
-            [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 11, 0],
-            [14, 13, 0], [16, 15, 0], [19, 18, 0], [22, 21, 0], [27, 28, 1], [31, 31, 1]
-        ],
-        0x70: [  // LATIN SMALL LETTER P
-            [4, 4, 1], [4, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [9, 11, 3], [10, 13, 4], [12, 16, 5],
-            [14, 18, 5], [16, 21, 6], [19, 26, 8], [23, 30, 9], [27, 37, 11], [32, 43, 13]
-        ],
-        0x71: [  // LATIN SMALL LETTER Q
-            [4, 4, 1], [4, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [8, 11, 3], [9, 13, 4], [11, 16, 5],
-            [13, 18, 5], [15, 21, 6], [18, 26, 8], [21, 30, 9], [25, 37, 11], [30, 43, 13]
-        ],
-        0x72: [  // LATIN SMALL LETTER R
-            [3, 3, 0], [3, 4, 0], [4, 5, 0], [4, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 11, 0],
-            [10, 13, 0], [11, 15, 0], [13, 17, 0], [16, 21, 0], [19, 26, 0], [22, 30, 0]
-        ],
-        0x73: [  // LATIN SMALL LETTER S
-            [3, 3, 0], [3, 4, 0], [4, 5, 0], [5, 6, 0], [5, 6, 0], [6, 8, 0], [8, 9, 0], [9, 11, 0],
-            [10, 13, 0], [12, 15, 0], [15, 18, 0], [17, 21, 0], [20, 27, 1], [24, 31, 1]
-        ],
-        0x74: [  // LATIN SMALL LETTER T
-            [3, 4, 0], [3, 5, 0], [4, 7, 0], [4, 8, 0], [5, 8, 0], [6, 10, 0], [7, 12, 0], [8, 14, 0],
-            [10, 17, 0], [11, 19, 0], [14, 23, 0], [16, 27, 0], [19, 34, 1], [22, 39, 1]
-        ],
-        0x75: [  // LATIN SMALL LETTER U
-            [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
-            [13, 13, 0], [15, 15, 0], [18, 17, 0], [21, 20, 0], [25, 27, 1], [30, 31, 1]
-        ],
-        0x76: [  // LATIN SMALL LETTER V
-            [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
-            [13, 13, 0], [15, 15, 0], [18, 17, 0], [21, 20, 0], [25, 25, 0], [30, 29, 0]
-        ],
-        0x77: [  // LATIN SMALL LETTER W
-            [5, 3, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 6, 0], [12, 8, 0], [14, 9, 0], [16, 11, 0],
-            [19, 13, 0], [22, 15, 0], [27, 17, 0], [32, 20, 0], [37, 25, 0], [44, 29, 0]
-        ],
-        0x78: [  // LATIN SMALL LETTER X
-            [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
-            [13, 13, 0], [16, 15, 0], [18, 17, 0], [22, 20, 0], [26, 26, 0], [31, 30, 0]
-        ],
-        0x79: [  // LATIN SMALL LETTER Y
-            [4, 4, 1], [4, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [8, 11, 3], [9, 13, 4], [11, 16, 5],
-            [13, 18, 5], [15, 21, 6], [18, 25, 8], [21, 30, 10], [25, 37, 12], [30, 43, 14]
-        ],
-        0x7A: [  // LATIN SMALL LETTER Z
-            [3, 3, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0],
-            [12, 13, 0], [14, 15, 0], [16, 17, 0], [19, 20, 0], [23, 26, 0], [27, 29, 0]
-        ],
-        0x7E: [  // TILDE
-            [3, 1, -1], [4, 1, -2], [5, 2, -2], [5, 2, -3], [6, 2, -3], [7, 4, -3], [9, 3, -4], [10, 3, -5],
-            [12, 4, -5], [14, 5, -6], [17, 6, -8], [20, 6, -9], [23, 8, -11], [28, 9, -13]
-        ]
-    }
+  "MathJax_SansSerif": {
+    0x20: [  // SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x21: [  // EXCLAMATION MARK
+      [2, 5, 0], [2, 6, 0], [3, 8, 0], [3, 9, 0], [3, 9, 0], [4, 12, 0], [5, 14, 0], [5, 17, 0],
+      [6, 20, 0], [7, 23, 0], [9, 27, 0], [10, 32, 0], [12, 39, 0], [14, 45, 0]
+    ],
+    0x22: [  // QUOTATION MARK
+      [3, 2, -3], [3, 2, -4], [4, 3, -5], [4, 3, -6], [5, 3, -6], [6, 4, -8], [7, 5, -9], [8, 6, -11],
+      [9, 7, -13], [11, 8, -15], [13, 9, -18], [16, 10, -22], [18, 13, -26], [22, 15, -30]
+    ],
+    0x23: [  // NUMBER SIGN
+      [6, 6, 1], [7, 8, 2], [8, 10, 2], [10, 12, 3], [11, 12, 3], [13, 15, 3], [16, 18, 4], [19, 22, 5],
+      [22, 25, 5], [26, 29, 6], [31, 35, 8], [37, 41, 9], [43, 50, 11], [52, 58, 13]
+    ],
+    0x24: [  // DOLLAR SIGN
+      [4, 6, 0], [4, 8, 1], [5, 9, 0], [6, 11, 1], [7, 11, 1], [8, 15, 2], [9, 16, 1], [11, 20, 2],
+      [13, 23, 2], [15, 27, 2], [18, 32, 3], [21, 37, 2], [25, 46, 4], [30, 53, 4]
+    ],
+    0x25: [  // PERCENT SIGN
+      [6, 5, 0], [7, 7, 0], [8, 9, 0], [10, 10, 0], [11, 10, 0], [13, 16, 1], [16, 17, 1], [19, 19, 1],
+      [22, 23, 2], [26, 27, 2], [31, 32, 2], [37, 37, 3], [43, 46, 3], [52, 53, 4]
+    ],
+    0x26: [  // AMPERSAND
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [9, 9, 0], [10, 9, 0], [12, 12, 0], [14, 14, 0], [17, 19, 1],
+      [20, 22, 1], [23, 25, 1], [28, 27, 0], [33, 34, 1], [39, 43, 2], [46, 49, 2]
+    ],
+    0x27: [  // APOSTROPHE
+      [2, 2, -3], [2, 2, -4], [2, 3, -5], [3, 3, -6], [3, 3, -6], [4, 4, -8], [4, 5, -9], [5, 6, -11],
+      [6, 7, -13], [7, 8, -15], [8, 9, -18], [9, 10, -22], [11, 13, -26], [13, 15, -30]
+    ],
+    0x28: [  // LEFT PARENTHESIS
+      [3, 7, 2], [3, 9, 2], [4, 11, 3], [4, 14, 3], [5, 14, 3], [6, 18, 4], [7, 20, 5], [8, 24, 6],
+      [10, 29, 7], [11, 33, 8], [14, 40, 10], [16, 46, 11], [19, 57, 14], [22, 66, 16]
+    ],
+    0x29: [  // RIGHT PARENTHESIS
+      [3, 7, 2], [3, 9, 2], [4, 11, 3], [4, 14, 3], [5, 14, 3], [6, 18, 4], [7, 20, 5], [8, 24, 6],
+      [9, 29, 7], [11, 33, 8], [13, 40, 10], [15, 46, 11], [18, 57, 14], [21, 66, 16]
+    ],
+    0x2A: [  // ASTERISK
+      [4, 3, -2], [4, 4, -3], [5, 5, -3], [6, 6, -4], [7, 6, -4], [8, 8, -5], [9, 9, -6], [11, 11, -7],
+      [13, 13, -9], [15, 15, -10], [18, 18, -12], [21, 21, -14], [25, 26, -17], [29, 30, -20]
+    ],
+    0x2B: [  // PLUS SIGN
+      [5, 5, 1], [6, 6, 1], [8, 8, 1], [9, 9, 1], [10, 9, 1], [12, 12, 1], [14, 14, 2], [17, 16, 2],
+      [20, 19, 2], [24, 22, 3], [28, 27, 3], [34, 31, 4], [40, 38, 5], [48, 44, 5]
+    ],
+    0x2C: [  // COMMA
+      [2, 2, 1], [2, 3, 2], [2, 4, 2], [3, 4, 2], [3, 4, 2], [4, 4, 2], [4, 5, 3], [5, 6, 3],
+      [6, 7, 4], [7, 8, 4], [8, 9, 5], [9, 11, 6], [11, 13, 7], [13, 15, 8]
+    ],
+    0x2D: [  // HYPHEN-MINUS
+      [2, 1, -1], [3, 1, -1], [3, 1, -2], [4, 1, -2], [4, 1, -2], [5, 3, -2], [6, 3, -3], [7, 2, -4],
+      [8, 3, -5], [10, 3, -6], [11, 3, -7], [13, 4, -9], [16, 5, -11], [19, 5, -12]
+    ],
+    0x2E: [  // FULL STOP
+      [2, 1, 0], [2, 1, 0], [2, 2, 0], [3, 2, 0], [3, 2, 0], [4, 2, 0], [4, 2, 0], [5, 3, 0],
+      [6, 3, 0], [7, 4, 0], [8, 4, 0], [9, 5, 0], [11, 6, 0], [13, 7, 0]
+    ],
+    0x2F: [  // SOLIDUS
+      [4, 7, 2], [4, 9, 2], [5, 11, 3], [6, 13, 3], [7, 13, 3], [8, 18, 4], [9, 20, 5], [11, 24, 6],
+      [13, 29, 7], [15, 33, 8], [18, 39, 10], [21, 46, 11], [25, 57, 14], [30, 66, 16]
+    ],
+    0x30: [  // DIGIT ZERO
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
+      [13, 21, 1], [16, 24, 1], [18, 28, 0], [22, 32, 1], [26, 40, 1], [31, 46, 1]
+    ],
+    0x31: [  // DIGIT ONE
+      [3, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [6, 9, 0], [8, 12, 0], [9, 14, 0], [10, 17, 0],
+      [12, 20, 0], [15, 22, 0], [17, 27, 0], [20, 31, 0], [24, 39, 0], [29, 45, 0]
+    ],
+    0x32: [  // DIGIT TWO
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 17, 0],
+      [13, 20, 0], [15, 22, 0], [18, 27, 0], [21, 31, 0], [25, 39, 0], [30, 45, 0]
+    ],
+    0x33: [  // DIGIT THREE
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
+      [13, 21, 1], [16, 24, 1], [18, 27, 0], [22, 32, 1], [26, 40, 1], [31, 46, 1]
+    ],
+    0x34: [  // DIGIT FOUR
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [10, 13, 0], [11, 16, 0],
+      [14, 19, 0], [16, 22, 0], [19, 26, 0], [22, 30, 0], [27, 38, 0], [31, 43, 0]
+    ],
+    0x35: [  // DIGIT FIVE
+      [4, 5, 0], [4, 6, 0], [5, 7, 0], [6, 9, 0], [7, 9, 0], [8, 13, 0], [9, 14, 0], [11, 17, 1],
+      [13, 20, 1], [15, 23, 1], [18, 27, 0], [21, 31, 0], [25, 39, 1], [30, 45, 1]
+    ],
+    0x36: [  // DIGIT SIX
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
+      [13, 20, 1], [16, 24, 1], [18, 27, 0], [22, 32, 2], [26, 40, 1], [31, 46, 1]
+    ],
+    0x37: [  // DIGIT SEVEN
+      [4, 5, 0], [4, 6, 0], [5, 7, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 13, 0], [11, 16, 0],
+      [13, 19, 0], [16, 22, 0], [18, 26, 0], [22, 31, 1], [26, 38, 1], [31, 44, 1]
+    ],
+    0x38: [  // DIGIT EIGHT
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
+      [13, 21, 1], [15, 24, 1], [18, 28, 0], [22, 32, 1], [26, 40, 1], [30, 46, 1]
+    ],
+    0x39: [  // DIGIT NINE
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 18, 1],
+      [13, 20, 1], [16, 24, 1], [18, 27, 0], [22, 32, 1], [26, 40, 1], [31, 46, 1]
+    ],
+    0x3A: [  // COLON
+      [2, 3, 0], [2, 4, 0], [2, 5, 0], [3, 6, 0], [3, 6, 0], [4, 8, 0], [4, 9, 0], [5, 11, 0],
+      [6, 13, 0], [7, 15, 0], [8, 17, 0], [9, 20, 0], [11, 25, 0], [13, 29, 0]
+    ],
+    0x3B: [  // SEMICOLON
+      [2, 4, 1], [2, 6, 2], [2, 7, 2], [3, 8, 2], [3, 8, 2], [4, 10, 2], [4, 12, 3], [5, 14, 3],
+      [6, 17, 4], [7, 19, 4], [8, 22, 5], [9, 26, 6], [11, 32, 7], [13, 37, 8]
+    ],
+    0x3D: [  // EQUALS SIGN
+      [5, 2, 0], [6, 3, -1], [8, 3, -1], [9, 4, -1], [10, 4, -1], [12, 4, -2], [15, 5, -2], [17, 6, -3],
+      [20, 8, -3], [24, 10, -3], [29, 10, -5], [34, 11, -6], [40, 14, -7], [48, 16, -9]
+    ],
+    0x3F: [  // QUESTION MARK
+      [3, 5, 0], [4, 6, 0], [5, 8, 0], [5, 9, 0], [6, 9, 0], [7, 12, 0], [9, 14, 0], [10, 17, 0],
+      [12, 20, 0], [14, 23, 0], [17, 27, 0], [20, 33, 0], [23, 40, 0], [28, 46, 0]
+    ],
+    0x40: [  // COMMERCIAL AT
+      [5, 5, 0], [6, 6, 0], [6, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [12, 14, 0], [15, 17, 0],
+      [17, 20, 0], [21, 23, 0], [24, 27, 0], [29, 33, 0], [34, 41, 1], [41, 47, 1]
+    ],
+    0x41: [  // LATIN CAPITAL LETTER A
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
+      [18, 20, 0], [21, 23, 0], [25, 27, 0], [30, 32, 0], [36, 39, 0], [42, 45, 0]
+    ],
+    0x42: [  // LATIN CAPITAL LETTER B
+      [5, 5, 0], [6, 8, 1], [6, 9, 1], [8, 11, 1], [9, 11, 1], [11, 14, 1], [12, 16, 1], [15, 19, 1],
+      [17, 22, 1], [21, 25, 1], [24, 29, 1], [29, 34, 1], [34, 41, 1], [41, 47, 1]
+    ],
+    0x43: [  // LATIN CAPITAL LETTER C
+      [5, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
+      [17, 20, 0], [20, 23, 0], [23, 27, 0], [28, 33, 0], [33, 41, 1], [39, 47, 1]
+    ],
+    0x44: [  // LATIN CAPITAL LETTER D
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [12, 12, 0], [13, 14, 0], [16, 17, 0],
+      [19, 20, 0], [22, 23, 0], [27, 27, 0], [31, 32, 0], [37, 39, 0], [44, 45, 0]
+    ],
+    0x45: [  // LATIN CAPITAL LETTER E
+      [4, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 9, 0], [10, 12, 0], [11, 14, 0], [13, 17, 0],
+      [16, 20, 0], [19, 23, 0], [22, 27, 0], [26, 32, 0], [31, 39, 0], [37, 45, 0]
+    ],
+    0x46: [  // LATIN CAPITAL LETTER F
+      [4, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 9, 0], [9, 12, 0], [11, 14, 0], [13, 17, 0],
+      [15, 20, 0], [18, 23, 0], [21, 27, 0], [25, 32, 0], [30, 39, 0], [35, 45, 0]
+    ],
+    0x47: [  // LATIN CAPITAL LETTER G
+      [5, 5, 0], [5, 6, 0], [6, 8, 0], [8, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
+      [17, 20, 0], [20, 23, 0], [24, 27, 0], [28, 33, 0], [34, 41, 1], [40, 47, 1]
+    ],
+    0x48: [  // LATIN CAPITAL LETTER H
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
+      [18, 20, 0], [21, 23, 0], [25, 27, 0], [29, 32, 0], [35, 39, 0], [41, 45, 0]
+    ],
+    0x49: [  // LATIN CAPITAL LETTER I
+      [2, 5, 0], [2, 6, 0], [2, 8, 0], [3, 9, 0], [3, 9, 0], [4, 12, 0], [4, 14, 0], [5, 17, 0],
+      [6, 20, 0], [7, 23, 0], [8, 27, 0], [9, 32, 0], [11, 39, 0], [13, 45, 0]
+    ],
+    0x4A: [  // LATIN CAPITAL LETTER J
+      [3, 5, 0], [4, 6, 0], [4, 8, 0], [5, 9, 0], [6, 9, 0], [7, 12, 0], [8, 14, 0], [9, 18, 1],
+      [11, 21, 1], [13, 24, 1], [16, 27, 0], [18, 33, 1], [22, 41, 2], [26, 47, 2]
+    ],
+    0x4B: [  // LATIN CAPITAL LETTER K
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
+      [18, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [36, 39, 0], [43, 45, 0]
+    ],
+    0x4C: [  // LATIN CAPITAL LETTER L
+      [4, 5, 0], [5, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [9, 12, 0], [10, 14, 0], [12, 17, 0],
+      [14, 20, 0], [17, 23, 0], [20, 27, 0], [24, 32, 0], [28, 39, 0], [33, 45, 0]
+    ],
+    0x4D: [  // LATIN CAPITAL LETTER M
+      [6, 5, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 9, 0], [13, 12, 0], [16, 14, 0], [19, 17, 0],
+      [22, 20, 0], [26, 23, 0], [31, 27, 0], [37, 32, 0], [44, 39, 0], [52, 45, 0]
+    ],
+    0x4E: [  // LATIN CAPITAL LETTER N
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
+      [18, 20, 0], [21, 23, 0], [25, 27, 0], [29, 32, 0], [35, 39, 0], [41, 45, 0]
+    ],
+    0x4F: [  // LATIN CAPITAL LETTER O
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [12, 12, 0], [14, 14, 0], [16, 19, 1],
+      [19, 22, 1], [23, 25, 1], [27, 27, 0], [32, 34, 1], [38, 42, 1], [45, 49, 1]
+    ],
+    0x50: [  // LATIN CAPITAL LETTER P
+      [5, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 17, 0],
+      [17, 20, 0], [20, 23, 0], [23, 27, 0], [28, 32, 0], [33, 39, 0], [39, 45, 0]
+    ],
+    0x51: [  // LATIN CAPITAL LETTER Q
+      [5, 6, 1], [6, 7, 1], [7, 9, 1], [8, 11, 2], [10, 11, 2], [12, 14, 2], [14, 16, 2], [16, 21, 3],
+      [19, 25, 4], [23, 28, 4], [27, 31, 4], [32, 40, 7], [38, 48, 7], [45, 56, 8]
+    ],
+    0x52: [  // LATIN CAPITAL LETTER R
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
+      [18, 20, 0], [21, 23, 0], [25, 27, 0], [29, 32, 0], [35, 39, 0], [41, 45, 0]
+    ],
+    0x53: [  // LATIN CAPITAL LETTER S
+      [4, 5, 0], [5, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [9, 12, 0], [10, 14, 0], [12, 19, 1],
+      [14, 22, 1], [17, 25, 1], [20, 27, 0], [24, 34, 1], [28, 42, 1], [33, 49, 1]
+    ],
+    0x54: [  // LATIN CAPITAL LETTER T
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [9, 9, 0], [11, 12, 0], [13, 14, 0], [15, 17, 0],
+      [18, 20, 0], [22, 23, 0], [26, 27, 0], [30, 32, 0], [36, 39, 0], [43, 45, 0]
+    ],
+    0x55: [  // LATIN CAPITAL LETTER U
+      [5, 5, 0], [5, 6, 0], [6, 8, 0], [8, 9, 0], [9, 9, 0], [10, 12, 0], [12, 14, 0], [14, 18, 1],
+      [17, 21, 1], [20, 24, 1], [24, 27, 0], [28, 33, 1], [34, 41, 2], [40, 47, 2]
+    ],
+    0x56: [  // LATIN CAPITAL LETTER V
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
+      [19, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [37, 39, 0], [43, 45, 0]
+    ],
+    0x57: [  // LATIN CAPITAL LETTER W
+      [7, 5, 0], [8, 6, 0], [10, 8, 0], [11, 9, 0], [13, 9, 0], [16, 12, 0], [19, 14, 0], [22, 17, 0],
+      [26, 20, 0], [31, 23, 0], [37, 27, 0], [44, 32, 0], [52, 39, 0], [62, 45, 0]
+    ],
+    0x58: [  // LATIN CAPITAL LETTER X
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
+      [19, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [37, 39, 0], [43, 45, 0]
+    ],
+    0x59: [  // LATIN CAPITAL LETTER Y
+      [5, 5, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 9, 0], [11, 12, 0], [13, 14, 0], [16, 17, 0],
+      [19, 20, 0], [22, 23, 0], [26, 27, 0], [31, 32, 0], [37, 39, 0], [44, 45, 0]
+    ],
+    0x5A: [  // LATIN CAPITAL LETTER Z
+      [4, 5, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 9, 0], [10, 12, 0], [11, 14, 0], [13, 17, 0],
+      [16, 20, 0], [19, 23, 0], [22, 27, 0], [27, 32, 0], [31, 39, 0], [37, 45, 0]
+    ],
+    0x5B: [  // LEFT SQUARE BRACKET
+      [2, 7, 2], [3, 9, 2], [3, 11, 3], [4, 13, 3], [4, 13, 3], [5, 19, 5], [6, 20, 5], [7, 24, 6],
+      [8, 29, 7], [9, 33, 8], [11, 39, 10], [13, 46, 11], [15, 57, 14], [18, 65, 16]
+    ],
+    0x5D: [  // RIGHT SQUARE BRACKET
+      [2, 7, 2], [2, 9, 2], [2, 11, 3], [3, 13, 3], [3, 13, 3], [4, 19, 5], [4, 20, 5], [5, 24, 6],
+      [6, 29, 7], [7, 33, 8], [8, 39, 10], [10, 46, 11], [11, 57, 14], [13, 65, 16]
+    ],
+    0x5E: [  // CIRCUMFLEX ACCENT
+      [3, 1, -4], [4, 2, -4], [5, 2, -6], [5, 2, -7], [6, 2, -7], [7, 3, -9], [9, 4, -10], [10, 4, -13],
+      [12, 5, -15], [14, 6, -17], [17, 7, -20], [20, 8, -24], [24, 10, -29], [28, 11, -34]
+    ],
+    0x5F: [  // LOW LINE
+      [4, 2, 1], [5, 2, 1], [5, 2, 1], [6, 2, 1], [7, 2, 1], [9, 4, 3], [10, 4, 3], [12, 4, 3],
+      [14, 4, 3], [17, 5, 4], [20, 5, 4], [24, 6, 5], [28, 7, 6], [33, 8, 7]
+    ],
+    0x61: [  // LATIN SMALL LETTER A
+      [3, 3, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0],
+      [12, 13, 0], [14, 15, 0], [16, 18, 0], [19, 21, 0], [23, 27, 1], [27, 31, 1]
+    ],
+    0x62: [  // LATIN SMALL LETTER B
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [10, 14, 0], [12, 17, 0],
+      [14, 20, 0], [16, 23, 0], [19, 27, 0], [23, 32, 0], [27, 40, 1], [32, 46, 1]
+    ],
+    0x63: [  // LATIN SMALL LETTER C
+      [3, 3, 0], [4, 4, 0], [5, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [9, 9, 0], [10, 11, 0],
+      [12, 13, 0], [14, 15, 0], [17, 18, 0], [20, 21, 0], [23, 27, 1], [28, 32, 1]
+    ],
+    0x64: [  // LATIN SMALL LETTER D
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 17, 0],
+      [13, 20, 0], [15, 23, 0], [18, 27, 0], [21, 32, 0], [25, 40, 1], [30, 46, 1]
+    ],
+    0x65: [  // LATIN SMALL LETTER E
+      [3, 3, 0], [4, 4, 0], [5, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [9, 9, 0], [10, 11, 0],
+      [12, 13, 0], [14, 15, 0], [17, 18, 0], [20, 21, 0], [23, 28, 1], [28, 31, 1]
+    ],
+    0x66: [  // LATIN SMALL LETTER F
+      [3, 5, 0], [3, 6, 0], [4, 8, 0], [5, 9, 0], [5, 9, 0], [6, 12, 0], [7, 14, 0], [9, 17, 0],
+      [10, 20, 0], [12, 23, 0], [14, 27, 0], [17, 33, 0], [20, 40, 0], [23, 46, 0]
+    ],
+    0x67: [  // LATIN SMALL LETTER G
+      [4, 4, 1], [5, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [9, 11, 3], [10, 13, 4], [12, 16, 5],
+      [14, 18, 5], [16, 21, 6], [19, 25, 8], [23, 30, 10], [27, 38, 12], [32, 44, 14]
+    ],
+    0x68: [  // LATIN SMALL LETTER H
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [9, 14, 0], [11, 17, 0],
+      [13, 20, 0], [15, 23, 0], [18, 27, 0], [21, 32, 0], [25, 39, 0], [29, 45, 0]
+    ],
+    0x69: [  // LATIN SMALL LETTER I
+      [2, 5, 0], [2, 6, 0], [2, 8, 0], [3, 9, 0], [3, 9, 0], [3, 12, 0], [4, 14, 0], [4, 17, 0],
+      [5, 20, 0], [6, 23, 0], [7, 27, 0], [8, 31, 0], [10, 39, 0], [12, 45, 0]
+    ],
+    0x6A: [  // LATIN SMALL LETTER J
+      [3, 6, 1], [3, 8, 2], [3, 10, 2], [4, 12, 3], [4, 12, 3], [5, 15, 3], [6, 18, 4], [7, 22, 5],
+      [8, 25, 5], [9, 29, 6], [11, 35, 8], [13, 41, 10], [15, 51, 12], [17, 58, 14]
+    ],
+    0x6B: [  // LATIN SMALL LETTER K
+      [4, 5, 0], [4, 6, 0], [5, 8, 0], [6, 9, 0], [7, 9, 0], [8, 12, 0], [10, 14, 0], [11, 17, 0],
+      [14, 20, 0], [16, 23, 0], [19, 27, 0], [22, 32, 0], [27, 39, 0], [31, 45, 0]
+    ],
+    0x6C: [  // LATIN SMALL LETTER L
+      [2, 5, 0], [2, 6, 0], [2, 8, 0], [2, 9, 0], [3, 9, 0], [3, 12, 0], [4, 14, 0], [4, 17, 0],
+      [5, 20, 0], [6, 23, 0], [7, 27, 0], [8, 32, 0], [10, 39, 0], [11, 45, 0]
+    ],
+    0x6D: [  // LATIN SMALL LETTER M
+      [5, 3, 0], [6, 4, 0], [7, 5, 0], [9, 6, 0], [10, 6, 0], [12, 8, 0], [14, 9, 0], [17, 11, 0],
+      [20, 13, 0], [24, 15, 0], [28, 17, 0], [34, 20, 0], [40, 27, 1], [47, 31, 1]
+    ],
+    0x6E: [  // LATIN SMALL LETTER N
+      [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
+      [13, 13, 0], [15, 15, 0], [18, 17, 0], [21, 20, 0], [25, 26, 0], [29, 30, 0]
+    ],
+    0x6F: [  // LATIN SMALL LETTER O
+      [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [10, 9, 0], [11, 11, 0],
+      [14, 13, 0], [16, 15, 0], [19, 18, 0], [22, 21, 0], [27, 28, 1], [31, 31, 1]
+    ],
+    0x70: [  // LATIN SMALL LETTER P
+      [4, 4, 1], [4, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [9, 11, 3], [10, 13, 4], [12, 16, 5],
+      [14, 18, 5], [16, 21, 6], [19, 26, 8], [23, 30, 9], [27, 37, 11], [32, 43, 13]
+    ],
+    0x71: [  // LATIN SMALL LETTER Q
+      [4, 4, 1], [4, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [8, 11, 3], [9, 13, 4], [11, 16, 5],
+      [13, 18, 5], [15, 21, 6], [18, 26, 8], [21, 30, 9], [25, 37, 11], [30, 43, 13]
+    ],
+    0x72: [  // LATIN SMALL LETTER R
+      [3, 3, 0], [3, 4, 0], [4, 5, 0], [4, 6, 0], [5, 6, 0], [6, 8, 0], [7, 9, 0], [8, 11, 0],
+      [10, 13, 0], [11, 15, 0], [13, 17, 0], [16, 21, 0], [19, 26, 0], [22, 30, 0]
+    ],
+    0x73: [  // LATIN SMALL LETTER S
+      [3, 3, 0], [3, 4, 0], [4, 5, 0], [5, 6, 0], [5, 6, 0], [6, 8, 0], [8, 9, 0], [9, 11, 0],
+      [10, 13, 0], [12, 15, 0], [15, 18, 0], [17, 21, 0], [20, 27, 1], [24, 31, 1]
+    ],
+    0x74: [  // LATIN SMALL LETTER T
+      [3, 4, 0], [3, 5, 0], [4, 7, 0], [4, 8, 0], [5, 8, 0], [6, 10, 0], [7, 12, 0], [8, 14, 0],
+      [10, 17, 0], [11, 19, 0], [14, 23, 0], [16, 27, 0], [19, 34, 1], [22, 39, 1]
+    ],
+    0x75: [  // LATIN SMALL LETTER U
+      [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
+      [13, 13, 0], [15, 15, 0], [18, 17, 0], [21, 20, 0], [25, 27, 1], [30, 31, 1]
+    ],
+    0x76: [  // LATIN SMALL LETTER V
+      [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
+      [13, 13, 0], [15, 15, 0], [18, 17, 0], [21, 20, 0], [25, 25, 0], [30, 29, 0]
+    ],
+    0x77: [  // LATIN SMALL LETTER W
+      [5, 3, 0], [6, 4, 0], [7, 5, 0], [8, 6, 0], [10, 6, 0], [12, 8, 0], [14, 9, 0], [16, 11, 0],
+      [19, 13, 0], [22, 15, 0], [27, 17, 0], [32, 20, 0], [37, 25, 0], [44, 29, 0]
+    ],
+    0x78: [  // LATIN SMALL LETTER X
+      [4, 3, 0], [4, 4, 0], [5, 5, 0], [6, 6, 0], [7, 6, 0], [8, 8, 0], [9, 9, 0], [11, 11, 0],
+      [13, 13, 0], [16, 15, 0], [18, 17, 0], [22, 20, 0], [26, 26, 0], [31, 30, 0]
+    ],
+    0x79: [  // LATIN SMALL LETTER Y
+      [4, 4, 1], [4, 6, 2], [5, 7, 2], [6, 9, 3], [7, 9, 3], [8, 11, 3], [9, 13, 4], [11, 16, 5],
+      [13, 18, 5], [15, 21, 6], [18, 25, 8], [21, 30, 10], [25, 37, 12], [30, 43, 14]
+    ],
+    0x7A: [  // LATIN SMALL LETTER Z
+      [3, 3, 0], [4, 4, 0], [4, 5, 0], [5, 6, 0], [6, 6, 0], [7, 8, 0], [8, 9, 0], [10, 11, 0],
+      [12, 13, 0], [14, 15, 0], [16, 17, 0], [19, 20, 0], [23, 26, 0], [27, 29, 0]
+    ],
+    0x7E: [  // TILDE
+      [3, 1, -1], [4, 1, -2], [5, 2, -2], [5, 2, -3], [6, 2, -3], [7, 4, -3], [9, 3, -4], [10, 3, -5],
+      [12, 4, -5], [14, 5, -6], [17, 6, -8], [20, 6, -9], [23, 8, -11], [28, 9, -13]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/SansSerif/Regular" +

+ 46 - 46
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/SansSerif/Regular/unpacked/CombDiacritMarks.js

@@ -25,52 +25,52 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_SansSerif": {
-        0x300: [  // COMBINING GRAVE ACCENT
-            [2, 1, -4], [3, 2, -4], [4, 2, -6], [3, 2, -7], [4, 2, -7], [4, 3, -9], [6, 4, -10], [6, 4, -13],
-            [7, 5, -15], [8, 6, -17], [10, 7, -20], [11, 8, -24], [13, 10, -29], [15, 11, -34]
-        ],
-        0x301: [  // COMBINING ACUTE ACCENT
-            [3, 1, -4], [3, 2, -4], [3, 2, -6], [4, 2, -7], [4, 2, -7], [5, 3, -9], [5, 4, -10], [7, 4, -13],
-            [7, 5, -15], [8, 6, -17], [9, 7, -20], [12, 8, -24], [13, 10, -29], [15, 11, -34]
-        ],
-        0x302: [  // COMBINING CIRCUMFLEX ACCENT
-            [3, 1, -4], [4, 2, -4], [5, 2, -6], [5, 2, -7], [5, 2, -7], [6, 3, -9], [8, 4, -10], [9, 4, -13],
-            [10, 5, -15], [12, 6, -17], [14, 7, -20], [17, 8, -24], [20, 10, -29], [23, 11, -34]
-        ],
-        0x303: [  // COMBINING TILDE
-            [3, 1, -4], [4, 1, -5], [5, 2, -6], [5, 3, -6], [5, 2, -7], [6, 3, -9], [8, 3, -11], [9, 3, -14],
-            [10, 4, -16], [12, 5, -18], [14, 6, -21], [17, 6, -25], [20, 8, -31], [23, 9, -35]
-        ],
-        0x304: [  // COMBINING MACRON
-            [3, 1, -3], [4, 1, -5], [5, 1, -6], [6, 2, -6], [6, 2, -6], [7, 3, -9], [8, 2, -11], [9, 2, -13],
-            [11, 3, -16], [13, 3, -18], [15, 4, -22], [18, 4, -25], [21, 5, -31], [25, 6, -36]
-        ],
-        0x306: [  // COMBINING BREVE
-            [3, 1, -4], [4, 2, -4], [5, 2, -6], [6, 3, -6], [5, 3, -6], [7, 4, -8], [8, 4, -10], [9, 4, -13],
-            [10, 6, -14], [13, 6, -17], [15, 8, -19], [17, 9, -23], [20, 11, -28], [25, 12, -33]
-        ],
-        0x307: [  // COMBINING DOT ABOVE
-            [2, 1, -4], [2, 1, -5], [2, 2, -6], [2, 2, -7], [3, 2, -7], [3, 2, -10], [3, 3, -11], [4, 3, -14],
-            [4, 3, -17], [4, 4, -19], [5, 5, -23], [6, 5, -26], [7, 6, -33], [7, 7, -38]
-        ],
-        0x308: [  // COMBINING DIAERESIS
-            [3, 1, -4], [4, 1, -5], [3, 2, -6], [4, 2, -7], [5, 2, -7], [6, 2, -10], [6, 2, -12], [8, 3, -14],
-            [9, 3, -17], [11, 4, -19], [12, 4, -23], [15, 5, -27], [17, 6, -33], [21, 7, -38]
-        ],
-        0x30A: [  // COMBINING RING ABOVE
-            [3, 1, -4], [3, 2, -4], [4, 2, -6], [3, 2, -7], [4, 2, -7], [5, 3, -9], [6, 3, -11], [6, 5, -12],
-            [7, 6, -14], [8, 6, -17], [10, 7, -20], [11, 8, -24], [13, 10, -29], [15, 11, -34]
-        ],
-        0x30B: [  // COMBINING DOUBLE ACUTE ACCENT
-            [3, 2, -3], [4, 2, -4], [4, 2, -6], [5, 3, -6], [5, 3, -6], [6, 3, -9], [7, 4, -10], [9, 5, -12],
-            [10, 5, -15], [12, 6, -17], [13, 7, -20], [16, 8, -24], [19, 10, -29], [22, 11, -34]
-        ],
-        0x30C: [  // COMBINING CARON
-            [3, 1, -3], [4, 2, -4], [5, 2, -5], [5, 2, -6], [5, 2, -6], [6, 3, -9], [8, 4, -10], [9, 4, -12],
-            [10, 5, -14], [12, 6, -16], [14, 7, -19], [17, 8, -22], [20, 10, -28], [23, 11, -32]
-        ]
-    }
+  "MathJax_SansSerif": {
+    0x300: [  // COMBINING GRAVE ACCENT
+      [2, 1, -4], [3, 2, -4], [4, 2, -6], [3, 2, -7], [4, 2, -7], [4, 3, -9], [6, 4, -10], [6, 4, -13],
+      [7, 5, -15], [8, 6, -17], [10, 7, -20], [11, 8, -24], [13, 10, -29], [15, 11, -34]
+    ],
+    0x301: [  // COMBINING ACUTE ACCENT
+      [3, 1, -4], [3, 2, -4], [3, 2, -6], [4, 2, -7], [4, 2, -7], [5, 3, -9], [5, 4, -10], [7, 4, -13],
+      [7, 5, -15], [8, 6, -17], [9, 7, -20], [12, 8, -24], [13, 10, -29], [15, 11, -34]
+    ],
+    0x302: [  // COMBINING CIRCUMFLEX ACCENT
+      [3, 1, -4], [4, 2, -4], [5, 2, -6], [5, 2, -7], [5, 2, -7], [6, 3, -9], [8, 4, -10], [9, 4, -13],
+      [10, 5, -15], [12, 6, -17], [14, 7, -20], [17, 8, -24], [20, 10, -29], [23, 11, -34]
+    ],
+    0x303: [  // COMBINING TILDE
+      [3, 1, -4], [4, 1, -5], [5, 2, -6], [5, 3, -6], [5, 2, -7], [6, 3, -9], [8, 3, -11], [9, 3, -14],
+      [10, 4, -16], [12, 5, -18], [14, 6, -21], [17, 6, -25], [20, 8, -31], [23, 9, -35]
+    ],
+    0x304: [  // COMBINING MACRON
+      [3, 1, -3], [4, 1, -5], [5, 1, -6], [6, 2, -6], [6, 2, -6], [7, 3, -9], [8, 2, -11], [9, 2, -13],
+      [11, 3, -16], [13, 3, -18], [15, 4, -22], [18, 4, -25], [21, 5, -31], [25, 6, -36]
+    ],
+    0x306: [  // COMBINING BREVE
+      [3, 1, -4], [4, 2, -4], [5, 2, -6], [6, 3, -6], [5, 3, -6], [7, 4, -8], [8, 4, -10], [9, 4, -13],
+      [10, 6, -14], [13, 6, -17], [15, 8, -19], [17, 9, -23], [20, 11, -28], [25, 12, -33]
+    ],
+    0x307: [  // COMBINING DOT ABOVE
+      [2, 1, -4], [2, 1, -5], [2, 2, -6], [2, 2, -7], [3, 2, -7], [3, 2, -10], [3, 3, -11], [4, 3, -14],
+      [4, 3, -17], [4, 4, -19], [5, 5, -23], [6, 5, -26], [7, 6, -33], [7, 7, -38]
+    ],
+    0x308: [  // COMBINING DIAERESIS
+      [3, 1, -4], [4, 1, -5], [3, 2, -6], [4, 2, -7], [5, 2, -7], [6, 2, -10], [6, 2, -12], [8, 3, -14],
+      [9, 3, -17], [11, 4, -19], [12, 4, -23], [15, 5, -27], [17, 6, -33], [21, 7, -38]
+    ],
+    0x30A: [  // COMBINING RING ABOVE
+      [3, 1, -4], [3, 2, -4], [4, 2, -6], [3, 2, -7], [4, 2, -7], [5, 3, -9], [6, 3, -11], [6, 5, -12],
+      [7, 6, -14], [8, 6, -17], [10, 7, -20], [11, 8, -24], [13, 10, -29], [15, 11, -34]
+    ],
+    0x30B: [  // COMBINING DOUBLE ACUTE ACCENT
+      [3, 2, -3], [4, 2, -4], [4, 2, -6], [5, 3, -6], [5, 3, -6], [6, 3, -9], [7, 4, -10], [9, 5, -12],
+      [10, 5, -15], [12, 6, -17], [13, 7, -20], [16, 8, -24], [19, 10, -29], [22, 11, -34]
+    ],
+    0x30C: [  // COMBINING CARON
+      [3, 1, -3], [4, 2, -4], [5, 2, -5], [5, 2, -6], [5, 2, -6], [6, 3, -9], [8, 4, -10], [9, 4, -12],
+      [10, 5, -14], [12, 6, -16], [14, 7, -19], [17, 8, -22], [20, 10, -28], [23, 11, -32]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/SansSerif/Regular" +

+ 86 - 86
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Size3/Regular/unpacked/Main.js

@@ -25,92 +25,92 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Size3": {
-        0x20: [  // SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x28: [  // LEFT PARENTHESIS
-            [5, 17, 7], [6, 20, 8], [7, 24, 9], [9, 29, 11], [10, 34, 13], [12, 40, 16], [14, 47, 18], [17, 56, 22],
-            [20, 67, 26], [24, 79, 31], [28, 94, 37], [33, 112, 44], [39, 133, 52], [47, 158, 62]
-        ],
-        0x29: [  // RIGHT PARENTHESIS
-            [4, 17, 7], [5, 20, 8], [6, 24, 9], [7, 29, 11], [8, 34, 13], [9, 40, 16], [11, 47, 18], [13, 56, 22],
-            [15, 67, 26], [18, 79, 31], [21, 94, 37], [25, 112, 44], [30, 133, 52], [35, 158, 62]
-        ],
-        0x2F: [  // SOLIDUS
-            [7, 17, 7], [9, 20, 8], [10, 24, 9], [12, 28, 11], [14, 33, 13], [17, 40, 16], [20, 47, 18], [23, 56, 22],
-            [28, 67, 26], [33, 79, 31], [39, 94, 37], [46, 112, 44], [55, 133, 52], [66, 158, 62]
-        ],
-        0x5B: [  // LEFT SQUARE BRACKET
-            [4, 17, 7], [5, 20, 8], [6, 24, 10], [7, 28, 11], [8, 33, 13], [9, 41, 17], [11, 48, 19], [12, 57, 23],
-            [15, 66, 26], [17, 79, 31], [21, 94, 37], [24, 111, 44], [29, 133, 52], [34, 158, 62]
-        ],
-        0x5C: [  // REVERSE SOLIDUS
-            [7, 17, 7], [9, 20, 8], [10, 24, 9], [12, 28, 11], [14, 33, 13], [17, 40, 16], [20, 47, 18], [23, 56, 22],
-            [28, 67, 26], [33, 79, 31], [39, 94, 37], [46, 112, 44], [55, 133, 52], [65, 158, 62]
-        ],
-        0x5D: [  // RIGHT SQUARE BRACKET
-            [2, 17, 7], [3, 20, 8], [3, 24, 10], [4, 28, 11], [4, 33, 13], [5, 41, 17], [6, 48, 19], [7, 57, 23],
-            [8, 66, 26], [10, 79, 31], [11, 94, 37], [13, 111, 44], [16, 133, 52], [19, 158, 62]
-        ],
-        0x7B: [  // LEFT CURLY BRACKET
-            [5, 17, 7], [6, 20, 8], [7, 24, 9], [8, 29, 11], [9, 34, 13], [11, 40, 16], [13, 47, 18], [15, 56, 22],
-            [18, 67, 26], [21, 79, 31], [25, 94, 37], [29, 112, 44], [35, 133, 52], [41, 158, 62]
-        ],
-        0x7D: [  // RIGHT CURLY BRACKET
-            [5, 17, 7], [6, 20, 8], [7, 24, 9], [8, 29, 11], [9, 34, 13], [11, 40, 16], [13, 47, 18], [15, 56, 22],
-            [18, 67, 26], [21, 79, 31], [25, 94, 37], [29, 112, 44], [35, 133, 52], [41, 158, 62]
-        ],
-        0xA0: [  // NO-BREAK SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x2C6: [  // MODIFIER LETTER CIRCUMFLEX ACCENT
-            [11, 2, -4], [13, 2, -5], [16, 2, -6], [18, 3, -7], [22, 3, -8], [26, 4, -9], [30, 4, -11], [35, 5, -13],
-            [41, 6, -16], [49, 7, -19], [58, 8, -22], [69, 10, -26], [82, 12, -31], [97, 14, -37]
-        ],
-        0x2DC: [  // SMALL TILDE
-            [10, 2, -4], [12, 2, -5], [15, 2, -6], [17, 2, -7], [20, 2, -8], [24, 2, -10], [29, 4, -11], [34, 4, -13],
-            [40, 5, -16], [48, 5, -20], [57, 6, -24], [67, 7, -28], [80, 8, -34], [95, 9, -40]
-        ],
-        0x302: [  // COMBINING CIRCUMFLEX ACCENT
-            [11, 2, -4], [14, 2, -5], [16, 2, -6], [19, 3, -7], [22, 3, -8], [26, 4, -9], [30, 4, -11], [35, 5, -13],
-            [42, 6, -16], [49, 7, -19], [58, 8, -22], [69, 10, -26], [82, 12, -31], [97, 14, -37]
-        ],
-        0x303: [  // COMBINING TILDE
-            [10, 2, -4], [12, 2, -5], [15, 2, -6], [17, 2, -7], [20, 2, -8], [24, 2, -10], [29, 4, -11], [34, 4, -13],
-            [40, 5, -16], [48, 5, -20], [57, 6, -24], [68, 7, -28], [80, 8, -34], [95, 9, -40]
-        ],
-        0x221A: [  // SQUARE ROOT
-            [8, 17, 7], [9, 21, 8], [10, 25, 10], [12, 30, 12], [15, 35, 14], [17, 41, 16], [20, 48, 19], [24, 57, 23],
-            [29, 68, 27], [34, 80, 32], [40, 95, 38], [48, 113, 45], [57, 134, 53], [67, 159, 63]
-        ],
-        0x2308: [  // LEFT CEILING
-            [4, 17, 7], [5, 20, 8], [6, 25, 10], [7, 29, 12], [8, 34, 14], [10, 41, 16], [12, 48, 19], [14, 57, 23],
-            [16, 68, 27], [19, 80, 32], [23, 94, 37], [27, 113, 45], [32, 134, 53], [38, 159, 63]
-        ],
-        0x2309: [  // RIGHT CEILING
-            [3, 17, 7], [3, 20, 8], [5, 25, 10], [4, 29, 12], [5, 34, 14], [6, 41, 16], [7, 48, 19], [8, 57, 23],
-            [10, 68, 27], [12, 80, 32], [14, 94, 37], [16, 113, 45], [19, 134, 53], [23, 159, 63]
-        ],
-        0x230A: [  // LEFT FLOOR
-            [4, 18, 7], [5, 21, 8], [6, 25, 10], [7, 29, 11], [8, 34, 13], [10, 40, 16], [12, 48, 19], [14, 57, 23],
-            [16, 68, 27], [19, 80, 32], [23, 95, 38], [27, 113, 45], [32, 134, 53], [38, 159, 63]
-        ],
-        0x230B: [  // RIGHT FLOOR
-            [3, 18, 7], [3, 21, 8], [5, 25, 10], [4, 29, 11], [5, 34, 13], [6, 40, 16], [7, 48, 19], [8, 57, 23],
-            [10, 68, 27], [12, 80, 32], [14, 95, 38], [16, 113, 45], [19, 134, 53], [23, 159, 63]
-        ],
-        0x27E8: [  // MATHEMATICAL LEFT ANGLE BRACKET
-            [5, 18, 7], [6, 21, 8], [7, 25, 10], [8, 30, 12], [10, 35, 14], [11, 41, 16], [13, 48, 19], [16, 57, 23],
-            [19, 68, 27], [22, 80, 32], [26, 95, 38], [31, 113, 45], [37, 134, 53], [44, 159, 63]
-        ],
-        0x27E9: [  // MATHEMATICAL RIGHT ANGLE BRACKET
-            [5, 17, 7], [6, 21, 8], [7, 25, 10], [8, 30, 12], [9, 35, 14], [11, 41, 16], [13, 48, 19], [15, 57, 23],
-            [18, 68, 27], [21, 80, 32], [25, 95, 38], [29, 113, 45], [35, 134, 53], [41, 159, 63]
-        ]
-    }
+  "MathJax_Size3": {
+    0x20: [  // SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x28: [  // LEFT PARENTHESIS
+      [5, 17, 7], [6, 20, 8], [7, 24, 9], [9, 29, 11], [10, 34, 13], [12, 40, 16], [14, 47, 18], [17, 56, 22],
+      [20, 67, 26], [24, 79, 31], [28, 94, 37], [33, 112, 44], [39, 133, 52], [47, 158, 62]
+    ],
+    0x29: [  // RIGHT PARENTHESIS
+      [4, 17, 7], [5, 20, 8], [6, 24, 9], [7, 29, 11], [8, 34, 13], [9, 40, 16], [11, 47, 18], [13, 56, 22],
+      [15, 67, 26], [18, 79, 31], [21, 94, 37], [25, 112, 44], [30, 133, 52], [35, 158, 62]
+    ],
+    0x2F: [  // SOLIDUS
+      [7, 17, 7], [9, 20, 8], [10, 24, 9], [12, 28, 11], [14, 33, 13], [17, 40, 16], [20, 47, 18], [23, 56, 22],
+      [28, 67, 26], [33, 79, 31], [39, 94, 37], [46, 112, 44], [55, 133, 52], [66, 158, 62]
+    ],
+    0x5B: [  // LEFT SQUARE BRACKET
+      [4, 17, 7], [5, 20, 8], [6, 24, 10], [7, 28, 11], [8, 33, 13], [9, 41, 17], [11, 48, 19], [12, 57, 23],
+      [15, 66, 26], [17, 79, 31], [21, 94, 37], [24, 111, 44], [29, 133, 52], [34, 158, 62]
+    ],
+    0x5C: [  // REVERSE SOLIDUS
+      [7, 17, 7], [9, 20, 8], [10, 24, 9], [12, 28, 11], [14, 33, 13], [17, 40, 16], [20, 47, 18], [23, 56, 22],
+      [28, 67, 26], [33, 79, 31], [39, 94, 37], [46, 112, 44], [55, 133, 52], [65, 158, 62]
+    ],
+    0x5D: [  // RIGHT SQUARE BRACKET
+      [2, 17, 7], [3, 20, 8], [3, 24, 10], [4, 28, 11], [4, 33, 13], [5, 41, 17], [6, 48, 19], [7, 57, 23],
+      [8, 66, 26], [10, 79, 31], [11, 94, 37], [13, 111, 44], [16, 133, 52], [19, 158, 62]
+    ],
+    0x7B: [  // LEFT CURLY BRACKET
+      [5, 17, 7], [6, 20, 8], [7, 24, 9], [8, 29, 11], [9, 34, 13], [11, 40, 16], [13, 47, 18], [15, 56, 22],
+      [18, 67, 26], [21, 79, 31], [25, 94, 37], [29, 112, 44], [35, 133, 52], [41, 158, 62]
+    ],
+    0x7D: [  // RIGHT CURLY BRACKET
+      [5, 17, 7], [6, 20, 8], [7, 24, 9], [8, 29, 11], [9, 34, 13], [11, 40, 16], [13, 47, 18], [15, 56, 22],
+      [18, 67, 26], [21, 79, 31], [25, 94, 37], [29, 112, 44], [35, 133, 52], [41, 158, 62]
+    ],
+    0xA0: [  // NO-BREAK SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x2C6: [  // MODIFIER LETTER CIRCUMFLEX ACCENT
+      [11, 2, -4], [13, 2, -5], [16, 2, -6], [18, 3, -7], [22, 3, -8], [26, 4, -9], [30, 4, -11], [35, 5, -13],
+      [41, 6, -16], [49, 7, -19], [58, 8, -22], [69, 10, -26], [82, 12, -31], [97, 14, -37]
+    ],
+    0x2DC: [  // SMALL TILDE
+      [10, 2, -4], [12, 2, -5], [15, 2, -6], [17, 2, -7], [20, 2, -8], [24, 2, -10], [29, 4, -11], [34, 4, -13],
+      [40, 5, -16], [48, 5, -20], [57, 6, -24], [67, 7, -28], [80, 8, -34], [95, 9, -40]
+    ],
+    0x302: [  // COMBINING CIRCUMFLEX ACCENT
+      [11, 2, -4], [14, 2, -5], [16, 2, -6], [19, 3, -7], [22, 3, -8], [26, 4, -9], [30, 4, -11], [35, 5, -13],
+      [42, 6, -16], [49, 7, -19], [58, 8, -22], [69, 10, -26], [82, 12, -31], [97, 14, -37]
+    ],
+    0x303: [  // COMBINING TILDE
+      [10, 2, -4], [12, 2, -5], [15, 2, -6], [17, 2, -7], [20, 2, -8], [24, 2, -10], [29, 4, -11], [34, 4, -13],
+      [40, 5, -16], [48, 5, -20], [57, 6, -24], [68, 7, -28], [80, 8, -34], [95, 9, -40]
+    ],
+    0x221A: [  // SQUARE ROOT
+      [8, 17, 7], [9, 21, 8], [10, 25, 10], [12, 30, 12], [15, 35, 14], [17, 41, 16], [20, 48, 19], [24, 57, 23],
+      [29, 68, 27], [34, 80, 32], [40, 95, 38], [48, 113, 45], [57, 134, 53], [67, 159, 63]
+    ],
+    0x2308: [  // LEFT CEILING
+      [4, 17, 7], [5, 20, 8], [6, 25, 10], [7, 29, 12], [8, 34, 14], [10, 41, 16], [12, 48, 19], [14, 57, 23],
+      [16, 68, 27], [19, 80, 32], [23, 94, 37], [27, 113, 45], [32, 134, 53], [38, 159, 63]
+    ],
+    0x2309: [  // RIGHT CEILING
+      [3, 17, 7], [3, 20, 8], [5, 25, 10], [4, 29, 12], [5, 34, 14], [6, 41, 16], [7, 48, 19], [8, 57, 23],
+      [10, 68, 27], [12, 80, 32], [14, 94, 37], [16, 113, 45], [19, 134, 53], [23, 159, 63]
+    ],
+    0x230A: [  // LEFT FLOOR
+      [4, 18, 7], [5, 21, 8], [6, 25, 10], [7, 29, 11], [8, 34, 13], [10, 40, 16], [12, 48, 19], [14, 57, 23],
+      [16, 68, 27], [19, 80, 32], [23, 95, 38], [27, 113, 45], [32, 134, 53], [38, 159, 63]
+    ],
+    0x230B: [  // RIGHT FLOOR
+      [3, 18, 7], [3, 21, 8], [5, 25, 10], [4, 29, 11], [5, 34, 13], [6, 40, 16], [7, 48, 19], [8, 57, 23],
+      [10, 68, 27], [12, 80, 32], [14, 95, 38], [16, 113, 45], [19, 134, 53], [23, 159, 63]
+    ],
+    0x27E8: [  // MATHEMATICAL LEFT ANGLE BRACKET
+      [5, 18, 7], [6, 21, 8], [7, 25, 10], [8, 30, 12], [10, 35, 14], [11, 41, 16], [13, 48, 19], [16, 57, 23],
+      [19, 68, 27], [22, 80, 32], [26, 95, 38], [31, 113, 45], [37, 134, 53], [44, 159, 63]
+    ],
+    0x27E9: [  // MATHEMATICAL RIGHT ANGLE BRACKET
+      [5, 17, 7], [6, 21, 8], [7, 25, 10], [8, 30, 12], [9, 35, 14], [11, 41, 16], [13, 48, 19], [15, 57, 23],
+      [18, 68, 27], [21, 80, 32], [25, 95, 38], [29, 113, 45], [35, 134, 53], [41, 159, 63]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Size3/Regular" +

+ 106 - 106
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/fonts/HTML-CSS/TeX/png/Typewriter/Regular/unpacked/Other.js

@@ -25,112 +25,112 @@
  */
 
 MathJax.OutputJax["HTML-CSS"].defineImageData({
-    "MathJax_Typewriter": {
-        0xA0: [  // NO-BREAK SPACE
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
-            [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
-        ],
-        0x131: [  // LATIN SMALL LETTER DOTLESS I
-            [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 9, 0], [11, 10, 0],
-            [13, 12, 0], [16, 15, 0], [19, 17, 0], [22, 20, 0], [26, 24, 0], [31, 28, -1]
-        ],
-        0x237: [  // LATIN SMALL LETTER DOTLESS J
-            [3, 5, 2], [4, 6, 2], [4, 6, 2], [5, 8, 3], [6, 9, 3], [7, 11, 4], [8, 14, 5], [9, 15, 5],
-            [11, 18, 6], [13, 23, 8], [15, 26, 9], [18, 30, 10], [22, 36, 12], [25, 44, 15]
-        ],
-        0x300: [  // COMBINING GRAVE ACCENT
-            [2, 1, -3], [3, 1, -5], [4, 1, -5], [3, 2, -5], [4, 2, -6], [4, 2, -8], [5, 3, -10], [6, 3, -11],
-            [7, 4, -13], [8, 5, -16], [9, 5, -19], [10, 6, -22], [13, 7, -27], [15, 9, -32]
-        ],
-        0x301: [  // COMBINING ACUTE ACCENT
-            [3, 1, -3], [3, 1, -5], [3, 1, -5], [3, 2, -5], [4, 2, -6], [5, 2, -8], [5, 3, -10], [6, 3, -11],
-            [7, 4, -13], [8, 5, -16], [9, 5, -19], [11, 6, -22], [13, 7, -27], [15, 9, -32]
-        ],
-        0x302: [  // COMBINING CIRCUMFLEX ACCENT
-            [3, 1, -3], [4, 2, -4], [5, 2, -4], [5, 2, -5], [5, 2, -6], [7, 3, -7], [8, 3, -10], [9, 4, -10],
-            [10, 4, -13], [12, 5, -16], [14, 6, -18], [17, 7, -21], [19, 9, -25], [23, 10, -31]
-        ],
-        0x303: [  // COMBINING TILDE
-            [4, 1, -3], [4, 1, -5], [5, 1, -5], [5, 2, -5], [6, 3, -5], [7, 3, -7], [8, 3, -10], [9, 3, -11],
-            [11, 4, -13], [13, 5, -16], [15, 6, -18], [17, 7, -21], [21, 8, -26], [24, 10, -31]
-        ],
-        0x304: [  // COMBINING MACRON
-            [4, 1, -3], [4, 1, -4], [5, 1, -4], [6, 1, -6], [6, 2, -6], [7, 3, -7], [8, 2, -10], [10, 2, -11],
-            [11, 3, -14], [13, 3, -17], [16, 3, -19], [18, 4, -23], [21, 5, -27], [26, 6, -33]
-        ],
-        0x306: [  // COMBINING BREVE
-            [4, 1, -3], [4, 1, -5], [5, 1, -5], [6, 1, -6], [6, 2, -6], [7, 3, -8], [8, 2, -11], [10, 3, -11],
-            [11, 3, -14], [13, 4, -17], [15, 5, -19], [18, 5, -23], [21, 6, -28], [25, 7, -34]
-        ],
-        0x308: [  // COMBINING DIAERESIS
-            [3, 1, -3], [4, 1, -5], [4, 1, -5], [4, 2, -5], [5, 2, -6], [7, 2, -8], [7, 2, -11], [8, 3, -11],
-            [10, 3, -14], [11, 4, -17], [13, 4, -20], [16, 5, -23], [19, 6, -28], [22, 7, -34]
-        ],
-        0x30A: [  // COMBINING RING ABOVE
-            [2, 1, -3], [2, 1, -5], [3, 1, -5], [3, 2, -5], [3, 2, -6], [3, 2, -8], [4, 3, -10], [4, 3, -11],
-            [5, 3, -14], [7, 5, -16], [7, 5, -19], [8, 6, -22], [10, 7, -27], [12, 8, -33]
-        ],
-        0x30C: [  // COMBINING CARON
-            [3, 1, -3], [4, 1, -4], [5, 1, -4], [5, 2, -5], [5, 2, -6], [7, 2, -7], [8, 3, -9], [8, 3, -10],
-            [10, 4, -12], [12, 5, -15], [14, 5, -17], [16, 6, -21], [19, 7, -25], [23, 9, -30]
-        ],
-        0x393: [  // GREEK CAPITAL LETTER GAMMA
-            [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 34, 0], [32, 41, 0]
-        ],
-        0x394: [  // GREEK CAPITAL LETTER DELTA
-            [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [17, 21, 0], [20, 24, 0], [23, 28, 0], [28, 34, 0], [33, 41, 0]
-        ],
-        0x398: [  // GREEK CAPITAL LETTER THETA
-            [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 10, 0], [9, 13, 0], [11, 14, 0],
-            [13, 17, 0], [16, 21, 0], [19, 24, 0], [22, 28, 0], [26, 34, 0], [31, 41, 0]
-        ],
-        0x39B: [  // GREEK CAPITAL LETTER LAMDA
-            [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [17, 21, 0], [20, 24, 0], [23, 28, 0], [28, 34, 0], [33, 41, 0]
-        ],
-        0x39E: [  // GREEK CAPITAL LETTER XI
-            [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 33, -1], [32, 40, -1]
-        ],
-        0x3A0: [  // GREEK CAPITAL LETTER PI
-            [4, 4, 0], [5, 6, 0], [6, 6, 0], [7, 7, 0], [8, 8, 0], [9, 10, 0], [11, 13, 0], [12, 14, 0],
-            [15, 17, 0], [17, 21, 0], [21, 24, 0], [24, 28, 0], [29, 34, 0], [34, 41, 0]
-        ],
-        0x3A3: [  // GREEK CAPITAL LETTER SIGMA
-            [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 33, 0], [32, 40, 0]
-        ],
-        0x3A5: [  // GREEK CAPITAL LETTER UPSILON
-            [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 29, 0], [27, 34, 0], [32, 41, 0]
-        ],
-        0x3A6: [  // GREEK CAPITAL LETTER PHI
-            [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 34, 0], [32, 41, 0]
-        ],
-        0x3A8: [  // GREEK CAPITAL LETTER PSI
-            [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 34, 0], [32, 41, 0]
-        ],
-        0x3A9: [  // GREEK CAPITAL LETTER OMEGA
-            [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
-            [14, 17, 0], [17, 21, 0], [20, 24, 0], [23, 28, 0], [28, 34, 0], [33, 42, 0]
-        ],
-        0x7E2: [  // ??
-            [3, 3, -1], [3, 4, -2], [4, 4, -2], [4, 5, -3], [5, 6, -3], [6, 7, -4], [7, 7, -5], [9, 9, -6],
-            [10, 10, -7], [12, 12, -9], [14, 13, -11], [17, 16, -13], [20, 19, -15], [23, 23, -18]
-        ],
-        0x7E3: [  // ??
-            [3, 3, -2], [3, 4, -2], [4, 4, -3], [5, 4, -4], [5, 6, -4], [6, 7, -5], [7, 8, -6], [9, 8, -8],
-            [10, 10, -9], [12, 12, -11], [14, 14, -13], [17, 16, -16], [20, 19, -19], [24, 22, -23]
-        ],
-        0x2032: [  // PRIME
-            [3, 2, -2], [3, 3, -3], [4, 3, -3], [4, 4, -3], [5, 4, -4], [6, 5, -5], [7, 6, -7], [8, 7, -7],
-            [9, 8, -9], [11, 10, -11], [13, 12, -12], [15, 14, -14], [18, 16, -18], [21, 20, -21]
-        ]
-    }
+  "MathJax_Typewriter": {
+    0xA0: [  // NO-BREAK SPACE
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0],
+      [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0], [1, 1, 0]
+    ],
+    0x131: [  // LATIN SMALL LETTER DOTLESS I
+      [4, 3, 0], [4, 4, 0], [5, 4, 0], [6, 5, 0], [7, 6, 0], [8, 7, 0], [9, 9, 0], [11, 10, 0],
+      [13, 12, 0], [16, 15, 0], [19, 17, 0], [22, 20, 0], [26, 24, 0], [31, 28, -1]
+    ],
+    0x237: [  // LATIN SMALL LETTER DOTLESS J
+      [3, 5, 2], [4, 6, 2], [4, 6, 2], [5, 8, 3], [6, 9, 3], [7, 11, 4], [8, 14, 5], [9, 15, 5],
+      [11, 18, 6], [13, 23, 8], [15, 26, 9], [18, 30, 10], [22, 36, 12], [25, 44, 15]
+    ],
+    0x300: [  // COMBINING GRAVE ACCENT
+      [2, 1, -3], [3, 1, -5], [4, 1, -5], [3, 2, -5], [4, 2, -6], [4, 2, -8], [5, 3, -10], [6, 3, -11],
+      [7, 4, -13], [8, 5, -16], [9, 5, -19], [10, 6, -22], [13, 7, -27], [15, 9, -32]
+    ],
+    0x301: [  // COMBINING ACUTE ACCENT
+      [3, 1, -3], [3, 1, -5], [3, 1, -5], [3, 2, -5], [4, 2, -6], [5, 2, -8], [5, 3, -10], [6, 3, -11],
+      [7, 4, -13], [8, 5, -16], [9, 5, -19], [11, 6, -22], [13, 7, -27], [15, 9, -32]
+    ],
+    0x302: [  // COMBINING CIRCUMFLEX ACCENT
+      [3, 1, -3], [4, 2, -4], [5, 2, -4], [5, 2, -5], [5, 2, -6], [7, 3, -7], [8, 3, -10], [9, 4, -10],
+      [10, 4, -13], [12, 5, -16], [14, 6, -18], [17, 7, -21], [19, 9, -25], [23, 10, -31]
+    ],
+    0x303: [  // COMBINING TILDE
+      [4, 1, -3], [4, 1, -5], [5, 1, -5], [5, 2, -5], [6, 3, -5], [7, 3, -7], [8, 3, -10], [9, 3, -11],
+      [11, 4, -13], [13, 5, -16], [15, 6, -18], [17, 7, -21], [21, 8, -26], [24, 10, -31]
+    ],
+    0x304: [  // COMBINING MACRON
+      [4, 1, -3], [4, 1, -4], [5, 1, -4], [6, 1, -6], [6, 2, -6], [7, 3, -7], [8, 2, -10], [10, 2, -11],
+      [11, 3, -14], [13, 3, -17], [16, 3, -19], [18, 4, -23], [21, 5, -27], [26, 6, -33]
+    ],
+    0x306: [  // COMBINING BREVE
+      [4, 1, -3], [4, 1, -5], [5, 1, -5], [6, 1, -6], [6, 2, -6], [7, 3, -8], [8, 2, -11], [10, 3, -11],
+      [11, 3, -14], [13, 4, -17], [15, 5, -19], [18, 5, -23], [21, 6, -28], [25, 7, -34]
+    ],
+    0x308: [  // COMBINING DIAERESIS
+      [3, 1, -3], [4, 1, -5], [4, 1, -5], [4, 2, -5], [5, 2, -6], [7, 2, -8], [7, 2, -11], [8, 3, -11],
+      [10, 3, -14], [11, 4, -17], [13, 4, -20], [16, 5, -23], [19, 6, -28], [22, 7, -34]
+    ],
+    0x30A: [  // COMBINING RING ABOVE
+      [2, 1, -3], [2, 1, -5], [3, 1, -5], [3, 2, -5], [3, 2, -6], [3, 2, -8], [4, 3, -10], [4, 3, -11],
+      [5, 3, -14], [7, 5, -16], [7, 5, -19], [8, 6, -22], [10, 7, -27], [12, 8, -33]
+    ],
+    0x30C: [  // COMBINING CARON
+      [3, 1, -3], [4, 1, -4], [5, 1, -4], [5, 2, -5], [5, 2, -6], [7, 2, -7], [8, 3, -9], [8, 3, -10],
+      [10, 4, -12], [12, 5, -15], [14, 5, -17], [16, 6, -21], [19, 7, -25], [23, 9, -30]
+    ],
+    0x393: [  // GREEK CAPITAL LETTER GAMMA
+      [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 34, 0], [32, 41, 0]
+    ],
+    0x394: [  // GREEK CAPITAL LETTER DELTA
+      [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [17, 21, 0], [20, 24, 0], [23, 28, 0], [28, 34, 0], [33, 41, 0]
+    ],
+    0x398: [  // GREEK CAPITAL LETTER THETA
+      [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 10, 0], [9, 13, 0], [11, 14, 0],
+      [13, 17, 0], [16, 21, 0], [19, 24, 0], [22, 28, 0], [26, 34, 0], [31, 41, 0]
+    ],
+    0x39B: [  // GREEK CAPITAL LETTER LAMDA
+      [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [17, 21, 0], [20, 24, 0], [23, 28, 0], [28, 34, 0], [33, 41, 0]
+    ],
+    0x39E: [  // GREEK CAPITAL LETTER XI
+      [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 33, -1], [32, 40, -1]
+    ],
+    0x3A0: [  // GREEK CAPITAL LETTER PI
+      [4, 4, 0], [5, 6, 0], [6, 6, 0], [7, 7, 0], [8, 8, 0], [9, 10, 0], [11, 13, 0], [12, 14, 0],
+      [15, 17, 0], [17, 21, 0], [21, 24, 0], [24, 28, 0], [29, 34, 0], [34, 41, 0]
+    ],
+    0x3A3: [  // GREEK CAPITAL LETTER SIGMA
+      [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 33, 0], [32, 40, 0]
+    ],
+    0x3A5: [  // GREEK CAPITAL LETTER UPSILON
+      [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 29, 0], [27, 34, 0], [32, 41, 0]
+    ],
+    0x3A6: [  // GREEK CAPITAL LETTER PHI
+      [4, 4, 0], [4, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [8, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 34, 0], [32, 41, 0]
+    ],
+    0x3A8: [  // GREEK CAPITAL LETTER PSI
+      [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [16, 21, 0], [19, 24, 0], [23, 28, 0], [27, 34, 0], [32, 41, 0]
+    ],
+    0x3A9: [  // GREEK CAPITAL LETTER OMEGA
+      [4, 4, 0], [5, 6, 0], [5, 6, 0], [6, 7, 0], [7, 8, 0], [9, 10, 0], [10, 13, 0], [12, 14, 0],
+      [14, 17, 0], [17, 21, 0], [20, 24, 0], [23, 28, 0], [28, 34, 0], [33, 42, 0]
+    ],
+    0x7E2: [  // ??
+      [3, 3, -1], [3, 4, -2], [4, 4, -2], [4, 5, -3], [5, 6, -3], [6, 7, -4], [7, 7, -5], [9, 9, -6],
+      [10, 10, -7], [12, 12, -9], [14, 13, -11], [17, 16, -13], [20, 19, -15], [23, 23, -18]
+    ],
+    0x7E3: [  // ??
+      [3, 3, -2], [3, 4, -2], [4, 4, -3], [5, 4, -4], [5, 6, -4], [6, 7, -5], [7, 8, -6], [9, 8, -8],
+      [10, 10, -9], [12, 12, -11], [14, 14, -13], [17, 16, -16], [20, 19, -19], [24, 22, -23]
+    ],
+    0x2032: [  // PRIME
+      [3, 2, -2], [3, 3, -3], [4, 3, -3], [4, 4, -3], [5, 4, -4], [6, 5, -5], [7, 6, -7], [8, 7, -7],
+      [9, 8, -9], [11, 10, -11], [13, 12, -12], [15, 14, -14], [18, 16, -18], [21, 20, -21]
+    ]
+  }
 });
 
 MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].imgDir + "/Typewriter/Regular" +

+ 337 - 354
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/test/localization.html

@@ -1,14 +1,14 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <title>Localization</title>
-    <!-- Copyright (c) 2013-2015 The MathJax Consortium -->
-    <meta charset="utf-8"/>
-    <script type="text/javascript"
-            src="../unpacked/MathJax.js?config=TeX-MML-AM_HTMLorMML-full.js">
-        var _M_ = 'MISSING TRANSLATION';
-    </script>
-    <script type="text/x-mathjax-config">
+  <title>Localization</title>
+  <!-- Copyright (c) 2013-2015 The MathJax Consortium -->
+  <meta charset="utf-8"/>
+  <script type="text/javascript"
+          src="../unpacked/MathJax.js?config=TeX-MML-AM_HTMLorMML-full.js">
+    var _M_ = 'MISSING TRANSLATION';
+  </script>
+  <script type="text/x-mathjax-config">
   MathJax.Localization.strings.en.isLoaded = false;
   MathJax.Hub.Config({
     TeX: {
@@ -113,7 +113,7 @@
     document.getElementById('MathMLSingleElement').innerHTML = MathJax.Localization._(['MathML','MathMLSingleElement'], _M_);
   });
 
-    </script>
+  </script>
 
 </head>
 <body>
@@ -122,368 +122,351 @@
 
 <form name="form" action="localization.html" method="get">
     <p style="text-align: center;">
-        Language:
-        <select name="locale" onchange="document.form.submit()">
-        </select>
+      Language:
+      <select name="locale" onchange="document.form.submit()">
+      </select>
     </p>
 </form>
 
 <ul>
-    <li id="main">Main strings
+  <li id="main">Main strings
+    <ul>
+      <li>CookieConfig: <input type="button"
+                               onclick="confirm(MathJax.Localization._('CookieConfig', _M_))"
+                               value="Show confirm box"/></li>
+      <li>MathProcessingError:
+        <script id="s1"></script>
+      </li>
+      <li>MathError:
+        <script id="s2"></script>
+      </li>
+      <li>LoadFile: <input type="button"
+                           onclick="MathJax.Message.Set(['LoadFile',_M_,'MYFILE.JS'],null,null)"
+                           value="Show message box"/></li>
+      <li>Loading: <input type="button"
+                          onclick="MathJax.Message.Set(MathJax.Localization._('Loading',_M_)+'.....',null,null)"
+                          value="Show message box"/></li>
+      <li>LoadFailed: <input type="button"
+                             onclick="MathJax.Message.Set(['LoadFailed',_M_,'MYFILE.JS'],null,null)"
+                             value="Show message box"/></li>
+      <li>ProcessMath: <input type="button"
+                              onclick="MathJax.Message.Set(['ProcessMath',_M_,50],null,null)"
+                              value="Show message box"/></li>
+      <li>Processing: <input type="button"
+                             onclick="MathJax.Message.Set(MathJax.Localization._('Processing',_M_)+'.....',null,null)"
+                             value="Show message box"/></li>
+      <li>TypesetMath: <input type="button"
+                              onclick="MathJax.Message.Set(['TypesetMath',_M_,50],null,null)"
+                              value="Show message box"/></li>
+      <li>Typesetting: <input type="button"
+                              onclick="MathJax.Message.Set(MathJax.Localization._('Typesetting',_M_)+'.....',null,null)"
+                              value="Show message box"/></li>
+      <li>MathJaxNotSupported: <input type="button"
+                                      onclick="MathJax.Message.Set(MathJax.Localization._('MathJaxNotSupported',_M_),null,null)"
+                                      value="Show message box"/></li>
+    </ul>
+  </li>
+  <li id="HelpDialog">HelpDialog: <input type="button"
+                                         onclick="MathJax.Menu.Help()"
+                                         value="Show Help"/>
+  </li>
+  <li id="MathML">MathML:
+    <ul>
+      <li>BadMglyph:
+        <math>
+          <mi>
+            <mglyph alt="" src="BADURL"/>
+          </mi>
+        </math>
+      </li>
+      <li>BadMglyphFont:
+        <math>
+          <mi>
+            <mglyph fontfamily="BADFONT" alt="" src="" index="0"/>
+          </mi>
+        </math>
+      </li>
+      <li>MathPlayer: <input type="button"
+                             onclick="alert(MathJax.Localization._(['MathML','MathPlayer'], _M_))"
+                             value="Show alert box"/></li>
+      <li>CantCreateXMLParser: <input type="button"
+                                      onclick="alert(MathJax.Localization._(['MathML','CantCreateXMLParser'], _M_))"
+                                      value="Show alert box"/></li>
+      <li>UnknownNodeType:
+        <math>
+          <UNKNOWNNODE/>
+        </math>
+      </li>
+      <li>UnexpectedTextNode:
+        <math>UNEXPECTEDTEXT</math>
+      </li>
+      <li>ErrorParsingMathML:
+        <math>
+          <merror>
+            <mtext id="ErrorParsingMathML"></mtext>
+          </merror>
+        </math>
+    </li>
+      <li>ParsingError:
+        <script type="math/mml"></script>
+      </li>
+      <li>MathMLSingleElement:
+        <math>
+          <merror>
+            <mtext id="MathMLSingleElement"></mtext>
+          </merror>
+        </math>
+      <li>MathMLRootElement:
+        <script type="math/mml">
+          <INVALIDROOT/>
+        </script>
+      </li>
+    </ul>
+  </li>
+  <li id="FontWarnings">FontWarnings
+    <ul>
+      <li>webFont, fonts: <input type="button"
+                                 onclick="displayFontWarning('HTML-CSS Jax - Web-Font',['TeX','STIX'])"
+                                 value="Show Warning Message"/></li>
+      <li>imageFonts, fonts: <input type="button"
+                                    onclick="displayFontWarning('HTML-CSS Jax - using image fonts',['TeX','STIX'])"
+                                    value="Show Warning Message"/></li>
+      <li>noFonts, fonts: <input type="button"
+                                 onclick="displayFontWarning('HTML-CSS Jax - no valid font',['TeX','STIX'])"
+                                 value="Show Warning Message"/></li>
+      <li>webFont, TeX: <input type="button"
+                               onclick="displayFontWarning('HTML-CSS Jax - Web-Font',['TeX'])"
+                               value="Show Warning Message"/></li>
+      <li>webFont, STIX: <input type="button"
+                                onclick="displayFontWarning('HTML-CSS Jax - Web-Font',['STIX'])"
+                                value="Show Warning Message"/></li>
+    </ul>
+  </li>
+  <li id="MathMenu">MathMenu:
+    <ul>
+      <li>Right click on one these formulas to display the menu:
         <ul>
-            <li>CookieConfig: <input type="button"
-                                     onclick="confirm(MathJax.Localization._('CookieConfig', _M_))"
-                                     value="Show confirm box"/></li>
-            <li>MathProcessingError:
-                <script id="s1"></script>
-            </li>
-            <li>MathError:
-                <script id="s2"></script>
-            </li>
-            <li>LoadFile: <input type="button"
-                                 onclick="MathJax.Message.Set(['LoadFile',_M_,'MYFILE.JS'],null,null)"
-                                 value="Show message box"/></li>
-            <li>Loading: <input type="button"
-                                onclick="MathJax.Message.Set(MathJax.Localization._('Loading',_M_)+'.....',null,null)"
-                                value="Show message box"/></li>
-            <li>LoadFailed: <input type="button"
-                                   onclick="MathJax.Message.Set(['LoadFailed',_M_,'MYFILE.JS'],null,null)"
-                                   value="Show message box"/></li>
-            <li>ProcessMath: <input type="button"
-                                    onclick="MathJax.Message.Set(['ProcessMath',_M_,50],null,null)"
-                                    value="Show message box"/></li>
-            <li>Processing: <input type="button"
-                                   onclick="MathJax.Message.Set(MathJax.Localization._('Processing',_M_)+'.....',null,null)"
-                                   value="Show message box"/></li>
-            <li>TypesetMath: <input type="button"
-                                    onclick="MathJax.Message.Set(['TypesetMath',_M_,50],null,null)"
-                                    value="Show message box"/></li>
-            <li>Typesetting: <input type="button"
-                                    onclick="MathJax.Message.Set(MathJax.Localization._('Typesetting',_M_)+'.....',null,null)"
-                                    value="Show message box"/></li>
-            <li>MathJaxNotSupported: <input type="button"
-                                            onclick="MathJax.Message.Set(MathJax.Localization._('MathJaxNotSupported',_M_),null,null)"
-                                            value="Show message box"/></li>
+          <li>TeX: \( x \)</li>
+          <li>AsciiMath: `x`</li>
+          <li>MathML:
+            <math>
+              <mi>x</mi>
+            </math>
+          </li>
+          <li>MathProcessingError:
+            <script id="s3"></script>
+          </li>
+          <li>Annotation:
+            <math>
+              <semantics>
+                <mi>x</mi>
+                <annotation encoding="TeX">x (TeX)</annotation>
+                <annotation encoding="StarMath 5.0">x (StarMath)</annotation>
+                <annotation encoding="Maple">x (Maple)</annotation>
+                <annotation-xml encoding="MathML-Content">
+                  <ci>x</ci>
+                </annotation-xml>
+                <annotation-xml encoding="OpenMath">
+                  <OMV name="x"/>
+                </annotation-xml>
+              </semantics>
+            </math>
+          </li>
         </ul>
     </li>
-    <li id="HelpDialog">HelpDialog: <input type="button"
-                                           onclick="MathJax.Menu.Help()"
-                                           value="Show Help"/>
-    </li>
-    <li id="MathML">MathML:
+      <li>About Box: <input type="button" onclick="MathJax.Menu.About()"
+                            value="Show About Box"/></li>
+      <li>WebkitNativeMMLWarning: <input type="button"
+                                         onclick="switchRendererWarning('WebkitNativeMMLWarning')"
+                                         value="Show alert box"/></li>
+      <li>MSIENativeMMLWarning: <input type="button"
+                                       onclick="switchRendererWarning('MSIENativeMMLWarning')"
+                                       value="Show alert box"/></li>
+      <li>OperaNativeMMLWarning: <input type="button"
+                                        onclick="switchRendererWarning('OperaNativeMMLWarning')"
+                                        value="Show alert box"/></li>
+      <li>SafariNativeMMLWarning: <input type="button"
+                                         onclick="switchRendererWarning('SafariNativeMMLWarning')"
+                                         value="Show alert box"/></li>
+      <li>FirefoxNativeMMLWarning: <input type="button"
+                                          onclick="switchRendererWarning('FirefoxNativeMMLWarning')"
+                                          value="Show alert box"/></li>
+      <li>MSIESVGWarning: <input type="button"
+                                 onclick="switchRendererWarning('MSIESVGWarning')"
+                                 value="Show alert box"/></li>
+      <li>LoadURL: <input type="button"
+                          onclick="prompt(MathJax.Localization._(['MathMenu','LoadURL'], _M_))"
+                          value="Show prompt box"/></li>
+      <li>BadURL: <input type="button"
+                         onclick="alert(MathJax.Localization._(['MathMenu','BadURL'], _M_))"
+                         value="Show alert box"/></li>
+      <li>BadData: <input type="button"
+                          onclick="alert(MathJax.Localization._(['MathMenu','BadData'], _M_, 'BADDATA'))"
+                          value="Show alert box"/></li>
+      <li>ScaleMath: <input type="button"
+                            onclick="prompt(MathJax.Localization._(['MathMenu','ScaleMath'], _M_))"
+                            value="Show prompt box"/></li>
+      <li>NonZeroScale: <input type="button"
+                               onclick="alert(MathJax.Localization._(['MathMenu','NonZeroScale'], _M_))"
+                               value="Show alert box"/></li>
+      <li>PercentScale: <input type="button"
+                               onclick="alert(MathJax.Localization._(['MathMenu','PercentScale'], _M_))"
+                               value="Show alert box"/></li>
+      <li>IE8warning: <input type="button"
+                             onclick="confirm(MathJax.Localization._(['MathMenu','IE8warning'], _M_))"
+                             value="Show confirm box"/></li>
+      <li>IE9warning: <input type="button"
+                             onclick="alert(MathJax.Localization._(['MathMenu','IE9warning'], _M_))"
+                             value="Show alert box"/></li>
+      <li>NoOriginalForm: <input type="button"
+                                 onclick="alert(MathJax.Localization._(['MathMenu','NoOriginalForm'], _M_))"
+                                 value="Show alert box"/></li>
+      <li>'Show Math As' window: <input type="button"
+                                        onclick="MathJax.Menu.ShowSource.Text('POPUP CONTENT')"
+                                        value="Open popup"/></li>
+    </ul>
+  </li>
+  <li id="HTML-CSS">HTML-CSS:
+    <ul>
+      <li>LoadWebFont: <input type="button"
+                              onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','LoadWebFont'],_M_,'FONTNAME'),null,null)"
+                              value="Show message box"/></li>
+      <li>CantLoadWebFont: <input type="button"
+                                  onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','CantLoadWebFont'],_M_,'FONTNAME'),null,null)"
+                                  value="Show message box"/></li>
+      <li>FirefoxCantLoadWebFont: <input type="button"
+                                         onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','FirefoxCantLoadWebFont'],_M_),null,null)"
+                                         value="Show message box"/></li>
+      <li>CantFindFontUsing: <input type="button"
+                                    onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','CantFindFontUsing'],_M_,'FONT1,FONT2'),null,null)"
+                                    value="Show message box"/></li>
+      <li>WebFontsNotAvailable: <input type="button"
+                                       onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','WebFontsNotAvailable'],_M_),null,null)"
+                                       value="Show message box"/></li>
+    </ul>
+  </li>
+  <li id="TeX">TeX:
+    <ul>
+      <li>Main commands
         <ul>
-            <li>BadMglyph:
-                <math>
-                    <mi>
-                        <mglyph alt="" src="BADURL"/>
-                    </mi>
-                </math>
-            </li>
-            <li>BadMglyphFont:
-                <math>
-                    <mi>
-                        <mglyph fontfamily="BADFONT" alt="" src="" index="0"/>
-                    </mi>
-                </math>
-            </li>
-            <li>MathPlayer: <input type="button"
-                                   onclick="alert(MathJax.Localization._(['MathML','MathPlayer'], _M_))"
-                                   value="Show alert box"/></li>
-            <li>CantCreateXMLParser: <input type="button"
-                                            onclick="alert(MathJax.Localization._(['MathML','CantCreateXMLParser'], _M_))"
-                                            value="Show alert box"/></li>
-            <li>UnknownNodeType:
-                <math>
-                    <UNKNOWNNODE/>
-                </math>
-            </li>
-            <li>UnexpectedTextNode:
-                <math>UNEXPECTEDTEXT</math>
-            </li>
-            <li>ErrorParsingMathML:
-                <math>
-                    <merror>
-                        <mtext id="ErrorParsingMathML"></mtext>
-                    </merror>
-                </math>
-            </li>
-            <li>ParsingError:
-                <script type="math/mml"></script>
-            </li>
-            <li>MathMLSingleElement:
-                <math>
-                    <merror>
-                        <mtext id="MathMLSingleElement"></mtext>
-                    </merror>
-                </math>
-            <li>MathMLRootElement:
-                <script type="math/mml">
-                    <INVALIDROOT/>
-                </script>
-            </li>
+          <li>ExtraOpenMissingClose: \( { \)</li>
+          <li>ExtraCloseMissingOpen: \( } \)</li>
+          <li>MissingLeftExtraRight: \( \right) \)</li>
+          <li>MissingScript: \( x^ \)</li>
+          <li>ExtraLeftMissingRight: \( \left( \)</li>
+          <li>Misplaced: \( & \)</li>
+          <li>MissingOpenForSub: \( x__ \)</li>
+          <li>MissingOpenForSup: \( x^^ \)</li>
+          <li>AmbiguousUseOf: \( x \over y \over z \)</li>
+          <li>EnvBadEnd: \( \begin{aligned} \end{eqarray} \)</li>
+          <li>EnvMissingEnd: \( \begin{aligned} \)</li>
+          <li>MissingBoxFor: \( \raise 1pt \)</li>
+          <li>MissingCloseBrace: \( \array{ \)</li>
+          <li>UndefinedControlSequence: \( \UNDEFINED \)</li>
+          <li>DoubleExponent: \( x^3^2 \)</li>
+          <li>DoubleSubscripts: \( x_3_2 \)</li>
+          <li>DoubleExponentPrime: \( x^2' \)</li>
+          <li>CantUseHash1: \( # \)</li>
+          <li>MisplacedMiddle: \( \middle| \)</li>
+          <li>MisplacedLimits: \( \limits \)</li>
+          <li>MisplacedMoveRoot: \( \uproot \)</li>
+
+          <li>IntegerArg: \( \sqrt[\uproot{INVALID}]{x} \)</li>
+          <li>NotMathMLToken: \( \mmlToken{INVALID}{x} \)</li>
+          <li>InvalidMathMLAttr: \( \mmlToken{mi}[_INVALID_]{x} \)</li>
+          <li>UnknownAttrForElement: \( \mmlToken{mi}[INVALIDATTR='']{x} \)</li>
+          <li>MaxMacroSub1: \( \newcommand{\a}{\a} \a \)</li>
+          <li>MaxMacroSub2: \( \newenvironment{a}{\begin{a}}{\end{a}}
+            \begin{a}\end{a} \)
+          </li>
+          <li>MissingArgFor: \( \frac{a} \)</li>
+          <li>ExtraAlignTab: \( \cases{a & b & c} \)</li>
+          <li>BracketMustBeDimension: \(\begin{array} x \\[INVALID] y
+            \end{array}\)
+          </li>
+          <li>InvalidEnv: \( \begin{_INVALID_} \end{_INVALID_} \)</li>
+          <li>UnknownEnv: \( \begin{UNKNOWN} \end{UNKNOWN} \)</li>
+          <li>ExtraCloseLooking: \( \sqrt[}]x \)</li>
+          <li>MissingCloseBracket: \( \sqrt[ \)</li>
+          <li>MissingOrUnrecognizedDelim: \( \left \)</li>
+          <li>MissingDimOrUnits: \( x \above y \)</li>
+          <li>TokenNotFoundForCommand: \( \root{x} \)</li>
+          <li>MathNotTerminated: \( \text{$x} \)</li>
+          <li>IllegalMacroParam: \( \def\mymacro#1{#2} \mymacro{x} \)</li>
+          <li>MaxBufferSize: \( \newcommand{\a}{\a\a} \a \)
+          </li>
         </ul>
-    </li>
-    <li id="FontWarnings">FontWarnings
+      </li>
+      <li>AMSmath
         <ul>
-            <li>webFont, fonts: <input type="button"
-                                       onclick="displayFontWarning('HTML-CSS Jax - Web-Font',['TeX','STIX'])"
-                                       value="Show Warning Message"/></li>
-            <li>imageFonts, fonts: <input type="button"
-                                          onclick="displayFontWarning('HTML-CSS Jax - using image fonts',['TeX','STIX'])"
-                                          value="Show Warning Message"/></li>
-            <li>noFonts, fonts: <input type="button"
-                                       onclick="displayFontWarning('HTML-CSS Jax - no valid font',['TeX','STIX'])"
-                                       value="Show Warning Message"/></li>
-            <li>webFont, TeX: <input type="button"
-                                     onclick="displayFontWarning('HTML-CSS Jax - Web-Font',['TeX'])"
-                                     value="Show Warning Message"/></li>
-            <li>webFont, STIX: <input type="button"
-                                      onclick="displayFontWarning('HTML-CSS Jax - Web-Font',['STIX'])"
-                                      value="Show Warning Message"/></li>
+          <li>CommandNotAllowedInEnv: \(\begin{split} x \tag{x} \end{split} \)
+          </li>
+          <li>MultipleCommand: \( \tag{x} \tag{y} \)</li>
+          <li>MultipleLabel: \( \label{x} \) \(\ \label{x} \)</li>
+          <li>CommandAtTheBeginingOfLine: \( \shoveleft \)</li>
+          <li>IllegalAlign: \( \cfrac[INVALID]{a}{b} \)</li>
+          <li>BadMathStyleFor: \( \genfrac{\{}{\}}{0pt}{INVALID}{a}{b} \)</li>
+          <li>PositiveIntegerArg:
+            \(\begin{alignedat}{INVALID}\end{alignedat}\)
+          </li>
+          <li>ErroneousNestingEq: \( \begin{multline} \begin{multline}
+            \end{multline} \end{multline} \)
+          </li>
+          <li>MultlineRowsOneCol: \( \begin{multline} x & y \end{multline} \)
+          </li>
         </ul>
-    </li>
-    <li id="MathMenu">MathMenu:
+      </li>
+      <li>bbox
         <ul>
-            <li>Right click on one these formulas to display the menu:
-                <ul>
-                    <li>TeX: \( x \)</li>
-                    <li>AsciiMath: `x`</li>
-                    <li>MathML:
-                        <math>
-                            <mi>x</mi>
-                        </math>
-                    </li>
-                    <li>MathProcessingError:
-                        <script id="s3"></script>
-                    </li>
-                    <li>Annotation:
-                        <math>
-                            <semantics>
-                                <mi>x</mi>
-                                <annotation encoding="TeX">x (TeX)</annotation>
-                                <annotation encoding="StarMath 5.0">x
-                                    (StarMath)
-                                </annotation>
-                                <annotation encoding="Maple">x (Maple)
-                                </annotation>
-                                <annotation-xml encoding="MathML-Content">
-                                    <ci>x</ci>
-                                </annotation-xml>
-                                <annotation-xml encoding="OpenMath">
-                                    <OMV name="x"/>
-                                </annotation-xml>
-                            </semantics>
-                        </math>
-                    </li>
-                </ul>
-            </li>
-            <li>About Box: <input type="button" onclick="MathJax.Menu.About()"
-                                  value="Show About Box"/></li>
-            <li>WebkitNativeMMLWarning: <input type="button"
-                                               onclick="switchRendererWarning('WebkitNativeMMLWarning')"
-                                               value="Show alert box"/></li>
-            <li>MSIENativeMMLWarning: <input type="button"
-                                             onclick="switchRendererWarning('MSIENativeMMLWarning')"
-                                             value="Show alert box"/></li>
-            <li>OperaNativeMMLWarning: <input type="button"
-                                              onclick="switchRendererWarning('OperaNativeMMLWarning')"
-                                              value="Show alert box"/></li>
-            <li>SafariNativeMMLWarning: <input type="button"
-                                               onclick="switchRendererWarning('SafariNativeMMLWarning')"
-                                               value="Show alert box"/></li>
-            <li>FirefoxNativeMMLWarning: <input type="button"
-                                                onclick="switchRendererWarning('FirefoxNativeMMLWarning')"
-                                                value="Show alert box"/></li>
-            <li>MSIESVGWarning: <input type="button"
-                                       onclick="switchRendererWarning('MSIESVGWarning')"
-                                       value="Show alert box"/></li>
-            <li>LoadURL: <input type="button"
-                                onclick="prompt(MathJax.Localization._(['MathMenu','LoadURL'], _M_))"
-                                value="Show prompt box"/></li>
-            <li>BadURL: <input type="button"
-                               onclick="alert(MathJax.Localization._(['MathMenu','BadURL'], _M_))"
-                               value="Show alert box"/></li>
-            <li>BadData: <input type="button"
-                                onclick="alert(MathJax.Localization._(['MathMenu','BadData'], _M_, 'BADDATA'))"
-                                value="Show alert box"/></li>
-            <li>ScaleMath: <input type="button"
-                                  onclick="prompt(MathJax.Localization._(['MathMenu','ScaleMath'], _M_))"
-                                  value="Show prompt box"/></li>
-            <li>NonZeroScale: <input type="button"
-                                     onclick="alert(MathJax.Localization._(['MathMenu','NonZeroScale'], _M_))"
-                                     value="Show alert box"/></li>
-            <li>PercentScale: <input type="button"
-                                     onclick="alert(MathJax.Localization._(['MathMenu','PercentScale'], _M_))"
-                                     value="Show alert box"/></li>
-            <li>IE8warning: <input type="button"
-                                   onclick="confirm(MathJax.Localization._(['MathMenu','IE8warning'], _M_))"
-                                   value="Show confirm box"/></li>
-            <li>IE9warning: <input type="button"
-                                   onclick="alert(MathJax.Localization._(['MathMenu','IE9warning'], _M_))"
-                                   value="Show alert box"/></li>
-            <li>NoOriginalForm: <input type="button"
-                                       onclick="alert(MathJax.Localization._(['MathMenu','NoOriginalForm'], _M_))"
-                                       value="Show alert box"/></li>
-            <li>'Show Math As' window: <input type="button"
-                                              onclick="MathJax.Menu.ShowSource.Text('POPUP CONTENT')"
-                                              value="Open popup"/></li>
+          <li>MultipleBBoxProperty: \( \bbox[green,blue]{} \)</li>
+          <li>InvalidBBoxProperty: \( \bbox[_INVALID_]{} \)</li>
         </ul>
-    </li>
-    <li id="HTML-CSS">HTML-CSS:
+      </li>
+      <li>begingroup
         <ul>
-            <li>LoadWebFont: <input type="button"
-                                    onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','LoadWebFont'],_M_,'FONTNAME'),null,null)"
-                                    value="Show message box"/></li>
-            <li>CantLoadWebFont: <input type="button"
-                                        onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','CantLoadWebFont'],_M_,'FONTNAME'),null,null)"
-                                        value="Show message box"/></li>
-            <li>FirefoxCantLoadWebFont: <input type="button"
-                                               onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','FirefoxCantLoadWebFont'],_M_),null,null)"
-                                               value="Show message box"/></li>
-            <li>CantFindFontUsing: <input type="button"
-                                          onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','CantFindFontUsing'],_M_,'FONT1,FONT2'),null,null)"
-                                          value="Show message box"/></li>
-            <li>WebFontsNotAvailable: <input type="button"
-                                             onclick="MathJax.Message.Set(MathJax.Localization._(['HTML-CSS','WebFontsNotAvailable'],_M_),null,null)"
-                                             value="Show message box"/></li>
+          <li>ExtraEndMissingBegin: \( \endgroup \)</li>
+          <li>GlobalNotFollowedBy: \( \global\unknown \)</li>
         </ul>
-    </li>
-    <li id="TeX">TeX:
+      </li>
+      <li>color
         <ul>
-            <li>Main commands
-                <ul>
-                    <li>ExtraOpenMissingClose: \( { \)</li>
-                    <li>ExtraCloseMissingOpen: \( } \)</li>
-                    <li>MissingLeftExtraRight: \( \right) \)</li>
-                    <li>MissingScript: \( x^ \)</li>
-                    <li>ExtraLeftMissingRight: \( \left( \)</li>
-                    <li>Misplaced: \( & \)</li>
-                    <li>MissingOpenForSub: \( x__ \)</li>
-                    <li>MissingOpenForSup: \( x^^ \)</li>
-                    <li>AmbiguousUseOf: \( x \over y \over z \)</li>
-                    <li>EnvBadEnd: \( \begin{aligned} \end{eqarray} \)</li>
-                    <li>EnvMissingEnd: \( \begin{aligned} \)</li>
-                    <li>MissingBoxFor: \( \raise 1pt \)</li>
-                    <li>MissingCloseBrace: \( \array{ \)</li>
-                    <li>UndefinedControlSequence: \( \UNDEFINED \)</li>
-                    <li>DoubleExponent: \( x^3^2 \)</li>
-                    <li>DoubleSubscripts: \( x_3_2 \)</li>
-                    <li>DoubleExponentPrime: \( x^2' \)</li>
-                    <li>CantUseHash1: \( # \)</li>
-                    <li>MisplacedMiddle: \( \middle| \)</li>
-                    <li>MisplacedLimits: \( \limits \)</li>
-                    <li>MisplacedMoveRoot: \( \uproot \)</li>
-
-                    <li>IntegerArg: \( \sqrt[\uproot{INVALID}]{x} \)</li>
-                    <li>NotMathMLToken: \( \mmlToken{INVALID}{x} \)</li>
-                    <li>InvalidMathMLAttr: \( \mmlToken{mi}[_INVALID_]{x} \)
-                    </li>
-                    <li>UnknownAttrForElement: \(
-                        \mmlToken{mi}[INVALIDATTR='']{x} \)
-                    </li>
-                    <li>MaxMacroSub1: \( \newcommand{\a}{\a} \a \)</li>
-                    <li>MaxMacroSub2: \( \newenvironment{a}{\begin{a}}{\end{a}}
-                        \begin{a}\end{a} \)
-                    </li>
-                    <li>MissingArgFor: \( \frac{a} \)</li>
-                    <li>ExtraAlignTab: \( \cases{a & b & c} \)</li>
-                    <li>BracketMustBeDimension: \(\begin{array} x \\[INVALID] y
-                        \end{array}\)
-                    </li>
-                    <li>InvalidEnv: \( \begin{_INVALID_} \end{_INVALID_} \)</li>
-                    <li>UnknownEnv: \( \begin{UNKNOWN} \end{UNKNOWN} \)</li>
-                    <li>ExtraCloseLooking: \( \sqrt[}]x \)</li>
-                    <li>MissingCloseBracket: \( \sqrt[ \)</li>
-                    <li>MissingOrUnrecognizedDelim: \( \left \)</li>
-                    <li>MissingDimOrUnits: \( x \above y \)</li>
-                    <li>TokenNotFoundForCommand: \( \root{x} \)</li>
-                    <li>MathNotTerminated: \( \text{$x} \)</li>
-                    <li>IllegalMacroParam: \( \def\mymacro#1{#2} \mymacro{x}
-                        \)
-                    </li>
-                    <li>MaxBufferSize: \( \newcommand{\a}{\a\a} \a \)
-                    </li>
-                </ul>
-            </li>
-            <li>AMSmath
-                <ul>
-                    <li>CommandNotAllowedInEnv: \(\begin{split} x \tag{x}
-                        \end{split} \)
-                    </li>
-                    <li>MultipleCommand: \( \tag{x} \tag{y} \)</li>
-                    <li>MultipleLabel: \( \label{x} \) \(\ \label{x} \)</li>
-                    <li>CommandAtTheBeginingOfLine: \( \shoveleft \)</li>
-                    <li>IllegalAlign: \( \cfrac[INVALID]{a}{b} \)</li>
-                    <li>BadMathStyleFor: \( \genfrac{\{}{\}}{0pt}{INVALID}{a}{b}
-                        \)
-                    </li>
-                    <li>PositiveIntegerArg:
-                        \(\begin{alignedat}{INVALID}\end{alignedat}\)
-                    </li>
-                    <li>ErroneousNestingEq: \( \begin{multline} \begin{multline}
-                        \end{multline} \end{multline} \)
-                    </li>
-                    <li>MultlineRowsOneCol: \( \begin{multline} x & y
-                        \end{multline} \)
-                    </li>
-                </ul>
-            </li>
-            <li>bbox
-                <ul>
-                    <li>MultipleBBoxProperty: \( \bbox[green,blue]{} \)</li>
-                    <li>InvalidBBoxProperty: \( \bbox[_INVALID_]{} \)</li>
-                </ul>
-            </li>
-            <li>begingroup
-                <ul>
-                    <li>ExtraEndMissingBegin: \( \endgroup \)</li>
-                    <li>GlobalNotFollowedBy: \( \global\unknown \)</li>
-                </ul>
-            </li>
-            <li>color
-                <ul>
-                    <li>UndefinedColorModel: \( \color[COLORMODEL]{}{} \)</li>
-                    <li>ModelArg1: \( \color[RGB]{}{} \)</li>
-                    <li>InvalidDecimalNumber: \( \color[rgb]{,,}{} \)</li>
-                    <li>ModelArg2: \( \color[RGB]{256,,}{} \)</li>
-                    <li>InvalidNumber: \( \color[RGB]{,,}{} \)</li>
-                </ul>
-            </li>
-            <li>extpfeil
-                <ul>
-                    <li>NewextarrowArg1: \( \Newextarrow{}{}{} \)</li>
-                    <li>NewextarrowArg2: \( \Newextarrow{\myarrow}{}{} \)</li>
-                    <li>NewextarrowArg3: \( \Newextarrow{\myarrow}{0,0}{} \)
-                    </li>
-                </ul>
-            </li>
-            <li>mhchem
-                <ul>
-                    <li>NoClosingChar: \( \ce{ ->[ } \)</li>
-                </ul>
-            </li>
-            <li>newcommand
-                <ul>
-                    <li>IllegalControlSequenceName: \( \newcommand{_INVALID_}{}
-                        \)
-                    </li>
-                    <li>IllegalParamNumber: \( \newcommand{mycommand}[INVALID]{}
-                        \)
-                    </li>
-                    <li>MissingCS: \( \let INVALID \)</li>
-                    <li>CantUseHash2: \( \def\mycommand#A \)</li>
-                    <li>SequentialParam: \( \def\mycommand#2#1 \)</li>
-                    <li>MissingReplacementString: \( \def\mycommand \)</li>
-                    <li>MismatchUseDef: \( \def\mycommand[#1]#2[#3]{#1+#2+#3}
-                        \mycommand{a}{b}[c] \)
-                    </li>
-                    <li>RunawayArgument: \( \def\mycommand[#1][#2]#3{#1+#2+#3}
-                        \mycommand[a]{b} \)
-                    </li>
-                </ul>
-            </li>
-            <li>NoClosingDelim: \( \verb?... \)</li>
+          <li>UndefinedColorModel: \( \color[COLORMODEL]{}{} \)</li>
+          <li>ModelArg1: \( \color[RGB]{}{} \)</li>
+          <li>InvalidDecimalNumber: \( \color[rgb]{,,}{} \)</li>
+          <li>ModelArg2: \( \color[RGB]{256,,}{} \)</li>
+          <li>InvalidNumber: \( \color[RGB]{,,}{} \)</li>
+        </ul>
+      </li>
+      <li>extpfeil
+        <ul>
+          <li>NewextarrowArg1: \( \Newextarrow{}{}{} \)</li>
+          <li>NewextarrowArg2: \( \Newextarrow{\myarrow}{}{} \)</li>
+          <li>NewextarrowArg3: \( \Newextarrow{\myarrow}{0,0}{} \)</li>
+        </ul>
+      </li>
+      <li>mhchem
+        <ul>
+          <li>NoClosingChar: \( \ce{ ->[ } \)</li>
+        </ul>
+      </li>
+      <li>newcommand
+        <ul>
+          <li>IllegalControlSequenceName: \( \newcommand{_INVALID_}{} \)</li>
+          <li>IllegalParamNumber: \( \newcommand{mycommand}[INVALID]{} \)</li>
+          <li>MissingCS: \( \let INVALID \)</li>
+          <li>CantUseHash2: \( \def\mycommand#A \)</li>
+          <li>SequentialParam: \( \def\mycommand#2#1 \)</li>
+          <li>MissingReplacementString: \( \def\mycommand \)</li>
+          <li>MismatchUseDef: \( \def\mycommand[#1]#2[#3]{#1+#2+#3}
+            \mycommand{a}{b}[c] \)
+          </li>
+          <li>RunawayArgument: \( \def\mycommand[#1][#2]#3{#1+#2+#3}
+            \mycommand[a]{b} \)
+          </li>
         </ul>
+      </li>
+      <li>NoClosingDelim: \( \verb?... \)</li>
+    </ul>
 </ul>
 
 </body>

+ 39 - 40
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/test/sample-loader-config.html

@@ -1,46 +1,45 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <title>Load MathJax with in-line configuration after the page is
-        ready</title>
-    <!-- Copyright (c) 2012-2015 The MathJax Consortium -->
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+  <title>Load MathJax with in-line configuration after the page is ready</title>
+  <!-- Copyright (c) 2012-2015 The MathJax Consortium -->
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
 
-    <script type="text/javascript">
-        //
-        //  We wait for the onload function to show that MathJax is laoded after
-        //  the page is ready, and then use setTimeout to prove that MathJax is
-        //  definitely loaded after the page is displayed and active.  MathJax is
-        //  loaded two seconds after the page is ready.
-        //
-        window.onload = function () {
-            setTimeout(function () {
-                var head = document.getElementsByTagName("head")[0], script;
-                script = document.createElement("script");
-                script.type = "text/x-mathjax-config";
-                script[(window.opera ? "innerHTML" : "text")] =
-                        "MathJax.Hub.Config({\n" +
-                        "  tex2jax: { inlineMath: [['$','$'], ['\\\\(','\\\\)']] }\n" +
-                        "});"
-                head.appendChild(script);
-                script = document.createElement("script");
-                script.type = "text/javascript";
-                script.src = "../MathJax.js?config=TeX-AMS-MML_HTMLorMML";
-                head.appendChild(script);
-            }, 2000)
-        }
-    </script>
+  <script type="text/javascript">
+    //
+    //  We wait for the onload function to show that MathJax is laoded after
+    //  the page is ready, and then use setTimeout to prove that MathJax is
+    //  definitely loaded after the page is displayed and active.  MathJax is
+    //  loaded two seconds after the page is ready.
+    //
+    window.onload = function () {
+      setTimeout(function () {
+        var head = document.getElementsByTagName("head")[0], script;
+        script = document.createElement("script");
+        script.type = "text/x-mathjax-config";
+        script[(window.opera ? "innerHTML" : "text")] =
+                "MathJax.Hub.Config({\n" +
+                "  tex2jax: { inlineMath: [['$','$'], ['\\\\(','\\\\)']] }\n" +
+                "});"
+        head.appendChild(script);
+        script = document.createElement("script");
+        script.type = "text/javascript";
+        script.src = "../MathJax.js?config=TeX-AMS-MML_HTMLorMML";
+        head.appendChild(script);
+      }, 2000)
+    }
+  </script>
 
-    <style>
-        h1 {
-            text-align: center;
-            background: #CCCCCC;
-            padding: .2em 1em;
-            border-top: 3px solid #666666;
-            border-bottom: 3px solid #999999;
-        }
-    </style>
+  <style>
+    h1 {
+      text-align: center;
+      background: #CCCCCC;
+      padding: .2em 1em;
+      border-top: 3px solid #666666;
+      border-bottom: 3px solid #999999;
+    }
+  </style>
 
 </head>
 <body>
@@ -48,8 +47,8 @@
 <h1>Adding MathJax with In-Line Configuration</h1>
 
 <p>
-    When $a \ne 0$, there are two solutions to $ax^2 + bx + c = 0$ and they are
-    $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
+  When $a \ne 0$, there are two solutions to $ax^2 + bx + c = 0$ and they are
+  $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
 </p>
 
 </body>

+ 54 - 54
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/test/sample-mml.html

@@ -1,69 +1,69 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <title>MathJax MathML Test Page</title>
-    <!-- Copyright (c) 2010-2015 The MathJax Consortium -->
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+  <title>MathJax MathML Test Page</title>
+  <!-- Copyright (c) 2010-2015 The MathJax Consortium -->
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
 
-    <script type="text/javascript"
-            src="../MathJax.js?config=MML_HTMLorMML-full"></script>
+  <script type="text/javascript"
+          src="../MathJax.js?config=MML_HTMLorMML-full"></script>
 
 </head>
 <body>
 
 <p>
-    When
-    <math xmlns="http://www.w3.org/1998/Math/MathML">
-        <mi>a</mi>
-        <mo>&#x2260;</mo>
-        <mn>0</mn>
-    </math>
-    ,
-    there are two solutions to
-    <math xmlns="http://www.w3.org/1998/Math/MathML">
-        <mi>a</mi>
-        <msup>
-            <mi>x</mi>
-            <mn>2</mn>
-        </msup>
-        <mo>+</mo>
+  When
+  <math xmlns="http://www.w3.org/1998/Math/MathML">
+    <mi>a</mi>
+    <mo>&#x2260;</mo>
+    <mn>0</mn>
+  </math>
+  ,
+  there are two solutions to
+  <math xmlns="http://www.w3.org/1998/Math/MathML">
+    <mi>a</mi>
+    <msup>
+      <mi>x</mi>
+      <mn>2</mn>
+    </msup>
+    <mo>+</mo>
+    <mi>b</mi>
+    <mi>x</mi>
+    <mo>+</mo>
+    <mi>c</mi>
+    <mo>=</mo>
+    <mn>0</mn>
+  </math>
+  and they are
+  <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+    <mi>x</mi>
+    <mo>=</mo>
+    <mrow>
+      <mfrac>
+        <mrow>
+          <mo>&#x2212;</mo>
         <mi>b</mi>
-        <mi>x</mi>
-        <mo>+</mo>
-        <mi>c</mi>
-        <mo>=</mo>
-        <mn>0</mn>
-    </math>
-    and they are
-    <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
-        <mi>x</mi>
-        <mo>=</mo>
+          <mo>&#x00B1;</mo>
+          <msqrt>
+            <msup>
+              <mi>b</mi>
+              <mn>2</mn>
+            </msup>
+            <mo>&#x2212;</mo>
+            <mn>4</mn>
+            <mi>a</mi>
+            <mi>c</mi>
+          </msqrt>
+        </mrow>
         <mrow>
-            <mfrac>
-                <mrow>
-                    <mo>&#x2212;</mo>
-                    <mi>b</mi>
-                    <mo>&#x00B1;</mo>
-                    <msqrt>
-                        <msup>
-                            <mi>b</mi>
-                            <mn>2</mn>
-                        </msup>
-                        <mo>&#x2212;</mo>
-                        <mn>4</mn>
-                        <mi>a</mi>
-                        <mi>c</mi>
-                    </msqrt>
-                </mrow>
-                <mrow>
-                    <mn>2</mn>
-                    <mi>a</mi>
-                </mrow>
-            </mfrac>
+          <mn>2</mn>
+          <mi>a</mi>
         </mrow>
-        <mtext>.</mtext>
-    </math>
+      </mfrac>
+    </mrow>
+    <mtext>.</mtext>
+  </math>
 </p>
 
 </body>

+ 3 - 3
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/MML_HTMLorMML-full.js

@@ -17,9 +17,9 @@
  */
 
 MathJax.Hub.Config({
-    config: ["MMLorHTML.js"],
-    extensions: ["mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "CHTML-preview.js"],
-    jax: ["input/MathML", "output/HTML-CSS", "output/NativeMML", "output/CommonHTML"]
+  config: ["MMLorHTML.js"],
+  extensions: ["mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "CHTML-preview.js"],
+  jax: ["input/MathML", "output/HTML-CSS", "output/NativeMML", "output/CommonHTML"]
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML-full.js");

+ 4 - 4
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/Safe.js

@@ -30,10 +30,10 @@
  */
 
 MathJax.Hub.Register.StartupHook("End Config", function () {
-    if (!MathJax.Hub.config.extensions) {
-        MathJax.Hub.config.extensions = []
-    }
-    MathJax.Hub.config.extensions.push("Safe.js");
+  if (!MathJax.Hub.config.extensions) {
+    MathJax.Hub.config.extensions = []
+  }
+  MathJax.Hub.config.extensions.push("Safe.js");
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/config/Safe.js");

+ 3 - 3
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML-full.js

@@ -17,9 +17,9 @@
  */
 
 MathJax.Hub.Config({
-    config: ["MMLorHTML.js"],
-    extensions: ["tex2jax.js", "mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "TeX/noErrors.js", "TeX/noUndefined.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js", "CHTML-preview.js"],
-    jax: ["input/TeX", "input/MathML", "output/HTML-CSS", "output/NativeMML", "output/CommonHTML"]
+  config: ["MMLorHTML.js"],
+  extensions: ["tex2jax.js", "mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "TeX/noErrors.js", "TeX/noUndefined.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js", "CHTML-preview.js"],
+  jax: ["input/TeX", "input/MathML", "output/HTML-CSS", "output/NativeMML", "output/CommonHTML"]
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML-full.js");

+ 3 - 3
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML.js

@@ -17,9 +17,9 @@
  */
 
 MathJax.Hub.Config({
-    config: ["MMLorHTML.js"],
-    extensions: ["tex2jax.js", "mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "TeX/noErrors.js", "TeX/noUndefined.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js", "CHTML-preview.js"],
-    jax: ["input/TeX", "input/MathML", "output/HTML-CSS", "output/NativeMML", "output/CommonHTML"]
+  config: ["MMLorHTML.js"],
+  extensions: ["tex2jax.js", "mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "TeX/noErrors.js", "TeX/noUndefined.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js", "CHTML-preview.js"],
+  jax: ["input/TeX", "input/MathML", "output/HTML-CSS", "output/NativeMML", "output/CommonHTML"]
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML.js");

+ 2 - 2
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/TeX-AMS-MML_SVG.js

@@ -17,8 +17,8 @@
  */
 
 MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "TeX/noErrors.js", "TeX/noUndefined.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js", "CHTML-preview.js"],
-    jax: ["input/TeX", "input/MathML", "output/SVG", "output/CommonHTML"]
+  extensions: ["tex2jax.js", "mml2jax.js", "MathEvents.js", "MathZoom.js", "MathMenu.js", "toMathML.js", "TeX/noErrors.js", "TeX/noUndefined.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js", "CHTML-preview.js"],
+  jax: ["input/TeX", "input/MathML", "output/SVG", "output/CommonHTML"]
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_SVG.js");

+ 966 - 973
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/config/default.js

@@ -41,1077 +41,1070 @@
 
 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_Preview": {
+  //          color: "#888"
+  //        }
+  //      },
+  //
+  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.  The choices include
+  //
+  //      input/TeX
+  //      input/MathML
+  //      input/AsciiMath
+  //
+  //      output/HTML-CSS
+  //      output/NativeMML
+  //      output/SVG
+  //
+  //   If you change the input jax, you may need to include the appropriate
+  //   preprocessor in the extensions array below.
+  //
+  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"],
+  //
+  //  You may wish to include "mml2jax.js" if you are using "input/MathML" in the
+  //  jax array above, and "asciimath2jax.js" if you using "input/AsciiMath".
+  //  Include "jsmath2jax.js" if you are converting from using jsMath to MathJax.
+  //
+  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
+  //
+  //      <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
+  //
+  //  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.  When
+  //  the alignment is "center", the indent allows you to shift the center to the right
+  //  or left (negative is left).
+  //
+  displayAlign: "center",
+  displayIndent: "0",
+
+  //
+  //  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: [],
+
+  //
+  //  Since typesetting usually changes the vertical dimensions of the
+  //  page, if the URL contains an anchor position you may no longer be
+  //  positioned at the correct position on the page, so MathJax can
+  //  reposition to that location after it completes its initial
+  //  typesetting of the page.  This value controls whether MathJax will
+  //  reposition the browser to the #hash location from the page URL after
+  //  typesetting for the page.
+  //
+  positionToHash: true,
+
+  //
+  //  These control whether to attach the MathJax contextual menu to the
+  //  expressions typeset by MathJax.  Since the code for handling
+  //  MathPlayer in Internet Explorer is somewhat delicate, it is
+  //  controlled separately via (showMathMenuMSIE).  The latter is now
+  //  deprecated in favor of the MathJax contextual menu settings for
+  //  MathPlayer.
+  //
+  //  These values used to be listed in the separate output jax, but
+  //  have been moved to this more central location since they are shared
+  //  by all output jax.
+  //
+  showMathMenu: true,
+  showMathMenuMSIE: true,
+
+
+  //
+  //  The default settings for the MathJax contextual menu (overridden by
+  //  the MathJax cookie when users change the menu settings).
+  //
+  menuSettings: {
+    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
+    font: "Auto",        //  what font HTML-CSS should use
+    context: "MathJax",  //  or "Browser" for pass-through to browser menu
+    mpContext: false,    //  true means pass menu events to MathPlayer in IE
+    mpMouse: false,      //  true means pass mouse events to MathPlayer in IE
+    texHints: true,      //  include class names for TeXAtom elements
+    semantics: false     //  add semantics tag with original form in MathML output
+  },
+
+  //
+  //  The message and style for when there is a processing error handling
+  //  the mathematics (something has gone wrong with the input or output
+  //  jax that prevents it from operating properly).
+  //
+  errorSettings: {
+    message: ["[", ["MathProcessingError", "Math Processing Error"], "]"],
+    style: {color: "#CC0000", "font-style": "italic"}  // style for message
+  },
+
+
+  //============================================================================
+  //
+  //  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 value determines whether tex2jax requires braces to be
+    //  balanced within math delimiters (which allows for nested dollar
+    //  signs).  Set to false to get pre-v2.0 compatibility.  When true,
     //
-    //  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.
+    //      $y = x^2 \hbox{ when $x > 2$}$.
     //
-    //  Example:    config: ["local/local.js"],
-    //  Example:    config: ["local/local.js","MMLtoHTML.js"],
+    //  will be properly handled as a single expression.  When false, it
+    //  would be interpreted as two searpate expressions, each with
+    //  improperly balanced braces.
     //
-    config: [],
+    balanceBraces: true,
 
     //
-    //  A comma-separated list of CSS stylesheet files to be loaded
-    //  when MathJax starts up.  The default directory is the
-    //  MathJax/config directory.
+    //  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.
     //
-    //  Example:    styleSheets: ["MathJax.css"],
+    skipTags: ["script", "noscript", "style", "textarea", "pre", "code", "annotation", "annotation-xml"],
+
+    //
+    //  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.
     //
-    styleSheets: [],
+    ignoreClass: "tex2jax_ignore",
 
     //
-    //  Styles to be defined dynamically at startup time.
+    //  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.
     //
-    //  Example:
-    //      styles: {
-    //        ".MathJax_Preview": {
-    //          color: "#888"
-    //        }
-    //      },
+    processClass: "tex2jax_process",
+
     //
-    styles: {},
+    //  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,
 
     //
-    //  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.  The choices include
+    //  Controls whether tex2jax processes \ref{...} commands outside
+    //  of math mode.  Set to "false" to prevent processing of \ref
+    //  except within math mode.
     //
-    //      input/TeX
-    //      input/MathML
-    //      input/AsciiMath
+    processRefs: true,
+
     //
-    //      output/HTML-CSS
-    //      output/NativeMML
-    //      output/SVG
+    //  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).
     //
-    //   If you change the input jax, you may need to include the appropriate
-    //   preprocessor in the extensions array below.
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    jax: ["input/TeX", "output/HTML-CSS"],
+    preview: "TeX"
+
+  },
+
+  //============================================================================
+  //
+  //  These parameters control the asciimath2jax preprocessor (when you have included
+  //  "asciimath2jax.js" in the extensions list above).
+  //
+  asciimath2jax: {
 
     //
-    //  A comma-separated list of extensions to load at startup.  The default
-    //  directory is MathJax/extensions.
+    //  The delimiters that surround asciimath expressions.  The first in each
+    //  pair is the initial delimiter and the second is the terminal delimiter.
     //
-    //  Example:    extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
+    delimiters: [
+      ['`', '`']
+    ],
+
     //
-    //  You may wish to include "mml2jax.js" if you are using "input/MathML" in the
-    //  jax array above, and "asciimath2jax.js" if you using "input/AsciiMath".
-    //  Include "jsmath2jax.js" if you are converting from using jsMath to MathJax.
+    //  This array lists the names of the tags whose contents should not be
+    //  processed by asciimath2jax (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.
     //
-    extensions: ["tex2jax.js"],
+    skipTags: ["script", "noscript", "style", "textarea", "pre", "code", "annotation", "annotation-xml"],
 
     //
-    //  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.
+    //  This is the class name used to mark elements whose contents should
+    //  not be processed by asciimath2jax (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 `asciimath2jax` from processing its contents.
     //
-    //  See also the preRemoveClass comments below.
+    ignoreClass: "asciimath2jax_ignore",
+
     //
-    //  Example:
-    //      preJax: "\\\\\\\\",  // makes a double backslash the preJax text
-    //    or
-    //      preJax:  "\\[\\[", // jax scripts must be enclosed in double brackets
-    //      postJax: "\\]\\]",
+    //  This is the class name used to mark elements whose contents SHOULD
+    //  be processed by asciimath2jax.  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.
     //
-    preJax: null,
-    postJax: null,
+    processClass: "asciimath2jax_process",
 
+    //  Controls whether asciimath2jax 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 "AsciiMath", which
+    //  means use the AsciiMath 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).
     //
-    //  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.
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    //  For example
+    preview: "AsciiMath"
+
+  },
+
+  //============================================================================
+  //
+  //  These parameters control the mml2jax preprocessor (when you have included
+  //  "mml2jax.js" in the extensions list above).
+  //
+  mml2jax: {
+
     //
-    //      <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
+    //  Controls whether mml2jax inserts MathJax_Preview spans to make a
+    //  preview available, and what preview to use, when it locates
+    //  mathematics on the page.  The default is "mathml" which means use
+    //  the <math> tag as the preview (until it is processed by MathJax).
+    //  Set to "alttext", to use the  <math> tag's alttext attribute as the
+    //  preview, 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 "altimg" to use an image
+    //  described by the altimg* attributes of the <math> element.
+    //  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).
     //
-    //  would display "[math]" in place of the math until MathJax is able to typeset it.
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    preRemoveClass: "MathJax_Preview",
+    preview: "mathml"
+
+  },
 
+  //============================================================================
+  //
+  //  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).
     //
-    //  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).
+    //  E.g.,     preview: ["[math]"],
+    //  or        preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
     //
-    showProcessingMessages: true,
+    preview: "TeX"
+
+  },
+
+  //============================================================================
+  //
+  //  These parameters control the TeX input jax.
+  //
+  TeX: {
 
     //
-    //  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.
+    //  This specifies the side on which \tag{} macros will place the tags.
+    //  Set to "left" to place on the left-hand side.
     //
-    messageStyle: "normal",
+    TagSide: "right",
 
     //
-    //  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.  When
-    //  the alignment is "center", the indent allows you to shift the center to the right
-    //  or left (negative is left).
+    //  This is the amound of indentation (from right or left) for the tags.
     //
-    displayAlign: "center",
-    displayIndent: "0",
+    TagIndent: "0.8em",
 
     //
-    //  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".
+    //  This is the width to use for the multline environment
     //
-    delayStartupUntil: "none",
+    MultLineWidth: "85%",
 
     //
-    //  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.
+    //  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]
+    //      }
     //
-    skipStartupTypeset: false,
+    Macros: {},
 
     //
-    //  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.
+    //  Equation numbering parameters.
     //
-    elements: [],
+    equationNumbers: {
+      autoNumber: "none",  // "AMS" for standard AMS environment numbering,
+                           //  or "all" to number all displayed equations
+//    formatNumber: function (n) {return n},                // format for equation number n
+//    formatTag:    function (n) {return '('+n+')'},        // format for \tag and \eqref
+//    formatID:     function (n) {return 'mjx-eqn-'+String(n).replace(/[:'"<>&]/g,"")},
+//                                                          // element ID to use for reference
+//    formatURL:    function (id) {return '#'+escape(id)},  // URL to use for references
+      useLabelIds: true    // make element ID's use \label name rather than equation number
+    },
 
     //
-    //  Since typesetting usually changes the vertical dimensions of the
-    //  page, if the URL contains an anchor position you may no longer be
-    //  positioned at the correct position on the page, so MathJax can
-    //  reposition to that location after it completes its initial
-    //  typesetting of the page.  This value controls whether MathJax will
-    //  reposition the browser to the #hash location from the page URL after
-    //  typesetting for the page.
+    //  Controls the TeX/noErrors extension
     //
-    positionToHash: true,
+    noErrors: {
+      disabled: false,               // set to true to return to original error messages
+      multiLine: true,               // false to not include original line breaks
+      inlineDelimiters: ["", ""],     // or use ["$","$"] or ["\\(","\\)"] to put back delimiters
+      style: {
+        "font-size": "90%",
+        "text-align": "left",
+        "color": "black",
+        "padding": "1px 3px",
+        "border": "1px solid"
+      }
+    },
 
     //
-    //  These control whether to attach the MathJax contextual menu to the
-    //  expressions typeset by MathJax.  Since the code for handling
-    //  MathPlayer in Internet Explorer is somewhat delicate, it is
-    //  controlled separately via (showMathMenuMSIE).  The latter is now
-    //  deprecated in favor of the MathJax contextual menu settings for
-    //  MathPlayer.
+    //  Controls the TeX/noUndefined extension
     //
-    //  These values used to be listed in the separate output jax, but
-    //  have been moved to this more central location since they are shared
-    //  by all output jax.
+    noUndefined: {
+      disabled: false,      // set to true to return to original error messages
+      attributes: {         // attributes to set for the undefined control sequence
+        mathcolor: "red"
+      }
+    },
+
     //
-    showMathMenu: true,
-    showMathMenuMSIE: true,
+    //  Controls the TeX/unicode extension
+    unicode: {
+      fonts: "STIXGeneral,'Arial Unicode MS'"  // the default font list for unknown characters
+    }
 
+  },
 
+  //============================================================================
+  //
+  //  These parameters control the AsciiMath input jax.
+  //
+  AsciiMath: {
     //
-    //  The default settings for the MathJax contextual menu (overridden by
-    //  the MathJax cookie when users change the menu settings).
+    //  Determines whether the unicode positions for phi and varphi are
+    //  to be swapped or not.  (Unicode originally had these reversed, and
+    //  many fonts have them reversed as well.)  When set to true, phi
+    //  and varphi will correspond to the LaTeX macros of the same name.
     //
-    menuSettings: {
-        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
-        font: "Auto",        //  what font HTML-CSS should use
-        context: "MathJax",  //  or "Browser" for pass-through to browser menu
-        mpContext: false,    //  true means pass menu events to MathPlayer in IE
-        mpMouse: false,      //  true means pass mouse events to MathPlayer in IE
-        texHints: true,      //  include class names for TeXAtom elements
-        semantics: false     //  add semantics tag with original form in MathML output
-    },
+    fixphi: true,
 
     //
-    //  The message and style for when there is a processing error handling
-    //  the mathematics (something has gone wrong with the input or output
-    //  jax that prevents it from operating properly).
+    //  Determines whether the MathML should be marked so that the HTML-CSS
+    //  and SVG output jax will use MathML spacing rules rather than TeX
+    //  spacing rules.  Since AsciiMath was designed for MathML output, the
+    //  MathML rules are used by default.
     //
-    errorSettings: {
-        message: ["[", ["MathProcessingError", "Math Processing Error"], "]"],
-        style: {color: "#CC0000", "font-style": "italic"}  // style for message
-    },
+    useMathMLspacing: true,
 
+    //
+    //  Determines whether limits are placed above and below operators,
+    //  or next to them.  (AsciiMath doesn't have separate in-line and
+    //  display modes like TeX and MathML do, so this is the only control
+    //  you have over its output)
+    //
+    displaystyle: true,
 
-    //============================================================================
     //
-    //  These parameters control the tex2jax preprocessor (when you have included
-    //  "tex2jax.js" in the extensions list above).
+    //  The character to use for decimal places when scanning for a number.
+    //  If you change it to ",", beware of things like "(1,2)" which would need
+    //  to be changed to "(1, 2)" to be parsed correctly.
     //
-    tex2jax: {
+    decimal: "."
+  },
 
-        //
-        //  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 value determines whether tex2jax requires braces to be
-        //  balanced within math delimiters (which allows for nested dollar
-        //  signs).  Set to false to get pre-v2.0 compatibility.  When true,
-        //
-        //      $y = x^2 \hbox{ when $x > 2$}$.
-        //
-        //  will be properly handled as a single expression.  When false, it
-        //  would be interpreted as two searpate expressions, each with
-        //  improperly balanced braces.
-        //
-        balanceBraces: true,
-
-        //
-        //  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", "annotation", "annotation-xml"],
-
-        //
-        //  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 processes \ref{...} commands outside
-        //  of math mode.  Set to "false" to prevent processing of \ref
-        //  except within math mode.
-        //
-        processRefs: 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 MathML input 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": {
 
-    //============================================================================
-    //
-    //  These parameters control the asciimath2jax preprocessor (when you have included
-    //  "asciimath2jax.js" in the extensions list above).
-    //
-    asciimath2jax: {
-
-        //
-        //  The delimiters that surround asciimath expressions.  The first in each
-        //  pair is the initial delimiter and the second is the terminal delimiter.
-        //
-        delimiters: [
-            ['`', '`']
-        ],
-
-        //
-        //  This array lists the names of the tags whose contents should not be
-        //  processed by asciimath2jax (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", "annotation", "annotation-xml"],
-
-        //
-        //  This is the class name used to mark elements whose contents should
-        //  not be processed by asciimath2jax (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 `asciimath2jax` from processing its contents.
-        //
-        ignoreClass: "asciimath2jax_ignore",
-
-        //
-        //  This is the class name used to mark elements whose contents SHOULD
-        //  be processed by asciimath2jax.  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: "asciimath2jax_process",
-
-        //  Controls whether asciimath2jax 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 "AsciiMath", which
-        //  means use the AsciiMath 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: "AsciiMath"
+    //
+    //  This controls the global scaling of mathematics as compared to the
+    //  surrounding text.  Values between 100 and 133 are usually good choices.
+    //
+    scale: 100,
 
-    },
+    //
+    //  Don't allow the matching of math text to surrounding text to use a scaling
+    //  factor smaller than this.
+    //
+    minScaleAdjust: 50,
 
-    //============================================================================
-    //
-    //  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, when it locates
-        //  mathematics on the page.  The default is "mathml" which means use
-        //  the <math> tag as the preview (until it is processed by MathJax).
-        //  Set to "alttext", to use the  <math> tag's alttext attribute as the
-        //  preview, 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 "altimg" to use an image
-        //  described by the altimg* attributes of the <math> element.
-        //  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: "mathml"
+    //
+    //  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",
 
-    //============================================================================
-    //
-    //  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"
+    //
+    //  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",
 
-    //============================================================================
-    //
-    //  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: "0.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: {},
-
-        //
-        //  Equation numbering parameters.
-        //
-        equationNumbers: {
-            autoNumber: "none",  // "AMS" for standard AMS environment numbering,
-                                 //  or "all" to number all displayed equations
-//    formatNumber: function (n) {return n},                // format for equation number n
-//    formatTag:    function (n) {return '('+n+')'},        // format for \tag and \eqref
-//    formatID:     function (n) {return 'mjx-eqn-'+String(n).replace(/[:'"<>&]/g,"")},
-//                                                          // element ID to use for reference
-//    formatURL:    function (id) {return '#'+escape(id)},  // URL to use for references
-            useLabelIds: true    // make element ID's use \label name rather than equation number
-        },
-
-        //
-        //  Controls the TeX/noErrors extension
-        //
-        noErrors: {
-            disabled: false,               // set to true to return to original error messages
-            multiLine: true,               // false to not include original line breaks
-            inlineDelimiters: ["", ""],     // or use ["$","$"] or ["\\(","\\)"] to put back delimiters
-            style: {
-                "font-size": "90%",
-                "text-align": "left",
-                "color": "black",
-                "padding": "1px 3px",
-                "border": "1px solid"
-            }
-        },
-
-        //
-        //  Controls the TeX/noUndefined extension
-        //
-        noUndefined: {
-            disabled: false,      // set to true to return to original error messages
-            attributes: {         // attributes to set for the undefined control sequence
-                mathcolor: "red"
-            }
-        },
-
-        //
-        //  Controls the TeX/unicode extension
-        unicode: {
-            fonts: "STIXGeneral,'Arial Unicode MS'"  // the default font list for unknown characters
-        }
+    //
+    //  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 setting controls whether <mtext> elements will be typeset
+    //  using the math fonts or the font of the surrounding text.  When
+    //  false, the mathvariant="normal" font will be used; when true,
+    //  the font will be inherited from the surrounding paragraph.
+    //
+    mtextFontInherit: false,
 
-    //============================================================================
-    //
-    //  These parameters control the AsciiMath input jax.
-    //
-    AsciiMath: {
-        //
-        //  Determines whether the unicode positions for phi and varphi are
-        //  to be swapped or not.  (Unicode originally had these reversed, and
-        //  many fonts have them reversed as well.)  When set to true, phi
-        //  and varphi will correspond to the LaTeX macros of the same name.
-        //
-        fixphi: true,
-
-        //
-        //  Determines whether the MathML should be marked so that the HTML-CSS
-        //  and SVG output jax will use MathML spacing rules rather than TeX
-        //  spacing rules.  Since AsciiMath was designed for MathML output, the
-        //  MathML rules are used by default.
-        //
-        useMathMLspacing: true,
-
-        //
-        //  Determines whether limits are placed above and below operators,
-        //  or next to them.  (AsciiMath doesn't have separate in-line and
-        //  display modes like TeX and MathML do, so this is the only control
-        //  you have over its output)
-        //
-        displaystyle: true,
-
-        //
-        //  The character to use for decimal places when scanning for a number.
-        //  If you change it to ",", beware of things like "(1,2)" which would need
-        //  to be changed to "(1, 2)" to be parsed correctly.
-        //
-        decimal: "."
-    },
+    //
+    //  These values control how "chunky" the display of mathematical
+    //  expressions will be.
+    //
+    //  EqnChunk is the number of equations that will be typeset before
+    //  they appear on screen.  Larger values make for less visual flicker
+    //  as the equations are drawn, but also mean longer delays before the
+    //  reader sees anything.
+    //
+    //  EqChunkFactor is the factor by which the EqnChunk will grow after each
+    //  chunk is displayed.
+    //
+    //  EqChunkDelay is the time (in milliseconds) to delay between chunks
+    //  (to allow the browser to respond to other user interaction).
+    //
+    //  Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get
+    //  the behavior from MathJax v1.1 and below.
+    //
+    EqnChunk: 50,
+    EqnChunkFactor: 1.5,
+    EqnChunkDelay: 100,
 
-    //============================================================================
     //
-    //  These parameters control the MathML input jax.
+    //  This option indicates whether MathJax should try to correct the
+    //  x-height of equations to match the size of the surrounding text.
     //
-    MathML: {
-        //
-        //  This specifies whether to use TeX spacing or MathML spacing when the
-        //  HTML-CSS output jax is used.
-        //
-        useMathMLspacing: false
-    },
+    matchFontHeight: true,
+
+    //
+    //  When true, MathJax will not measure the widths or heights of the
+    //  subexpressions as it creates its output, but instead will rely on
+    //  its internal calculautions based on teh bounding boxes of the
+    //  characters it uses, and will only take measurements when it
+    //  absolutely has to.  Since measurements cause display reflows, they
+    //  slows down MathJax considerably, so without them MathJax runs
+    //  faster, but can produce slightly less accurate character placements,
+    //  especially in width fractions or roots.
+    //
+    noReflows: true,
+
+
+    //
+    //  These settings control automatic line breaking.  It is off by
+    //  default, so only explicit line breaks are performed (via
+    //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
+    //  perform automatic line breaking on line expressions, set
+    //  'automatic' to 'true' below.  The line breaks will be applied via a
+    //  penalty-based heuristic, which does well, but isn't perfect.  You
+    //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
+    //  hand in order to get better effects.  It is also possible to modify
+    //  the penalty values; contact the MathJax user's forum for details.
+    //
+    linebreaks: {
+
+      //
+      //  This controls the automatic breaking of expressions:
+      //    when false, only process linebreak="newline",
+      //    when true, line breaks are inserted automatically in long expressions.
+      //
+      automatic: 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,
-
-        //
-        //  Don't allow the matching of math text to surrounding text to use a scaling
-        //  factor smaller than this.
-        //
-        minScaleAdjust: 50,
-
-        //
-        //  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 setting controls whether <mtext> elements will be typeset
-        //  using the math fonts or the font of the surrounding text.  When
-        //  false, the mathvariant="normal" font will be used; when true,
-        //  the font will be inherited from the surrounding paragraph.
-        //
-        mtextFontInherit: false,
-
-        //
-        //  These values control how "chunky" the display of mathematical
-        //  expressions will be.
-        //
-        //  EqnChunk is the number of equations that will be typeset before
-        //  they appear on screen.  Larger values make for less visual flicker
-        //  as the equations are drawn, but also mean longer delays before the
-        //  reader sees anything.
-        //
-        //  EqChunkFactor is the factor by which the EqnChunk will grow after each
-        //  chunk is displayed.
-        //
-        //  EqChunkDelay is the time (in milliseconds) to delay between chunks
-        //  (to allow the browser to respond to other user interaction).
-        //
-        //  Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get
-        //  the behavior from MathJax v1.1 and below.
-        //
-        EqnChunk: 50,
-        EqnChunkFactor: 1.5,
-        EqnChunkDelay: 100,
-
-        //
-        //  This option indicates whether MathJax should try to correct the
-        //  x-height of equations to match the size of the surrounding text.
-        //
-        matchFontHeight: true,
-
-        //
-        //  When true, MathJax will not measure the widths or heights of the
-        //  subexpressions as it creates its output, but instead will rely on
-        //  its internal calculautions based on teh bounding boxes of the
-        //  characters it uses, and will only take measurements when it
-        //  absolutely has to.  Since measurements cause display reflows, they
-        //  slows down MathJax considerably, so without them MathJax runs
-        //  faster, but can produce slightly less accurate character placements,
-        //  especially in width fractions or roots.
-        //
-        noReflows: true,
-
-
-        //
-        //  These settings control automatic line breaking.  It is off by
-        //  default, so only explicit line breaks are performed (via
-        //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
-        //  perform automatic line breaking on line expressions, set
-        //  'automatic' to 'true' below.  The line breaks will be applied via a
-        //  penalty-based heuristic, which does well, but isn't perfect.  You
-        //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
-        //  hand in order to get better effects.  It is also possible to modify
-        //  the penalty values; contact the MathJax user's forum for details.
-        //
-        linebreaks: {
-
-            //
-            //  This controls the automatic breaking of expressions:
-            //    when false, only process linebreak="newline",
-            //    when true, line breaks are inserted automatically in long expressions.
-            //
-            automatic: false,
-
-            //
-            //  This controls how wide the lines of mathematics can be
-            //
-            //  Use an explicit width like "30em" for a fixed width.
-            //  Use "container" to compute the size from the containing element.
-            //  Use "nn% container" for a portion of the container.
-            //  Use "nn%" for a portion of the window size.
-            //
-            //  The container-based widths may be slower, and may not produce the
-            //  expected results if the layout width changes due to the removal
-            //  of previews or inclusion of mathematics during typesetting.
-            //
-            width: "container"
-        },
-
-        //
-        //  This allows you to define or modify the styles used to display
-        //  various math elements created by MathJax.
-        //
-        //  Example:
-        //      styles: {
-        //        ".MathJax .merror": {
-        //          color:   "#CC0000",
-        //          border:  "1px solid #CC0000"
-        //        }
-        //      }
-        //
-        styles: {},
-
-        //
-        //  Configuration for <maction> 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
-        }
+      //
+      //  This controls how wide the lines of mathematics can be
+      //
+      //  Use an explicit width like "30em" for a fixed width.
+      //  Use "container" to compute the size from the containing element.
+      //  Use "nn% container" for a portion of the container.
+      //  Use "nn%" for a portion of the window size.
+      //
+      //  The container-based widths may be slower, and may not produce the
+      //  expected results if the layout width changes due to the removal
+      //  of previews or inclusion of mathematics during typesetting.
+      //
+      width: "container"
     },
 
-    //============================================================================
-    //
-    //  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,
-
-        //
-        //  Don't allow the matching of math text to surrounding text to use a scaling
-        //  factor smaller than this.
-        //
-        minScaleAdjust: 50,
-
-        //  This option indicates whether MathJax should try to correct the
-        //  x-height of equations to match the size of the surrounding text.
-        matchFontHeight: 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: {}
+    //
+    //  This allows you to define or modify the styles used to display
+    //  various math elements created by MathJax.
+    //
+    //  Example:
+    //      styles: {
+    //        ".MathJax .merror": {
+    //          color:   "#CC0000",
+    //          border:  "1px solid #CC0000"
+    //        }
+    //      }
+    //
+    styles: {},
+
+    //
+    //  Configuration for <maction> 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,
+
+    //
+    //  Don't allow the matching of math text to surrounding text to use a scaling
+    //  factor smaller than this.
+    //
+    minScaleAdjust: 50,
+
+    //  This option indicates whether MathJax should try to correct the
+    //  x-height of equations to match the size of the surrounding text.
+    matchFontHeight: 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 SVG output jax.
+  //
+  "SVG": {
+
+    //
+    //  This controls the global scaling of mathematics as compared to the
+    //  surrounding text.  Values between 100 and 133 are usually good choices.
+    //
+    scale: 100,
+
+    //
+    //  Don't allow the matching of math text to surrounding text to use a scaling
+    //  factor smaller than this.
+    //
+    minScaleAdjust: 50,
+
+    //
+    //  This specifies the font to use for SVG output (currently the only
+    //  one available)
+    //
+    font: "TeX",
+
+    //
+    //  This is the stroke width to use for all character paths (1em = 1000
+    //  units).  This is a cheap way of getting slightly lighter or darker
+    //  characters
+    //
+    blacker: 10,
+
+    //
+    //  This is the font-family CSS value used for characters that are not
+    //  in the selected font.  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 setting controls whether <mtext> elements will be typeset
+    //  using the math fonts or the font of the surrounding text.  When
+    //  false, the mathvariant="normal" font will be used; when true,
+    //  the font will be inherited from the surrounding paragraph.
+    //
+    mtextFontInherit: false,
+
+    //
+    //  This controls whether the MathML structure is retained and CSS
+    //  classes are added to mark the original MathML elements (as in the
+    //  HTML-CSS output).  By default, the SVG output jax removes unneeded
+    //  nesting in order to produce a more efficient markup, but if you
+    //  want to use CSS to style the elements as if they were MathML, you
+    //  might need to set this to true.
+    //
+    addMMLclasses: false,
+
+    //
+    //  These values control how "chunky" the display of mathematical
+    //  expressions will be.
+    //
+    //  EqnChunk is the number of equations that will be typeset before
+    //  they appear on screen.  Larger values make for less visual flicker
+    //  as the equations are drawn, but also mean longer delays before the
+    //  reader sees anything.
+    //
+    //  EqChunkFactor is the factor by which the EqnChunk will grow after each
+    //  chunk is displayed.
+    //
+    //  EqChunkDelay is the time (in milliseconds) to delay between chunks
+    //  (to allow the browser to respond to other user interaction).
+    //
+    //  Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get
+    //  the behavior from MathJax v1.1 and below.
+    //
+    EqnChunk: 50,
+    EqnChunkFactor: 1.5,
+    EqnChunkDelay: 100,
+
+    //  This option indicates whether MathJax should try to correct the
+    //  x-height of equations to match the size of the surrounding text.
+    matchFontHeight: true,
+
+    //
+    //  These settings control automatic line breaking.  It is off by
+    //  default, so only explicit line breaks are performed (via
+    //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
+    //  perform automatic line breaking on line expressions, set
+    //  'automatic' to 'true' below.  The line breaks will be applied via a
+    //  penalty-based heuristic, which does well, but isn't perfect.  You
+    //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
+    //  hand in order to get better effects.  It is also possible to modify
+    //  the penalty values; contact the MathJax user's forum for details.
+    //
+    linebreaks: {
+
+      //
+      //  This controls the automatic breaking of expressions:
+      //    when false, only process linebreak="newline",
+      //    when true, line breaks are inserted automatically in long expressions.
+      //
+      automatic: false,
+
+      //
+      //  This controls how wide the lines of mathematics can be
+      //
+      //  Use an explicit width like "30em" for a fixed width.
+      //  Use "container" to compute the size from the containing element.
+      //  Use "nn% container" for a portion of the container.
+      //  Use "nn%" for a portion of the window size.
+      //
+      //  The container-based widths may be slower, and may not produce the
+      //  expected results if the layout width changes due to the removal
+      //  of previews or inclusion of mathematics during typesetting.
+      //
+      width: "container"
     },
 
-    //============================================================================
-    //
-    //  These parameters control the SVG output jax.
-    //
-    "SVG": {
-
-        //
-        //  This controls the global scaling of mathematics as compared to the
-        //  surrounding text.  Values between 100 and 133 are usually good choices.
-        //
-        scale: 100,
-
-        //
-        //  Don't allow the matching of math text to surrounding text to use a scaling
-        //  factor smaller than this.
-        //
-        minScaleAdjust: 50,
-
-        //
-        //  This specifies the font to use for SVG output (currently the only
-        //  one available)
-        //
-        font: "TeX",
-
-        //
-        //  This is the stroke width to use for all character paths (1em = 1000
-        //  units).  This is a cheap way of getting slightly lighter or darker
-        //  characters
-        //
-        blacker: 10,
-
-        //
-        //  This is the font-family CSS value used for characters that are not
-        //  in the selected font.  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 setting controls whether <mtext> elements will be typeset
-        //  using the math fonts or the font of the surrounding text.  When
-        //  false, the mathvariant="normal" font will be used; when true,
-        //  the font will be inherited from the surrounding paragraph.
-        //
-        mtextFontInherit: false,
-
-        //
-        //  This controls whether the MathML structure is retained and CSS
-        //  classes are added to mark the original MathML elements (as in the
-        //  HTML-CSS output).  By default, the SVG output jax removes unneeded
-        //  nesting in order to produce a more efficient markup, but if you
-        //  want to use CSS to style the elements as if they were MathML, you
-        //  might need to set this to true.
-        //
-        addMMLclasses: false,
-
-        //
-        //  These values control how "chunky" the display of mathematical
-        //  expressions will be.
-        //
-        //  EqnChunk is the number of equations that will be typeset before
-        //  they appear on screen.  Larger values make for less visual flicker
-        //  as the equations are drawn, but also mean longer delays before the
-        //  reader sees anything.
-        //
-        //  EqChunkFactor is the factor by which the EqnChunk will grow after each
-        //  chunk is displayed.
-        //
-        //  EqChunkDelay is the time (in milliseconds) to delay between chunks
-        //  (to allow the browser to respond to other user interaction).
-        //
-        //  Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get
-        //  the behavior from MathJax v1.1 and below.
-        //
-        EqnChunk: 50,
-        EqnChunkFactor: 1.5,
-        EqnChunkDelay: 100,
-
-        //  This option indicates whether MathJax should try to correct the
-        //  x-height of equations to match the size of the surrounding text.
-        matchFontHeight: true,
-
-        //
-        //  These settings control automatic line breaking.  It is off by
-        //  default, so only explicit line breaks are performed (via
-        //  linebreak="newline" attributes on <mo> and <mspace> elements).  To
-        //  perform automatic line breaking on line expressions, set
-        //  'automatic' to 'true' below.  The line breaks will be applied via a
-        //  penalty-based heuristic, which does well, but isn't perfect.  You
-        //  might need to use linebreak="goodbreak" or linebreak="badbreak" by
-        //  hand in order to get better effects.  It is also possible to modify
-        //  the penalty values; contact the MathJax user's forum for details.
-        //
-        linebreaks: {
-
-            //
-            //  This controls the automatic breaking of expressions:
-            //    when false, only process linebreak="newline",
-            //    when true, line breaks are inserted automatically in long expressions.
-            //
-            automatic: false,
-
-            //
-            //  This controls how wide the lines of mathematics can be
-            //
-            //  Use an explicit width like "30em" for a fixed width.
-            //  Use "container" to compute the size from the containing element.
-            //  Use "nn% container" for a portion of the container.
-            //  Use "nn%" for a portion of the window size.
-            //
-            //  The container-based widths may be slower, and may not produce the
-            //  expected results if the layout width changes due to the removal
-            //  of previews or inclusion of mathematics during typesetting.
-            //
-            width: "container"
-        },
-
-        //
-        //  These are the styles used for merror elements in SVG output.  Note
-        //  that only a limited number of style attributes are supported by
-        //  SVG, but you can at least change the colors and borders.
-        //
-        //
-        merrorStyle: {
-            fontSize: "90%", color: "#C00", background: "#FF8",
-            border: "1px solid #C00", padding: "3px"
-        },
-
-        //
-        //  This allows you to define or modify the styles used to display
-        //  various math elements created by MathJax.
-        //
-        //  Example:
-        //      styles: {
-        //        ".MathJax .merror": {
-        //          color:   "#CC0000",
-        //          border:  "1px solid #CC0000"
-        //        }
-        //      }
-        //
-        styles: {},
-
-        //
-        //  Configuration for <maction> tooltips
-        //    (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/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 are the styles used for merror elements in SVG output.  Note
+    //  that only a limited number of style attributes are supported by
+    //  SVG, but you can at least change the colors and borders.
+    //
+    //
+    merrorStyle: {
+      fontSize: "90%", color: "#C00", background: "#FF8",
+      border: "1px solid #C00", padding: "3px"
     },
 
-    //============================================================================
-    //
-    //  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: 150,
-
-        //
-        //  This is the URL for the MathJax Help menu item.
-        //
-        helpURL: "http://www.mathjax.org/help-v2/user/",
-
-        //
-        //  These control whether the "Math Renderer", "MathPlayer", "Font
-        //  Preferences", "Contextual Menu", and "Discoverable" menu items will
-        //  be displayed or not.
-        //
-        showRenderer: true,
-        showMathPlayer: true,
-        showFontMenu: false,
-        showContext: false,
-        showDiscoverable: false,
-
-        //
-        // These are the settings for the Annotation menu. If the <math> root has
-        // a <semantics> child that contains one of the following annotation
-        // formats, the source will be available via the "Show Math As" menu.
-        // Each format has a list of possible encodings.
-        //
-        semanticsAnnotations: {
-            "TeX": ["TeX", "LaTeX", "application/x-tex"],
-            "StarMath": ["StarMath 5.0"],
-            "Maple": ["Maple"],
-            "ContentMathML": ["MathML-Content", "application/mathml-content+xml"],
-            "OpenMath": ["OpenMath"]
-        },
-
-        //
-        //  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: {}
+    //
+    //  This allows you to define or modify the styles used to display
+    //  various math elements created by MathJax.
+    //
+    //  Example:
+    //      styles: {
+    //        ".MathJax .merror": {
+    //          color:   "#CC0000",
+    //          border:  "1px solid #CC0000"
+    //        }
+    //      }
+    //
+    styles: {},
 
+    //
+    //  Configuration for <maction> tooltips
+    //    (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/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 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: 150,
+
+    //
+    //  This is the URL for the MathJax Help menu item.
+    //
+    helpURL: "http://www.mathjax.org/help-v2/user/",
+
+    //
+    //  These control whether the "Math Renderer", "MathPlayer", "Font
+    //  Preferences", "Contextual Menu", and "Discoverable" menu items will
+    //  be displayed or not.
+    //
+    showRenderer: true,
+    showMathPlayer: true,
+    showFontMenu: false,
+    showContext: false,
+    showDiscoverable: false,
+
+    //
+    // These are the settings for the Annotation menu. If the <math> root has
+    // a <semantics> child that contains one of the following annotation
+    // formats, the source will be available via the "Show Math As" menu.
+    // Each format has a list of possible encodings.
+    //
+    semanticsAnnotations: {
+      "TeX": ["TeX", "LaTeX", "application/x-tex"],
+      "StarMath": ["StarMath 5.0"],
+      "Maple": ["Maple"],
+      "ContentMathML": ["MathML-Content", "application/mathml-content+xml"],
+      "OpenMath": ["OpenMath"]
     },
 
-    //============================================================================
     //
-    //  These parameters control the contextual menus that are available on the
-    //  mathematics within the page (provided the showMathMenu value is true above).
+    //  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.
     //
-    MathEvents: {
-        //
-        //  This is the time required for the mouse to be held still over a
-        //  typeset equation in order for it to count as a hover (used when the
-        //  zoom trigger is "Hover").  It is in milliseconds.
-        //
-        hover: 500
+    windowSettings: {
+      status: "no", toolbar: "no", locationbar: "no", menubar: "no",
+      directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes",
+      width: 100, height: 50
     },
 
-    //============================================================================
-    //
-    //  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: "HTML",
-            Opera: "HTML",
-            Safari: "HTML",
-            Chrome: "HTML",
-            other: "HTML"
-        }
+    //
+    //  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 contextual menus that are available on the
+  //  mathematics within the page (provided the showMathMenu value is true above).
+  //
+  MathEvents: {
+    //
+    //  This is the time required for the mouse to be held still over a
+    //  typeset equation in order for it to count as a hover (used when the
+    //  zoom trigger is "Hover").  It is in milliseconds.
+    //
+    hover: 500
+  },
+
+  //============================================================================
+  //
+  //  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: "HTML",
+      Opera: "HTML",
+      Safari: "HTML",
+      Chrome: "HTML",
+      other: "HTML"
     }
+  }
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/config/default.js");

+ 23 - 23
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/HTML-CSS/handle-floats.js

@@ -37,7 +37,7 @@
 
 
 MathJax.Extension["HTML-CSS/handle-floats"] = {
-    version: "2.5.1"
+  version: "2.5.1"
 };
 
 //
@@ -46,15 +46,15 @@ MathJax.Extension["HTML-CSS/handle-floats"] = {
 //  Make the width large (it will shrink to fit the remaining room)
 //
 MathJax.Hub.Config({
-    "HTML-CSS": {
-        styles: {
-            ".MathJax_Display": {
-                display: "table-cell",
-                padding: "1em 0 ! important",
-                width: (MathJax.Hub.Browser.isMSIE && (document.documentMode || 0) < 8 ? "100%" : "1000em")
-            }
-        }
+  "HTML-CSS": {
+    styles: {
+      ".MathJax_Display": {
+        display: "table-cell",
+        padding: "1em 0 ! important",
+        width: (MathJax.Hub.Browser.isMSIE && (document.documentMode || 0) < 8 ? "100%" : "1000em")
+      }
     }
+  }
 });
 
 //
@@ -62,21 +62,21 @@ MathJax.Hub.Config({
 //  (Needed by IE8, IE9, and Firefox, at least).
 //
 MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function () {
-    var HTMLCSS = MathJax.OutputJax["HTML-CSS"],
-        TRANSLATE = HTMLCSS.Translate;
-    HTMLCSS.Augment({
-        Translate: function (script, state) {
-            TRANSLATE.apply(this, arguments);
-            if (script.MathJax.elementJax.HTMLCSS.display) {
-                var next = script.nextSibling;
-                if (!next || next.className !== "MathJax_MSIE_Separator") {
-                    var span = HTMLCSS.Element("span", {className: "MathJax_MSIE_Separator"});
-                    script.parentNode.insertBefore(span, next);
-                }
-            }
+  var HTMLCSS = MathJax.OutputJax["HTML-CSS"],
+      TRANSLATE = HTMLCSS.Translate;
+  HTMLCSS.Augment({
+    Translate: function (script, state) {
+      TRANSLATE.apply(this, arguments);
+      if (script.MathJax.elementJax.HTMLCSS.display) {
+        var next = script.nextSibling;
+        if (!next || next.className !== "MathJax_MSIE_Separator") {
+          var span = HTMLCSS.Element("span", {className: "MathJax_MSIE_Separator"});
+          script.parentNode.insertBefore(span, next);
         }
-    });
-    MathJax.Hub.Startup.signal.Post("HTML-CSS handle-floats Ready");
+      }
+    }
+  });
+  MathJax.Hub.Startup.signal.Post("HTML-CSS handle-floats Ready");
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/extensions/HTML-CSS/handle-floats.js");

+ 1614 - 1614
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/MathML/content-mathml.js

@@ -45,1679 +45,1679 @@
 
 
 MathJax.Extension["MathML/content-mathml"] = (function (HUB) {
-    /*
-     * Content MathML to Presentation MathML conversion
-     *
-     * based on David Carlisle's ctop.js - https://web-xslt.googlecode.com/svn/trunk/ctop/ctop.js
-     *
-     */
+  /*
+   * Content MathML to Presentation MathML conversion
+   *
+   * based on David Carlisle's ctop.js - https://web-xslt.googlecode.com/svn/trunk/ctop/ctop.js
+   *
+   */
 
 
-    var isMSIE = HUB.Browser.isMSIE;
+  var isMSIE = HUB.Browser.isMSIE;
 
-    if (isMSIE) {
-        try {
-            document.namespaces.add("m", "http://www.w3.org/1998/Math/MathML")
-        } catch (err) {
-        }
+  if (isMSIE) {
+    try {
+      document.namespaces.add("m", "http://www.w3.org/1998/Math/MathML")
+    } catch (err) {
     }
+  }
 
-    var CONFIG = HUB.CombineConfig("MathML.content-mathml", {
-        // render `a+(-b)` as `a-b`?
-        collapsePlusMinus: true,
-
-        /* mathvariant to use with corresponding <ci> type attribute */
-        cistyles: {
-            vector: 'bold-italic',
-            matrix: 'bold-upright'
-        },
-
-        /* Symbol names to translate to characters
-         */
-        symbols: {
-            gamma: '\u03B3'
-        }
-
-    });
+  var CONFIG = HUB.CombineConfig("MathML.content-mathml", {
+    // render `a+(-b)` as `a-b`?
+    collapsePlusMinus: true,
 
-    var CToP = {
-        version: '2.4',
-        settings: CONFIG,
+    /* mathvariant to use with corresponding <ci> type attribute */
+    cistyles: {
+      vector: 'bold-italic',
+      matrix: 'bold-upright'
+    },
 
-        /* Transform the given <math> elements from Content MathML to Presentation MathML and replace the original elements
-         */
-        transformElements: function (elements) {
-            for (var i = 0, l = elements.length; i < l; i++) {
-                var mathNode = CToP.transformElement(elements[i]);
-                elements[i].parentNode.replaceChild(mathNode, elements[i]);
-            }
-        },
-
-        /* Transform a Content MathML element into Presentation MathML, and return the new element
-         */
-        transformElement: function (element) {
-            var mathNode = CToP.cloneNode(element);
-            for (var j = 0, l = element.childNodes.length; j < l; j++) {
-                CToP.applyTransform(mathNode, element.childNodes[j], 0);
-            }
-            return mathNode;
-        },
-
-        getTextContent: function (element) {
-            return element.text !== undefined ? element.text : element.innerText !== undefined ? element.innerText : element.textContent;
-        },
-
-        setTextContent: function (element, textContent) {
-            for (var i = 0, l = element.childNodes.length; i < l; i++) {
-                if (element.childNodes[i].nodeType === 3) {
-                    element.removeChild(element.childNodes[i]);
-                    i--;
-                    l--;
-                }
-            }
-            element.appendChild(document.createTextNode(textContent));
-        },
-
-        cloneNode: function (element, deep) {
-            var clone, i, l;
-            if (element.nodeType === 1) {
-                clone = CToP.createElement(element.nodeName);
-                for (i = 0, l = element.attributes.length; i < l; i++) {
-                    clone.setAttribute(element.attributes[i].nodeName, element.attributes[i].nodeValue);
-                }
-                if (deep) {
-                    for (i = 0, l = element.childNodes.length; i < l; i++) {
-                        var clonedChild = CToP.cloneNode(element.childNodes[i], true);
-                        clone.appendChild(clonedChild);
-                    }
-                }
-            } else if (element.nodeType === 3) {
-                clone = document.createTextNode(element.nodeValue);
-            }
-            return clone;
-        },
-
-        /* Create an element with given name, belonging to the MathML namespace
-         */
-        createElement: function (name) {
-            var math = (isMSIE ? document.createElement("m:" + name) :
-                document.createElementNS("http://www.w3.org/1998/Math/MathML", name));
-            math.isMathJax = true;
-            return math;
-        },
-
-        /* Get node's children
-         */
-        getChildren: function (node) {
-            var children = [];
-            for (var j = 0, l = node.childNodes.length; j < l; j++) {
-                if (node.childNodes[j].nodeType === 1) {
-                    children.push(node.childNodes[j]);
-                }
-            }
-            return children;
-        },
+    /* Symbol names to translate to characters
+     */
+    symbols: {
+      gamma: '\u03B3'
+    }
 
-        /* Classify node's children as argumentss, variable bindings, or qualifiers
-         */
-        classifyChildren: function (contentMMLNode) {
-            var args = [], bvars = [], qualifiers = [];
-            for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
-                if (contentMMLNode.childNodes[j].nodeType === 1) {
-                    var childNode = contentMMLNode.childNodes[j], name = childNode.nodeName;
-                    if (name === 'bvar') {
-                        bvars.push(childNode);
-                    } else if (name === 'condition' ||
-                        name === 'degree' ||
-                        name === 'momentabout' ||
-                        name === 'logbase' ||
-                        name === 'lowlimit' ||
-                        name === 'uplimit' ||
-                        (name === 'interval' && args.length < 2) ||
-                        name === 'domainofapplication') {
-                        qualifiers.push(childNode);
-                    } else {
-                        args.push(childNode);
-                    }
-                }
-            }
-            return {
-                args: args,
-                bvars: bvars,
-                qualifiers: qualifiers
-            };
-        },
-
-        /* Add an element with given name and text content
-         */
-        appendToken: function (parentNode, name, textContent) {
-            var element = CToP.createElement(name);
-            element.appendChild(document.createTextNode(textContent));
-            parentNode.appendChild(element);
-            return element;
-        },
-
-        /* Transform a Content MathML node to Presentation MathML node(s), and attach it to the parent
-         */
-        applyTransform: function (parentNode, contentMMLNode, precedence) {
-            if (!contentMMLNode) {
-                var merror = CToP.createElement('merror');
-                CToP.appendToken(merror, 'mtext', 'Missing child node');
-                parentNode.appendChild(merror);
-                return;
-            }
-            if (contentMMLNode.nodeType === 1) {
-                if (CToP.tokens[contentMMLNode.nodeName]) {
-                    CToP.tokens[contentMMLNode.nodeName](parentNode, contentMMLNode, precedence);
-                } else if (contentMMLNode.childNodes.length === 0) {
-                    CToP.appendToken(parentNode, 'mi', contentMMLNode.nodeName);
-                } else {
-                    var clonedChild = CToP.cloneNode(contentMMLNode);
-                    parentNode.appendChild(clonedChild);
-                    for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
-                        CToP.applyTransform(clonedChild, contentMMLNode.childNodes[j], precedence);
-                    }
-                }
-            } else if (contentMMLNode.nodeType === 3) {
-                parentNode.appendChild(CToP.cloneNode(contentMMLNode));
-            }
-        },
-
-        /* Make an mfenced environment
-         */
-        createmfenced: function (children, open, close) {
-            var mf = CToP.createElement('mfenced');
-            mf.setAttribute('open', open);
-            mf.setAttribute('close', close);
-            for (var j = 0, l = children.length; j < l; j++) {
-                CToP.applyTransform(mf, children[j], 0);
-            }
-            return mf;
-        },
+  });
 
-        transforms: {
+  var CToP = {
+    version: '2.4',
+    settings: CONFIG,
 
-            /* Transform an identifier symbol
-             */
-            identifier: function (textContent) {
-                return function (parentNode, contentMMLNode, precedence) {
-                    CToP.appendToken(parentNode, 'mi', textContent);
-                }
-            },
-
-            /* Transform a set or set-like notation
-             */
-            set: function (open, close) {
-                var bindSet = CToP.transforms.bind('', ',', '|');
-                return function (parentNode, contentMMLNode) {
-                    var children = CToP.classifyChildren(contentMMLNode);
-
-                    var args = children.args, bvars = children.bvars, qualifiers = children.qualifiers;
-                    if (bvars.length) {
-                        var firstArg = children.args[0];
-                        args = args.slice(1);
-                        var mfenced = CToP.createElement('mfenced');
-                        mfenced.setAttribute('open', open);
-                        mfenced.setAttribute('close', close);
-                        bindSet(mfenced, contentMMLNode, firstArg, args, bvars, qualifiers, 0);
-                        parentNode.appendChild(mfenced);
-                    } else {
-                        parentNode.appendChild(CToP.createmfenced(args, open, close));
-                    }
-                }
-            },
-
-            /* Transform a content token to a presentation token
-             *
-             * (function factory)
-             * @param {string} name - name of the corresponding presentation MML tag
-             */
-            token: function (name) {
-                return function (parentNode, contentMMLNode) {
-                    if (contentMMLNode.childNodes.length === 1 && contentMMLNode.childNodes[0].nodeType === 3) {
-                        CToP.appendToken(parentNode, name, CToP.getTextContent(contentMMLNode));
-                    } else {
-                        var mrow = CToP.createElement('mrow');
-                        for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
-                            if (contentMMLNode.childNodes[j].nodeType === 3) {
-                                CToP.appendToken(parentNode, name, CToP.getTextContent(contentMMLNode.childNodes[j]));
-                            } else {
-                                CToP.applyTransform(mrow, contentMMLNode.childNodes[j], 0);
-                            }
-                        }
-                        if (mrow.childNodes.length) {
-                            parentNode.appendChild(mrow);
-                        }
-                    }
-                }
-            },
-
-            /* Transform a binary operation
-             *
-             * (function factory)
-             */
-            binary: function (name, tokenPrecedence) {
-                return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-                    var mrow = CToP.createElement('mrow');
-                    var needsBrackets = tokenPrecedence < precedence || (tokenPrecedence == precedence && name === "-");
-                    if (needsBrackets) {
-                        CToP.appendToken(mrow, 'mo', '(');
-                    }
-                    if (args.length > 1) {
-                        CToP.applyTransform(mrow, args[0], tokenPrecedence);
-                    }
-                    CToP.appendToken(mrow, 'mo', name);
-                    if (args.length > 0) {
-                        var z = args[(args.length === 1) ? 0 : 1];
-                        CToP.applyTransform(mrow, z, tokenPrecedence);
-                    }
-                    if (needsBrackets) {
-                        CToP.appendToken(mrow, 'mo', ')');
-                    }
-                    parentNode.appendChild(mrow);
-                }
-            },
-
-            /* Transform an infix operator
-             *
-             * (function factory)
-             */
-            infix: function (name, tokenPrecedence) {
-                return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-                    var mrow = CToP.createElement('mrow');
-                    var needsBrackets = precedence > tokenPrecedence;
-                    if (needsBrackets) {
-                        CToP.appendToken(mrow, 'mo', '(');
-                    }
-                    for (var j = 0, l = args.length; j < l; j++) {
-                        if (j > 0) {
-                            CToP.appendToken(mrow, 'mo', name);
-                        }
-                        CToP.applyTransform(mrow, args[j], tokenPrecedence);
-                    }
-                    if (needsBrackets) {
-                        CToP.appendToken(mrow, 'mo', ')');
-                    }
-                    parentNode.appendChild(mrow);
-                }
-            },
-
-            /* Transform an iterated operation, e.g. summation
-             *
-             * (function factory
-             */
-            iteration: function (name, limitSymbol) {
-                return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-                    var mrow = CToP.createElement('mrow');
-                    var mo = CToP.createElement('mo');
-                    CToP.setTextContent(mo, name);
-                    var munderover = CToP.createElement('munderover');
-                    munderover.appendChild(mo);
-                    var mrow1 = CToP.createElement('mrow');
-                    var i, j, num_qualifiers, num_bvars, children, bvar, num_children, num_args;
-                    for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
-                        if (qualifiers[i].nodeName === 'lowlimit' ||
-                            qualifiers[i].nodeName === 'condition' ||
-                            qualifiers[i].nodeName === 'domainofapplication') {
-                            if (qualifiers[i].nodeName === 'lowlimit') {
-                                for (j = 0, num_bvars = bvars.length; j < num_bvars; j++) {
-                                    bvar = bvars[j];
-                                    children = CToP.getChildren(bvar);
-                                    if (children.length) {
-                                        CToP.applyTransform(mrow1, children[0], 0);
-                                    }
-                                }
-                                if (bvars.length) {
-                                    CToP.appendToken(mrow1, "mo", limitSymbol);
-                                }
-                            }
-                            children = CToP.getChildren(qualifiers[i]);
-                            for (j = 0; j < children.length; j++) {
-                                CToP.applyTransform(mrow1, children[j], 0);
-                            }
-                        } else {
-                            children = CToP.getChildren(qualifiers[i]);
-                            if (qualifiers[i].nodeName === 'interval' && children.length === 2) {
-                                for (j = 0, num_bvars = bvars.length; j < num_bvars; j++) {
-                                    bvar = bvars[j];
-                                    children = CToP.getChildren(bvar);
-                                    if (children.length) {
-                                        CToP.applyTransform(mrow1, children[0], 0);
-                                    }
-                                }
-                                if (bvars.length) {
-                                    CToP.appendToken(mrow1, "mo", "=");
-                                }
-                                CToP.applyTransform(mrow1, CToP.getChildren(qualifiers[i])[0], 0);
-                            }
-                        }
-                    }
-                    munderover.appendChild(mrow1);
-                    var mjrow = CToP.createElement('mrow');
-                    for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
-                        if (qualifiers[i].nodeName === 'uplimit' || qualifiers[i].nodeName === 'interval') {
-                            children = CToP.getChildren(qualifiers[i]);
-                            for (j = 0, num_children = children.length; j < num_children; j++) {
-                                CToP.applyTransform(mjrow, children[j], 0);
-                            }
-                        }
-                    }
-                    munderover.appendChild(mjrow);
-                    mrow.appendChild(munderover);
-
-                    for (i = 0, num_args = args.length; i < num_args; i++) {
-                        CToP.applyTransform(mrow, args[i], precedence);
-                    }
-
-                    parentNode.appendChild(mrow);
-                }
-            },
-
-            /* Transform something which binds a variable, e.g. forall or lambda
-             *
-             * (function factory)
-             */
-            bind: function (name, argSeparator, conditionSeparator) {
-                return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-                    var mrow = CToP.createElement('mrow');
-                    var children, i, j, l, num_qualifiers, num_children;
-                    if (name) {
-                        CToP.appendToken(mrow, 'mo', name);
-                    }
-                    for (j = 0, l = bvars.length; j < l; j++) {
-                        var bvar = bvars[j];
-                        if (j > 0) {
-                            CToP.appendToken(mrow, 'mo', ',');
-                        }
-                        children = CToP.getChildren(bvar);
-                        if (children.length) {
-                            CToP.applyTransform(mrow, children[0], 0);
-                        }
-                    }
+    /* Transform the given <math> elements from Content MathML to Presentation MathML and replace the original elements
+     */
+    transformElements: function (elements) {
+      for (var i = 0, l = elements.length; i < l; i++) {
+        var mathNode = CToP.transformElement(elements[i]);
+        elements[i].parentNode.replaceChild(mathNode, elements[i]);
+      }
+    },
+
+    /* Transform a Content MathML element into Presentation MathML, and return the new element
+     */
+    transformElement: function (element) {
+      var mathNode = CToP.cloneNode(element);
+      for (var j = 0, l = element.childNodes.length; j < l; j++) {
+        CToP.applyTransform(mathNode, element.childNodes[j], 0);
+      }
+      return mathNode;
+    },
+
+    getTextContent: function (element) {
+      return element.text !== undefined ? element.text : element.innerText !== undefined ? element.innerText : element.textContent;
+    },
+
+    setTextContent: function (element, textContent) {
+      for (var i = 0, l = element.childNodes.length; i < l; i++) {
+        if (element.childNodes[i].nodeType === 3) {
+          element.removeChild(element.childNodes[i]);
+          i--;
+          l--;
+        }
+      }
+      element.appendChild(document.createTextNode(textContent));
+    },
+
+    cloneNode: function (element, deep) {
+      var clone, i, l;
+      if (element.nodeType === 1) {
+        clone = CToP.createElement(element.nodeName);
+        for (i = 0, l = element.attributes.length; i < l; i++) {
+          clone.setAttribute(element.attributes[i].nodeName, element.attributes[i].nodeValue);
+        }
+        if (deep) {
+          for (i = 0, l = element.childNodes.length; i < l; i++) {
+            var clonedChild = CToP.cloneNode(element.childNodes[i], true);
+            clone.appendChild(clonedChild);
+          }
+        }
+      } else if (element.nodeType === 3) {
+        clone = document.createTextNode(element.nodeValue);
+      }
+      return clone;
+    },
 
-                    var conditions_mrow = CToP.createElement('mrow');
-                    var conditions = false;
-                    for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
-                        if (qualifiers[i].nodeName === 'condition') {
-                            conditions = true;
-                            children = CToP.getChildren(qualifiers[i]);
-                            for (j = 0, num_children = children.length; j < num_children; j++) {
-                                CToP.applyTransform(conditions_mrow, children[j], 0);
-                            }
-                        }
-                    }
-                    if (conditions) {
-                        CToP.appendToken(mrow, 'mo', conditionSeparator);
-                    }
-                    mrow.appendChild(conditions_mrow);
-                    for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
-                        if (qualifiers[i].nodeName != 'condition') {
-                            CToP.appendToken(mrow, 'mo', '\u2208');
-                            children = CToP.getChildren(qualifiers[i]);
-                            for (j = 0, num_children = children.length; j < num_children; j++) {
-                                CToP.applyTransform(mrow, children[j], 0);
-                            }
-                        }
-                    }
-                    if (args.length && (bvars.length || children.length)) {
-                        CToP.appendToken(mrow, 'mo', argSeparator);
-                    }
-                    for (i = 0, l = args.length; i < l; i++) {
-                        CToP.applyTransform(mrow, args[i], 0);
-                    }
-                    parentNode.appendChild(mrow);
-                }
-            },
-
-            /** Transform a function application
-             *
-             * i.e. something which ends up looking like `f(x,y,z)`, where `f` is a string
-             *
-             * (function factory)
-             */
-            fn: function (name) {
-                return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-                    var mrow = CToP.createElement('mrow');
-                    if (firstArg.childNodes.length) {
-                        CToP.applyTransform(mrow, firstArg, 1);
-                    } else {
-                        CToP.appendToken(mrow, 'mi', name);
-                    }
-                    CToP.appendToken(mrow, 'mo', '\u2061');
-                    mrow.appendChild(CToP.createmfenced(args, '(', ')'));
-                    parentNode.appendChild(mrow);
-                }
-            },
-
-            /** Transform a min/max operation
-             *
-             * (function factory)
-             */
-            minmax: function (name) {
-                return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-                    var mrow = CToP.createElement('mrow');
-                    CToP.appendToken(mrow, 'mi', name);
-                    var mrow2 = CToP.createElement('mrow');
-                    CToP.appendToken(mrow2, 'mo', '{');
-                    for (var i = 0, l = args.length; i < l; i++) {
-                        if (i > 0) {
-                            CToP.appendToken(mrow2, 'mo', ',');
-                        }
-                        CToP.applyTransform(mrow2, args[i], 0);
-                    }
-                    if (qualifiers.length) {
-                        CToP.appendToken(mrow2, 'mo', '|');
-                        for (i = 0, l = qualifiers.length; i < l; i++) {
-                            CToP.applyTransform(mrow2, qualifiers[i], 0);
-                        }
-                    }
-                    CToP.appendToken(mrow2, 'mo', '}');
-                    mrow.appendChild(mrow2);
-                    parentNode.appendChild(mrow);
-                }
-            }
+    /* Create an element with given name, belonging to the MathML namespace
+     */
+    createElement: function (name) {
+      var math = (isMSIE ? document.createElement("m:" + name) :
+          document.createElementNS("http://www.w3.org/1998/Math/MathML", name));
+      math.isMathJax = true;
+      return math;
+    },
+
+    /* Get node's children
+     */
+    getChildren: function (node) {
+      var children = [];
+      for (var j = 0, l = node.childNodes.length; j < l; j++) {
+        if (node.childNodes[j].nodeType === 1) {
+          children.push(node.childNodes[j]);
         }
-    }
+      }
+      return children;
+    },
 
-    /* Functions to transform variable/atom tokens
+    /* Classify node's children as argumentss, variable bindings, or qualifiers
      */
-    CToP.tokens = {
-        ci: function (parentNode, contentMMLNode, precedence) {
-            if (contentMMLNode.childNodes.length === 1 && contentMMLNode.childNodes[0].nodeType === 3) {
-                var mi = CToP.appendToken(parentNode, 'mi', CToP.getTextContent(contentMMLNode));
-                var type = contentMMLNode.getAttribute('type');
-                if (type in CToP.settings.cistyles) {
-                    mi.setAttribute('mathvariant', CToP.settings.cistyles[type]);
-                }
-            } else {
-                CToP.transforms.token('mi')(parentNode, contentMMLNode, precedence);
-            }
-        },
-        cs: CToP.transforms.token('ms'),
-
-        csymbol: function (parentNode, contentMMLNode, precedence) {
-            var cd = contentMMLNode.getAttribute('cd');
-            if (cd && CToP.contentDictionaries[cd]) {
-                CToP.contentDictionaries[cd](parentNode, contentMMLNode, precedence);
-            } else if (CToP.settings.symbols[name]) {
-                CToP.appendToken(parentNode, 'mi', CToP.settings.symbols[name]);
-            } else {
-                CToP.tokens.ci(parentNode, contentMMLNode);
-            }
-        },
-        fn: function (parentNode, contentMMLNode, precedence) {
-            CToP.applyTransform(parentNode, CToP.getChildren(contentMMLNode)[0], precedence);
-        },
-
-        naturalnumbers: CToP.transforms.identifier('\u2115'),
-        integers: CToP.transforms.identifier('\u2124'),
-        reals: CToP.transforms.identifier('\u211D'),
-        rationals: CToP.transforms.identifier('\u211A'),
-        complexes: CToP.transforms.identifier('\u2102'),
-        primes: CToP.transforms.identifier('\u2119'),
-        exponentiale: CToP.transforms.identifier('e'),
-        imaginaryi: CToP.transforms.identifier('i'),
-        notanumber: CToP.transforms.identifier('NaN'),
-        eulergamma: CToP.transforms.identifier('\u03B3'),
-        gamma: CToP.transforms.identifier('\u0263'),
-        pi: CToP.transforms.identifier('\u03C0'),
-        infinity: CToP.transforms.identifier('\u221E'),
-        emptyset: CToP.transforms.identifier('\u2205'),
-        "true": CToP.transforms.identifier('true'),
-        "false": CToP.transforms.identifier('false'),
-        set: CToP.transforms.set('{', '}'),
-        list: CToP.transforms.set('(', ')'),
-
-        interval: function (parentNode, contentMMLNode, precedence) {
-            var closure = contentMMLNode.getAttribute('closure');
-
-            var open, close;
-            switch (closure) {
-                case 'open':
-                    open = '(';
-                    close = ')';
-                    break;
-                case 'open-closed':
-                    open = '(';
-                    close = ']';
-                    break;
-                case 'closed-open':
-                    open = '[';
-                    close = ')';
-                    break;
-                case 'closed':
-                default:
-                    open = '[';
-                    close = ']';
-            }
+    classifyChildren: function (contentMMLNode) {
+      var args = [], bvars = [], qualifiers = [];
+      for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
+        if (contentMMLNode.childNodes[j].nodeType === 1) {
+          var childNode = contentMMLNode.childNodes[j], name = childNode.nodeName;
+          if (name === 'bvar') {
+            bvars.push(childNode);
+          } else if (name === 'condition' ||
+              name === 'degree' ||
+              name === 'momentabout' ||
+              name === 'logbase' ||
+              name === 'lowlimit' ||
+              name === 'uplimit' ||
+              (name === 'interval' && args.length < 2) ||
+              name === 'domainofapplication') {
+            qualifiers.push(childNode);
+          } else {
+            args.push(childNode);
+          }
+        }
+      }
+      return {
+        args: args,
+        bvars: bvars,
+        qualifiers: qualifiers
+      };
+    },
+
+    /* Add an element with given name and text content
+     */
+    appendToken: function (parentNode, name, textContent) {
+      var element = CToP.createElement(name);
+      element.appendChild(document.createTextNode(textContent));
+      parentNode.appendChild(element);
+      return element;
+    },
+
+    /* Transform a Content MathML node to Presentation MathML node(s), and attach it to the parent
+     */
+    applyTransform: function (parentNode, contentMMLNode, precedence) {
+      if (!contentMMLNode) {
+        var merror = CToP.createElement('merror');
+        CToP.appendToken(merror, 'mtext', 'Missing child node');
+        parentNode.appendChild(merror);
+        return;
+      }
+      if (contentMMLNode.nodeType === 1) {
+        if (CToP.tokens[contentMMLNode.nodeName]) {
+          CToP.tokens[contentMMLNode.nodeName](parentNode, contentMMLNode, precedence);
+        } else if (contentMMLNode.childNodes.length === 0) {
+          CToP.appendToken(parentNode, 'mi', contentMMLNode.nodeName);
+        } else {
+          var clonedChild = CToP.cloneNode(contentMMLNode);
+          parentNode.appendChild(clonedChild);
+          for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
+            CToP.applyTransform(clonedChild, contentMMLNode.childNodes[j], precedence);
+          }
+        }
+      } else if (contentMMLNode.nodeType === 3) {
+        parentNode.appendChild(CToP.cloneNode(contentMMLNode));
+      }
+    },
 
-            parentNode.appendChild(CToP.createmfenced(CToP.getChildren(contentMMLNode), open, close));
-        },
+    /* Make an mfenced environment
+     */
+    createmfenced: function (children, open, close) {
+      var mf = CToP.createElement('mfenced');
+      mf.setAttribute('open', open);
+      mf.setAttribute('close', close);
+      for (var j = 0, l = children.length; j < l; j++) {
+        CToP.applyTransform(mf, children[j], 0);
+      }
+      return mf;
+    },
+
+    transforms: {
+
+      /* Transform an identifier symbol
+       */
+      identifier: function (textContent) {
+        return function (parentNode, contentMMLNode, precedence) {
+          CToP.appendToken(parentNode, 'mi', textContent);
+        }
+      },
 
-        apply: function (parentNode, contentMMLNode, precedence) {
-            var children = CToP.classifyChildren(contentMMLNode);
+      /* Transform a set or set-like notation
+       */
+      set: function (open, close) {
+        var bindSet = CToP.transforms.bind('', ',', '|');
+        return function (parentNode, contentMMLNode) {
+          var children = CToP.classifyChildren(contentMMLNode);
 
+          var args = children.args, bvars = children.bvars, qualifiers = children.qualifiers;
+          if (bvars.length) {
             var firstArg = children.args[0];
-            var args = children.args.slice(1), bvars = children.bvars, qualifiers = children.qualifiers;
-
-            if (firstArg) {
-                var name = firstArg.nodeName;
-                name = (name === "csymbol") ? CToP.getTextContent(firstArg).toLowerCase() : name;
-                if (CToP.applyTokens[name]) {
-                    CToP.applyTokens[name](parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-                } else {
-                    CToP.transforms.fn(name)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-                }
-            } else {
-                parentNode.appendChild(CToP.createElement('mrow'));
+            args = args.slice(1);
+            var mfenced = CToP.createElement('mfenced');
+            mfenced.setAttribute('open', open);
+            mfenced.setAttribute('close', close);
+            bindSet(mfenced, contentMMLNode, firstArg, args, bvars, qualifiers, 0);
+            parentNode.appendChild(mfenced);
+          } else {
+            parentNode.appendChild(CToP.createmfenced(args, open, close));
+          }
+        }
+      },
+
+      /* Transform a content token to a presentation token
+       *
+       * (function factory)
+       * @param {string} name - name of the corresponding presentation MML tag
+       */
+      token: function (name) {
+        return function (parentNode, contentMMLNode) {
+          if (contentMMLNode.childNodes.length === 1 && contentMMLNode.childNodes[0].nodeType === 3) {
+            CToP.appendToken(parentNode, name, CToP.getTextContent(contentMMLNode));
+          } else {
+            var mrow = CToP.createElement('mrow');
+            for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
+              if (contentMMLNode.childNodes[j].nodeType === 3) {
+                CToP.appendToken(parentNode, name, CToP.getTextContent(contentMMLNode.childNodes[j]));
+              } else {
+                CToP.applyTransform(mrow, contentMMLNode.childNodes[j], 0);
+              }
             }
-        },
-
-        cn: function (parentNode, contentMMLNode, precedence) {
-            var type = contentMMLNode.getAttribute("type");
-            var base = contentMMLNode.getAttribute("base");
-            if (type || base) {
-                if (base) {
-                    type = 'based-integer';
-                }
-                switch (type) {
-                    case 'integer':
-                    case 'real':
-                    case 'double':
-                    case 'constant':
-                        CToP.transforms.token('mn')(parentNode, contentMMLNode);
-                        break;
-                    case 'hexdouble':
-                        CToP.appendToken(parentNode, 'mn', '0x' + CToP.getTextContent(contentMMLNode));
-                        break;
-                    default:
-                        var apply = CToP.createElement('apply');
-                        var mrow = CToP.createElement('mrow');
-                        var c = CToP.createElement(type);
-                        apply.appendChild(c);
-                        if (base) {
-                            CToP.appendToken(apply, 'mn', base);
-                        }
-                        for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
-                            if (contentMMLNode.childNodes[j].nodeType === 3) {
-                                CToP.appendToken(mrow, 'cn', CToP.getTextContent(contentMMLNode.childNodes[j]));
-                            } else if (contentMMLNode.childNodes[j].nodeName === 'sep') {
-                                apply.appendChild(mrow);
-                                mrow = CToP.createElement('mrow');
-                            } else {
-                                mrow.appendChild(CToP.cloneNode(contentMMLNode.childNodes[j], true));
-                            }
-                        }
-                        apply.appendChild(mrow);
-                        CToP.applyTransform(parentNode, apply, 0);
-                }
-            } else {
-                CToP.transforms.token('mn')(parentNode, contentMMLNode);
+            if (mrow.childNodes.length) {
+              parentNode.appendChild(mrow);
             }
-        },
-
-        vector: function (parentNode, contentMMLNode, precedence) {
-            var mrow = CToP.createElement('mrow');
+          }
+        }
+      },
+
+      /* Transform a binary operation
+       *
+       * (function factory)
+       */
+      binary: function (name, tokenPrecedence) {
+        return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+          var mrow = CToP.createElement('mrow');
+          var needsBrackets = tokenPrecedence < precedence || (tokenPrecedence == precedence && name === "-");
+          if (needsBrackets) {
             CToP.appendToken(mrow, 'mo', '(');
-
-            var mtable = CToP.createElement('mtable');
-            var children = CToP.getChildren(contentMMLNode);
-            for (var i = 0, l = children.length; i < l; i++) {
-                var mtr = CToP.createElement('mtr');
-                var mtd = CToP.createElement('mtd');
-                CToP.applyTransform(mtd, children[i], 0);
-                mtr.appendChild(mtd);
-                mtable.appendChild(mtr);
-            }
-
-            mrow.appendChild(mtable);
+          }
+          if (args.length > 1) {
+            CToP.applyTransform(mrow, args[0], tokenPrecedence);
+          }
+          CToP.appendToken(mrow, 'mo', name);
+          if (args.length > 0) {
+            var z = args[(args.length === 1) ? 0 : 1];
+            CToP.applyTransform(mrow, z, tokenPrecedence);
+          }
+          if (needsBrackets) {
             CToP.appendToken(mrow, 'mo', ')');
-            parentNode.appendChild(mrow);
-        },
-
-        piecewise: function (parentNode, contentMMLNode, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '{');
-            var mtable = CToP.createElement('mtable');
-            mrow.appendChild(mtable);
-            var children = CToP.getChildren(contentMMLNode);
-            for (var i = 0, l = children.length; i < l; i++) {
-                CToP.applyTransform(mtable, children[i], 0);
-            }
-            parentNode.appendChild(mrow);
-        },
-
-        piece: function (parentNode, contentMMLNode, precedence) {
-            var mtr = CToP.createElement('mtr');
-            var children = CToP.getChildren(contentMMLNode);
-            for (var i = 0, l = children.length; i < l; i++) {
-                var mtd = CToP.createElement('mtd');
-                mtr.appendChild(mtd);
-                CToP.applyTransform(mtd, children[i], 0);
-                if (i === 0) {
-                    mtd = CToP.createElement('mtd');
-                    CToP.appendToken(mtd, "mtext", "\u00A0if\u00A0");
-                    mtr.appendChild(mtd);
-                }
-            }
-            parentNode.appendChild(mtr);
-        },
-
-        otherwise: function (parentNode, contentMMLNode, precedence) {
-            var mtr = CToP.createElement('mtr');
-            var children = CToP.getChildren(contentMMLNode);
-            if (children.length) {
-                var mtd = CToP.createElement('mtd');
-                mtr.appendChild(mtd);
-                CToP.applyTransform(mtd, children[0], 0);
-                mtd = CToP.createElement('mtd');
-                mtd.setAttribute('columnspan', '2');
-                CToP.appendToken(mtd, "mtext", "\u00A0otherwise");
-                mtr.appendChild(mtd);
-            }
-            parentNode.appendChild(mtr);
-        },
-
-        matrix: function (parentNode, contentMMLNode, precedence) {
-            var children = CToP.classifyChildren(contentMMLNode);
-            var args = children.args, bvars = children.bvars, qualifiers = children.qualifiers;
-
-            if (bvars.length || qualifiers.length) {
-                var mrow = CToP.createElement('mrow');
-                CToP.appendToken(mrow, "mo", "[");
-                var msub = CToP.createElement('msub');
-                CToP.appendToken(msub, 'mi', 'm');
-                var mrow2 = CToP.createElement('mrow');
-                for (var i = 0, l = bvars.length; i < l; i++) {
-                    if (i != 0) {
-                        CToP.appendToken(mrow2, 'mo', ',');
-                    }
-                    CToP.applyTransform(mrow2, bvars[i].childNodes[0], 0);
-                }
-                msub.appendChild(mrow2);
-                mrow.appendChild(msub);
-                var msub2 = CToP.cloneNode(msub, true);
-                CToP.appendToken(mrow, 'mo', '|');
-                mrow.appendChild(msub2);
-                CToP.appendToken(mrow, 'mo', '=');
-                for (i = 0, l = args.length; i < l; i++) {
-                    if (i != 0) {
-                        CToP.appendToken(mrow, 'mo', ',');
-                    }
-                    CToP.applyTransform(mrow, args[i], 0);
+          }
+          parentNode.appendChild(mrow);
+        }
+      },
+
+      /* Transform an infix operator
+       *
+       * (function factory)
+       */
+      infix: function (name, tokenPrecedence) {
+        return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+          var mrow = CToP.createElement('mrow');
+          var needsBrackets = precedence > tokenPrecedence;
+          if (needsBrackets) {
+            CToP.appendToken(mrow, 'mo', '(');
+          }
+          for (var j = 0, l = args.length; j < l; j++) {
+            if (j > 0) {
+              CToP.appendToken(mrow, 'mo', name);
+            }
+            CToP.applyTransform(mrow, args[j], tokenPrecedence);
+          }
+          if (needsBrackets) {
+            CToP.appendToken(mrow, 'mo', ')');
+          }
+          parentNode.appendChild(mrow);
+        }
+      },
+
+      /* Transform an iterated operation, e.g. summation
+       *
+       * (function factory
+       */
+      iteration: function (name, limitSymbol) {
+        return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+          var mrow = CToP.createElement('mrow');
+          var mo = CToP.createElement('mo');
+          CToP.setTextContent(mo, name);
+          var munderover = CToP.createElement('munderover');
+          munderover.appendChild(mo);
+          var mrow1 = CToP.createElement('mrow');
+          var i, j, num_qualifiers, num_bvars, children, bvar, num_children, num_args;
+          for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
+            if (qualifiers[i].nodeName === 'lowlimit' ||
+                qualifiers[i].nodeName === 'condition' ||
+                qualifiers[i].nodeName === 'domainofapplication') {
+              if (qualifiers[i].nodeName === 'lowlimit') {
+                for (j = 0, num_bvars = bvars.length; j < num_bvars; j++) {
+                  bvar = bvars[j];
+                  children = CToP.getChildren(bvar);
+                  if (children.length) {
+                    CToP.applyTransform(mrow1, children[0], 0);
+                  }
                 }
-                CToP.appendToken(mrow, 'mo', ';');
-                for (i = 0, l = qualifiers.length; i < l; i++) {
-                    if (i != 0) {
-                        CToP.appendToken(mrow, 'mo', ',');
-                    }
-                    CToP.applyTransform(mrow, qualifiers[i], 0);
+                if (bvars.length) {
+                  CToP.appendToken(mrow1, "mo", limitSymbol);
                 }
-                CToP.appendToken(mrow, 'mo', ']');
-                parentNode.appendChild(mrow);
+              }
+              children = CToP.getChildren(qualifiers[i]);
+              for (j = 0; j < children.length; j++) {
+                CToP.applyTransform(mrow1, children[j], 0);
+              }
             } else {
-                var mfenced = CToP.createElement('mfenced');
-                var mtable = CToP.createElement('mtable');
-                for (i = 0, l = args.length; i < l; i++) {
-                    CToP.applyTransform(mtable, args[i], 0);
+              children = CToP.getChildren(qualifiers[i]);
+              if (qualifiers[i].nodeName === 'interval' && children.length === 2) {
+                for (j = 0, num_bvars = bvars.length; j < num_bvars; j++) {
+                  bvar = bvars[j];
+                  children = CToP.getChildren(bvar);
+                  if (children.length) {
+                    CToP.applyTransform(mrow1, children[0], 0);
+                  }
                 }
-                mfenced.appendChild(mtable);
-                parentNode.appendChild(mfenced);
-            }
-        },
-
-        matrixrow: function (parentNode, contentMMLNode, precedence) {
-            var mtr = CToP.createElement('mtr');
-            var children = CToP.getChildren(contentMMLNode);
-            for (var i = 0, l = children.length; i < l; i++) {
-                var mtd = CToP.createElement('mtd');
-                CToP.applyTransform(mtd, children[i], 0);
-                mtr.appendChild(mtd);
-            }
-            parentNode.appendChild(mtr);
-        },
-
-        condition: function (parentNode, contentMMLNode, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var children = CToP.getChildren(contentMMLNode);
-            for (var i = 0, l = children.length; i < l; i++) {
-                CToP.applyTransform(mrow, children[i], 0);
-            }
-            parentNode.appendChild(mrow);
-        },
-
-        lambda: function (parentNode, contentMMLNode, precedence) {
-            var firstArg = CToP.createElement('lambda');
-            var children = CToP.classifyChildren(contentMMLNode);
-            var args = children.args, bvars = children.bvars, qualifiers = children.qualifiers;
-            var i, l, num_qualifiers;
-
-            if (bvars.length) {
-                CToP.applyTokens.lambda(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-            } else {
-                var mrow = CToP.createElement('mrow');
-                for (i = 0, l = args.length; i < l; i++) {
-                    CToP.applyTransform(mrow, args[i], 0);
-                }
-                if (qualifiers.length) {
-                    var msub = CToP.createElement('msub');
-                    CToP.appendToken(msub, 'mo', '|');
-                    var mrow2 = CToP.createElement('mrow');
-                    for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
-                        children = CToP.getChildren(qualifiers[i]);
-                        for (var j = 0, num_children = children.length; j < num_children; j++) {
-                            CToP.applyTransform(mrow2, children[j], 0);
-                        }
-                    }
-                    msub.appendChild(mrow2);
-                    mrow.appendChild(msub);
+                if (bvars.length) {
+                  CToP.appendToken(mrow1, "mo", "=");
                 }
-                parentNode.appendChild(mrow);
-            }
-        },
-
-        ident: function (parentNode, contentMMLNode, precedence) {
-            CToP.appendToken(parentNode, "mi", "id")
-        },
-
-        domainofapplication: function (parentNode, contentMMLNode, precedence) {
-            var merror = CToP.createElement('merror');
-            CToP.appendToken(merror, 'mtext', 'unexpected domainofapplication');
-            parentNode.appendChild(merror);
-        },
-
-        share: function (parentNode, contentMMLNode, precedence) {
-            var mi = CToP.createElement('mi');
-            mi.setAttribute('href', contentMMLNode.getAttribute('href'));
-            CToP.setTextContent(mi, "Share " + contentMMLNode.getAttribute('href'));
-            parentNode.appendChild(mi);
-        },
-
-        cerror: function (parentNode, contentMMLNode, precedence) {
-            var merror = CToP.createElement('merror');
-            var children = CToP.getChildren(contentMMLNode);
-            for (var i = 0, l = children.length; i < l; i++) {
-                CToP.applyTransform(merror, children[i], 0);
-            }
-            parentNode.appendChild(merror);
-        },
-
-        semantics: function (parentNode, contentMMLNode, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var children = CToP.getChildren(contentMMLNode);
+                CToP.applyTransform(mrow1, CToP.getChildren(qualifiers[i])[0], 0);
+              }
+            }
+          }
+          munderover.appendChild(mrow1);
+          var mjrow = CToP.createElement('mrow');
+          for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
+            if (qualifiers[i].nodeName === 'uplimit' || qualifiers[i].nodeName === 'interval') {
+              children = CToP.getChildren(qualifiers[i]);
+              for (j = 0, num_children = children.length; j < num_children; j++) {
+                CToP.applyTransform(mjrow, children[j], 0);
+              }
+            }
+          }
+          munderover.appendChild(mjrow);
+          mrow.appendChild(munderover);
+
+          for (i = 0, num_args = args.length; i < num_args; i++) {
+            CToP.applyTransform(mrow, args[i], precedence);
+          }
+
+          parentNode.appendChild(mrow);
+        }
+      },
+
+      /* Transform something which binds a variable, e.g. forall or lambda
+       *
+       * (function factory)
+       */
+      bind: function (name, argSeparator, conditionSeparator) {
+        return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+          var mrow = CToP.createElement('mrow');
+          var children, i, j, l, num_qualifiers, num_children;
+          if (name) {
+            CToP.appendToken(mrow, 'mo', name);
+          }
+          for (j = 0, l = bvars.length; j < l; j++) {
+            var bvar = bvars[j];
+            if (j > 0) {
+              CToP.appendToken(mrow, 'mo', ',');
+            }
+            children = CToP.getChildren(bvar);
             if (children.length) {
-                var z = children[0];
-                for (var i = 0, l = children.length; i < l; i++) {
-                    if (children[i].nodeName === 'annotation-xml' && children[i].getAttribute('encoding') === 'MathML-Presentation') {
-                        z = children[i];
-                        break;
-                    }
-                }
-                CToP.applyTransform(mrow, z, 0);
-            }
-            parentNode.appendChild(mrow);
-        },
-
-        "annotation-xml": function (parentNode, contentMMLNode, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var children = CToP.getChildren(contentMMLNode);
-            for (var i = 0, l = children.length; i < l; i++) {
-                CToP.applyTransform(mrow, children[i], 0);
-            }
-            parentNode.appendChild(mrow);
+              CToP.applyTransform(mrow, children[0], 0);
+            }
+          }
+
+          var conditions_mrow = CToP.createElement('mrow');
+          var conditions = false;
+          for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
+            if (qualifiers[i].nodeName === 'condition') {
+              conditions = true;
+              children = CToP.getChildren(qualifiers[i]);
+              for (j = 0, num_children = children.length; j < num_children; j++) {
+                CToP.applyTransform(conditions_mrow, children[j], 0);
+              }
+            }
+          }
+          if (conditions) {
+            CToP.appendToken(mrow, 'mo', conditionSeparator);
+          }
+          mrow.appendChild(conditions_mrow);
+          for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
+            if (qualifiers[i].nodeName != 'condition') {
+              CToP.appendToken(mrow, 'mo', '\u2208');
+              children = CToP.getChildren(qualifiers[i]);
+              for (j = 0, num_children = children.length; j < num_children; j++) {
+                CToP.applyTransform(mrow, children[j], 0);
+              }
+            }
+          }
+          if (args.length && (bvars.length || children.length)) {
+            CToP.appendToken(mrow, 'mo', argSeparator);
+          }
+          for (i = 0, l = args.length; i < l; i++) {
+            CToP.applyTransform(mrow, args[i], 0);
+          }
+          parentNode.appendChild(mrow);
         }
-    };
-
-    CToP.tokens.reln = CToP.tokens.bind = CToP.tokens.apply;
-
-    CToP.contentDictionaries = {
-        "setname1": function (parentNode, contentMMLNode, precedence) {
-            var sets = {
-                C: '\u2102',
-                N: '\u2115',
-                P: '\u2119',
-                Q: '\u211A',
-                R: '\u211D',
-                Z: '\u2124'
-            }
-            var name = CToP.getTextContent(contentMMLNode);
-            CToP.appendToken(parentNode, 'mi', sets[name]);
-        },
-        aritherror: function (parentNode, contentMMLNode, precedence) {
-            var name = CToP.getTextContent(contentMMLNode);
-            CToP.appendToken(parentNode, 'mi', name + ':');
+      },
+
+      /** Transform a function application
+       *
+       * i.e. something which ends up looking like `f(x,y,z)`, where `f` is a string
+       *
+       * (function factory)
+       */
+      fn: function (name) {
+        return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+          var mrow = CToP.createElement('mrow');
+          if (firstArg.childNodes.length) {
+            CToP.applyTransform(mrow, firstArg, 1);
+          } else {
+            CToP.appendToken(mrow, 'mi', name);
+          }
+          CToP.appendToken(mrow, 'mo', '\u2061');
+          mrow.appendChild(CToP.createmfenced(args, '(', ')'));
+          parentNode.appendChild(mrow);
         }
-    }
-
-    /* Functions to transform function/operation application tokens
-     */
-    CToP.applyTokens = {
-        rem: CToP.transforms.binary('mod', 3),
-        divide: CToP.transforms.binary('/', 3),
-        remainder: CToP.transforms.binary('mod', 3),
-        implies: CToP.transforms.binary('\u21D2', 3),
-        factorof: CToP.transforms.binary('|', 3),
-        "in": CToP.transforms.binary('\u2208', 3),
-        notin: CToP.transforms.binary('\u2209', 3),
-        notsubset: CToP.transforms.binary('\u2288', 2),
-        notprsubset: CToP.transforms.binary('\u2284', 2),
-        setdiff: CToP.transforms.binary('\u2216', 2),
-        eq: CToP.transforms.infix('=', 1),
-        compose: CToP.transforms.infix('\u2218', 0),
-        "left_compose": CToP.transforms.infix('\u2218', 1),
-        xor: CToP.transforms.infix('xor', 3),
-        neq: CToP.transforms.infix('\u2260', 1),
-        gt: CToP.transforms.infix('>', 1),
-        lt: CToP.transforms.infix('<', 1),
-        geq: CToP.transforms.infix('\u2265', 1),
-        leq: CToP.transforms.infix('\u2264', 1),
-        equivalent: CToP.transforms.infix('\u2261', 1),
-        approx: CToP.transforms.infix('\u2248', 1),
-        subset: CToP.transforms.infix('\u2286', 2),
-        prsubset: CToP.transforms.infix('\u2282', 2),
-        cartesianproduct: CToP.transforms.infix('\u00D7', 2),
-        "cartesian_product": CToP.transforms.infix('\u00D7', 2),
-        vectorproduct: CToP.transforms.infix('\u00D7', 2),
-        scalarproduct: CToP.transforms.infix('.', 2),
-        outerproduct: CToP.transforms.infix('\u2297', 2),
-        sum: CToP.transforms.iteration('\u2211', '='),
-        product: CToP.transforms.iteration('\u220F', '='),
-        forall: CToP.transforms.bind('\u2200', '.', ','),
-        exists: CToP.transforms.bind('\u2203', '.', ','),
-        lambda: CToP.transforms.bind('\u03BB', '.', ','),
-        limit: CToP.transforms.iteration('lim', '\u2192'),
-        sdev: CToP.transforms.fn('\u03c3'),
-        determinant: CToP.transforms.fn('det'),
-        max: CToP.transforms.minmax('max'),
-        min: CToP.transforms.minmax('min'),
-        real: CToP.transforms.fn('\u211b'),
-        imaginary: CToP.transforms.fn('\u2111'),
-        set: CToP.transforms.set('{', '}'),
-        list: CToP.transforms.set('(', ')'),
-
-        exp: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var msup = CToP.createElement('msup');
-            CToP.appendToken(msup, 'mi', 'e');
-            CToP.applyTransform(msup, args[0], 0);
-            parentNode.appendChild(msup);
-        },
-
-        union: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            if (bvars.length) {
-                CToP.transforms.iteration('\u22C3', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-            } else {
-                CToP.transforms.infix('\u222A', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-            }
-        },
-
-        intersect: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            if (bvars.length) {
-                CToP.transforms.iteration('\u22C2', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-            } else {
-                var mrow = CToP.createElement('mrow');
-                var needsBrackets = precedence > 2;
-                if (needsBrackets) {
-                    CToP.appendToken(mrow, 'mo', '(');
-                }
-                for (var j = 0, l = args.length; j < l; j++) {
-                    var argBrackets = false;
-                    if (j > 0) {
-                        CToP.appendToken(mrow, 'mo', '\u2229');
-                        if (args[j].nodeName === 'apply') {
-                            var child = CToP.getChildren(args[j])[0];
-                            argBrackets = child.nodeName === 'union';
-                        }
-                    }
-                    if (argBrackets) {
-                        CToP.appendToken(mrow, 'mo', '(');
-                    }
-                    CToP.applyTransform(mrow, args[j], 2);
-                    if (argBrackets) {
-                        CToP.appendToken(mrow, 'mo', ')');
-                    }
-                }
-                if (needsBrackets) {
-                    CToP.appendToken(mrow, 'mo', ')');
-                }
-                parentNode.appendChild(mrow);
-            }
-        },
-
-        floor: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '\u230a');
-            CToP.applyTransform(mrow, args[0], 0);
-            CToP.appendToken(mrow, 'mo', '\u230b');
-            parentNode.appendChild(mrow);
-        },
-
-        conjugate: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mover = CToP.createElement('mover');
-            CToP.applyTransform(mover, args[0], 0);
-            CToP.appendToken(mover, 'mo', '\u00af');
-            parentNode.appendChild(mover);
-        },
-
-        abs: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '|');
-            CToP.applyTransform(mrow, args[0], 0);
-            CToP.appendToken(mrow, 'mo', '|');
-            parentNode.appendChild(mrow);
-        },
-
-        and: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            if (bvars.length || qualifiers.length) {
-                CToP.transforms.iteration('\u22c0', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, 4);
-            } else {
-                CToP.transforms.infix('\u2227', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-            }
-        },
-
-        or: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            if (bvars.length || qualifiers.length) {
-                CToP.transforms.iteration('\u22c1', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, 4);
-            } else {
-                CToP.transforms.infix('\u2228', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-            }
-        },
-
-        xor: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            if (bvars.length || qualifiers.length) {
-                CToP.transforms.iteration('xor', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, 4);
-            } else {
-                CToP.transforms.infix('xor', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-            }
-        },
-
-        card: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '|');
-            CToP.applyTransform(mrow, args[0], 0);
-            CToP.appendToken(mrow, 'mo', '|');
-            parentNode.appendChild(mrow);
-        },
-
-        mean: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            if (args.length === 1) {
-                var mover = CToP.createElement('mover');
-                CToP.applyTransform(mover, args[0], 0);
-                CToP.appendToken(mover, 'mo', '\u00af');
-                parentNode.appendChild(mover);
-            } else {
-                parentNode.appendChild(CToP.createmfenced(args, '\u27e8', '\u27e9'));
-            }
-        },
-
-        moment: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var degree, momentabout, children, i, j, l;
-
+      },
+
+      /** Transform a min/max operation
+       *
+       * (function factory)
+       */
+      minmax: function (name) {
+        return function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+          var mrow = CToP.createElement('mrow');
+          CToP.appendToken(mrow, 'mi', name);
+          var mrow2 = CToP.createElement('mrow');
+          CToP.appendToken(mrow2, 'mo', '{');
+          for (var i = 0, l = args.length; i < l; i++) {
+            if (i > 0) {
+              CToP.appendToken(mrow2, 'mo', ',');
+            }
+            CToP.applyTransform(mrow2, args[i], 0);
+          }
+          if (qualifiers.length) {
+            CToP.appendToken(mrow2, 'mo', '|');
             for (i = 0, l = qualifiers.length; i < l; i++) {
-                if (qualifiers[i].nodeName === 'degree') {
-                    degree = qualifiers[i];
-                } else if (qualifiers[i].nodeName === 'momentabout') {
-                    momentabout = qualifiers[i];
-                }
-            }
-
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '\u27e8');
-            var argrow = CToP.createElement('mrow');
-            if (args.length > 1) {
-                argrow.appendChild(CToP.createmfenced(args, '(', ')'));
-            } else {
-                CToP.applyTransform(argrow, args[0], 0);
-            }
-            if (degree) {
-                var msup = CToP.createElement('msup');
-                msup.appendChild(argrow);
-                children = CToP.getChildren(degree);
-                for (j = 0, l = children.length; j < l; j++) {
-                    CToP.applyTransform(msup, children[j], 0);
-                }
-                mrow.appendChild(msup);
-            } else {
-                mrow.appendChild(argrow);
-            }
-            CToP.appendToken(mrow, 'mo', '\u27e9');
-
-            if (momentabout) {
-                var msub = CToP.createElement('msub');
-                msub.appendChild(mrow);
-                children = CToP.getChildren(momentabout);
-                for (j = 0, l = children.length; j < l; j++) {
-                    CToP.applyTransform(msub, children[j], 0);
-                }
-                parentNode.appendChild(msub);
-            } else {
-                parentNode.appendChild(mrow);
-            }
-        },
-
-        variance: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var msup = CToP.createElement('msup');
-            CToP.appendToken(msup, 'mo', '\u03c3');
-            CToP.appendToken(msup, 'mn', '2');
-            mrow.appendChild(msup);
-            CToP.appendToken(mrow, 'mo', '\u2061');
-            mrow.appendChild(CToP.createmfenced(args, '(', ')'));
-            parentNode.appendChild(mrow);
-        },
-
-        grad: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '\u2207');
-            CToP.appendToken(mrow, 'mo', '\u2061');
-            mrow.appendChild(CToP.createmfenced(args, '(', ')'));
-            parentNode.appendChild(mrow);
-        },
-
-        laplacian: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var msup = CToP.createElement('msup');
-            CToP.appendToken(msup, 'mo', '\u2207');
-            CToP.appendToken(msup, 'mn', '2');
-            mrow.appendChild(msup);
-            CToP.appendToken(mrow, 'mo', '\u2061');
-            mrow.appendChild(CToP.createmfenced(args, '(', ')'));
-            parentNode.appendChild(mrow);
-        },
-
-        curl: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '\u2207');
-            CToP.appendToken(mrow, 'mo', '\u00d7');
-            var needsBrackets = args[0].nodeName === 'apply';
-            if (needsBrackets) {
-                mrow.appendChild(CToP.createmfenced(args, '(', ')'));
-            }
-            else {
-                CToP.applyTransform(mrow, args[0], precedence);
-            }
-            parentNode.appendChild(mrow);
-        },
-
-        divergence: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '\u2207');
-            CToP.appendToken(mrow, 'mo', '\u22c5');
-            var needsBrackets = args[0].nodeName === 'apply';
-            if (needsBrackets) {
-                mrow.appendChild(CToP.createmfenced(args, '(', ')'));
-            }
-            else {
-                CToP.applyTransform(mrow, args[0], precedence);
+              CToP.applyTransform(mrow2, qualifiers[i], 0);
             }
-            parentNode.appendChild(mrow);
-        },
-
-        not: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+          }
+          CToP.appendToken(mrow2, 'mo', '}');
+          mrow.appendChild(mrow2);
+          parentNode.appendChild(mrow);
+        }
+      }
+    }
+  }
+
+  /* Functions to transform variable/atom tokens
+   */
+  CToP.tokens = {
+    ci: function (parentNode, contentMMLNode, precedence) {
+      if (contentMMLNode.childNodes.length === 1 && contentMMLNode.childNodes[0].nodeType === 3) {
+        var mi = CToP.appendToken(parentNode, 'mi', CToP.getTextContent(contentMMLNode));
+        var type = contentMMLNode.getAttribute('type');
+        if (type in CToP.settings.cistyles) {
+          mi.setAttribute('mathvariant', CToP.settings.cistyles[type]);
+        }
+      } else {
+        CToP.transforms.token('mi')(parentNode, contentMMLNode, precedence);
+      }
+    },
+    cs: CToP.transforms.token('ms'),
+
+    csymbol: function (parentNode, contentMMLNode, precedence) {
+      var cd = contentMMLNode.getAttribute('cd');
+      if (cd && CToP.contentDictionaries[cd]) {
+        CToP.contentDictionaries[cd](parentNode, contentMMLNode, precedence);
+      } else if (CToP.settings.symbols[name]) {
+        CToP.appendToken(parentNode, 'mi', CToP.settings.symbols[name]);
+      } else {
+        CToP.tokens.ci(parentNode, contentMMLNode);
+      }
+    },
+    fn: function (parentNode, contentMMLNode, precedence) {
+      CToP.applyTransform(parentNode, CToP.getChildren(contentMMLNode)[0], precedence);
+    },
+
+    naturalnumbers: CToP.transforms.identifier('\u2115'),
+    integers: CToP.transforms.identifier('\u2124'),
+    reals: CToP.transforms.identifier('\u211D'),
+    rationals: CToP.transforms.identifier('\u211A'),
+    complexes: CToP.transforms.identifier('\u2102'),
+    primes: CToP.transforms.identifier('\u2119'),
+    exponentiale: CToP.transforms.identifier('e'),
+    imaginaryi: CToP.transforms.identifier('i'),
+    notanumber: CToP.transforms.identifier('NaN'),
+    eulergamma: CToP.transforms.identifier('\u03B3'),
+    gamma: CToP.transforms.identifier('\u0263'),
+    pi: CToP.transforms.identifier('\u03C0'),
+    infinity: CToP.transforms.identifier('\u221E'),
+    emptyset: CToP.transforms.identifier('\u2205'),
+    "true": CToP.transforms.identifier('true'),
+    "false": CToP.transforms.identifier('false'),
+    set: CToP.transforms.set('{', '}'),
+    list: CToP.transforms.set('(', ')'),
+
+    interval: function (parentNode, contentMMLNode, precedence) {
+      var closure = contentMMLNode.getAttribute('closure');
+
+      var open, close;
+      switch (closure) {
+        case 'open':
+          open = '(';
+          close = ')';
+          break;
+        case 'open-closed':
+          open = '(';
+          close = ']';
+          break;
+        case 'closed-open':
+          open = '[';
+          close = ')';
+          break;
+        case 'closed':
+        default:
+          open = '[';
+          close = ']';
+      }
+
+      parentNode.appendChild(CToP.createmfenced(CToP.getChildren(contentMMLNode), open, close));
+    },
+
+    apply: function (parentNode, contentMMLNode, precedence) {
+      var children = CToP.classifyChildren(contentMMLNode);
+
+      var firstArg = children.args[0];
+      var args = children.args.slice(1), bvars = children.bvars, qualifiers = children.qualifiers;
+
+      if (firstArg) {
+        var name = firstArg.nodeName;
+        name = (name === "csymbol") ? CToP.getTextContent(firstArg).toLowerCase() : name;
+        if (CToP.applyTokens[name]) {
+          CToP.applyTokens[name](parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+        } else {
+          CToP.transforms.fn(name)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+        }
+      } else {
+        parentNode.appendChild(CToP.createElement('mrow'));
+      }
+    },
+
+    cn: function (parentNode, contentMMLNode, precedence) {
+      var type = contentMMLNode.getAttribute("type");
+      var base = contentMMLNode.getAttribute("base");
+      if (type || base) {
+        if (base) {
+          type = 'based-integer';
+        }
+        switch (type) {
+          case 'integer':
+          case 'real':
+          case 'double':
+          case 'constant':
+            CToP.transforms.token('mn')(parentNode, contentMMLNode);
+            break;
+          case 'hexdouble':
+            CToP.appendToken(parentNode, 'mn', '0x' + CToP.getTextContent(contentMMLNode));
+            break;
+          default:
+            var apply = CToP.createElement('apply');
             var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '\u00ac');
-            var needsBrackets = args[0].nodeName === 'apply' || args[0].nodeName === 'bind';
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', '(');
-            }
-            CToP.applyTransform(mrow, args[0], precedence);
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', ')');
+            var c = CToP.createElement(type);
+            apply.appendChild(c);
+            if (base) {
+              CToP.appendToken(apply, 'mn', base);
             }
-            parentNode.appendChild(mrow)
-        },
-
-        divide: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mfrac = CToP.createElement('mfrac');
-            CToP.applyTransform(mfrac, args[0], 0);
-            CToP.applyTransform(mfrac, args[1], 0);
-            parentNode.appendChild(mfrac);
-        },
-
-        tendsto: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var type;
-            if (firstArg.nodeName === 'tendsto') {
-                type = firstArg.getAttribute('type');
-            } else {
-                type = CToP.getTextContent(args[0]);
-                args = args.slice(1);
-            }
-            var name = (type === 'above') ? '\u2198' :
-                (type === 'below') ? '\u2197' : '\u2192';
-            CToP.transforms.binary(name, 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
-        },
-
-        minus: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var tokenPrecedence = args.length === 1 ? 5 : 2;
-
-            var mrow = CToP.createElement('mrow');
-            var needsBrackets = tokenPrecedence < precedence;
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', '(');
+            for (var j = 0, l = contentMMLNode.childNodes.length; j < l; j++) {
+              if (contentMMLNode.childNodes[j].nodeType === 3) {
+                CToP.appendToken(mrow, 'cn', CToP.getTextContent(contentMMLNode.childNodes[j]));
+              } else if (contentMMLNode.childNodes[j].nodeName === 'sep') {
+                apply.appendChild(mrow);
+                mrow = CToP.createElement('mrow');
+              } else {
+                mrow.appendChild(CToP.cloneNode(contentMMLNode.childNodes[j], true));
+              }
             }
-
-            if (args.length === 1) {
-                CToP.appendToken(mrow, 'mo', '-');
-                CToP.applyTransform(mrow, args[0], tokenPrecedence);
+            apply.appendChild(mrow);
+            CToP.applyTransform(parentNode, apply, 0);
+        }
+      } else {
+        CToP.transforms.token('mn')(parentNode, contentMMLNode);
+      }
+    },
+
+    vector: function (parentNode, contentMMLNode, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '(');
+
+      var mtable = CToP.createElement('mtable');
+      var children = CToP.getChildren(contentMMLNode);
+      for (var i = 0, l = children.length; i < l; i++) {
+        var mtr = CToP.createElement('mtr');
+        var mtd = CToP.createElement('mtd');
+        CToP.applyTransform(mtd, children[i], 0);
+        mtr.appendChild(mtd);
+        mtable.appendChild(mtr);
+      }
+
+      mrow.appendChild(mtable);
+      CToP.appendToken(mrow, 'mo', ')');
+      parentNode.appendChild(mrow);
+    },
+
+    piecewise: function (parentNode, contentMMLNode, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '{');
+      var mtable = CToP.createElement('mtable');
+      mrow.appendChild(mtable);
+      var children = CToP.getChildren(contentMMLNode);
+      for (var i = 0, l = children.length; i < l; i++) {
+        CToP.applyTransform(mtable, children[i], 0);
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    piece: function (parentNode, contentMMLNode, precedence) {
+      var mtr = CToP.createElement('mtr');
+      var children = CToP.getChildren(contentMMLNode);
+      for (var i = 0, l = children.length; i < l; i++) {
+        var mtd = CToP.createElement('mtd');
+        mtr.appendChild(mtd);
+        CToP.applyTransform(mtd, children[i], 0);
+        if (i === 0) {
+          mtd = CToP.createElement('mtd');
+          CToP.appendToken(mtd, "mtext", "\u00A0if\u00A0");
+          mtr.appendChild(mtd);
+        }
+      }
+      parentNode.appendChild(mtr);
+    },
+
+    otherwise: function (parentNode, contentMMLNode, precedence) {
+      var mtr = CToP.createElement('mtr');
+      var children = CToP.getChildren(contentMMLNode);
+      if (children.length) {
+        var mtd = CToP.createElement('mtd');
+        mtr.appendChild(mtd);
+        CToP.applyTransform(mtd, children[0], 0);
+        mtd = CToP.createElement('mtd');
+        mtd.setAttribute('columnspan', '2');
+        CToP.appendToken(mtd, "mtext", "\u00A0otherwise");
+        mtr.appendChild(mtd);
+      }
+      parentNode.appendChild(mtr);
+    },
+
+    matrix: function (parentNode, contentMMLNode, precedence) {
+      var children = CToP.classifyChildren(contentMMLNode);
+      var args = children.args, bvars = children.bvars, qualifiers = children.qualifiers;
+
+      if (bvars.length || qualifiers.length) {
+        var mrow = CToP.createElement('mrow');
+        CToP.appendToken(mrow, "mo", "[");
+        var msub = CToP.createElement('msub');
+        CToP.appendToken(msub, 'mi', 'm');
+        var mrow2 = CToP.createElement('mrow');
+        for (var i = 0, l = bvars.length; i < l; i++) {
+          if (i != 0) {
+            CToP.appendToken(mrow2, 'mo', ',');
+          }
+          CToP.applyTransform(mrow2, bvars[i].childNodes[0], 0);
+        }
+        msub.appendChild(mrow2);
+        mrow.appendChild(msub);
+        var msub2 = CToP.cloneNode(msub, true);
+        CToP.appendToken(mrow, 'mo', '|');
+        mrow.appendChild(msub2);
+        CToP.appendToken(mrow, 'mo', '=');
+        for (i = 0, l = args.length; i < l; i++) {
+          if (i != 0) {
+            CToP.appendToken(mrow, 'mo', ',');
+          }
+          CToP.applyTransform(mrow, args[i], 0);
+        }
+        CToP.appendToken(mrow, 'mo', ';');
+        for (i = 0, l = qualifiers.length; i < l; i++) {
+          if (i != 0) {
+            CToP.appendToken(mrow, 'mo', ',');
+          }
+          CToP.applyTransform(mrow, qualifiers[i], 0);
+        }
+        CToP.appendToken(mrow, 'mo', ']');
+        parentNode.appendChild(mrow);
+      } else {
+        var mfenced = CToP.createElement('mfenced');
+        var mtable = CToP.createElement('mtable');
+        for (i = 0, l = args.length; i < l; i++) {
+          CToP.applyTransform(mtable, args[i], 0);
+        }
+        mfenced.appendChild(mtable);
+        parentNode.appendChild(mfenced);
+      }
+    },
+
+    matrixrow: function (parentNode, contentMMLNode, precedence) {
+      var mtr = CToP.createElement('mtr');
+      var children = CToP.getChildren(contentMMLNode);
+      for (var i = 0, l = children.length; i < l; i++) {
+        var mtd = CToP.createElement('mtd');
+        CToP.applyTransform(mtd, children[i], 0);
+        mtr.appendChild(mtd);
+      }
+      parentNode.appendChild(mtr);
+    },
+
+    condition: function (parentNode, contentMMLNode, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var children = CToP.getChildren(contentMMLNode);
+      for (var i = 0, l = children.length; i < l; i++) {
+        CToP.applyTransform(mrow, children[i], 0);
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    lambda: function (parentNode, contentMMLNode, precedence) {
+      var firstArg = CToP.createElement('lambda');
+      var children = CToP.classifyChildren(contentMMLNode);
+      var args = children.args, bvars = children.bvars, qualifiers = children.qualifiers;
+      var i, l, num_qualifiers;
+
+      if (bvars.length) {
+        CToP.applyTokens.lambda(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+      } else {
+        var mrow = CToP.createElement('mrow');
+        for (i = 0, l = args.length; i < l; i++) {
+          CToP.applyTransform(mrow, args[i], 0);
+        }
+        if (qualifiers.length) {
+          var msub = CToP.createElement('msub');
+          CToP.appendToken(msub, 'mo', '|');
+          var mrow2 = CToP.createElement('mrow');
+          for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
+            children = CToP.getChildren(qualifiers[i]);
+            for (var j = 0, num_children = children.length; j < num_children; j++) {
+              CToP.applyTransform(mrow2, children[j], 0);
+            }
+          }
+          msub.appendChild(mrow2);
+          mrow.appendChild(msub);
+        }
+        parentNode.appendChild(mrow);
+      }
+    },
+
+    ident: function (parentNode, contentMMLNode, precedence) {
+      CToP.appendToken(parentNode, "mi", "id")
+    },
+
+    domainofapplication: function (parentNode, contentMMLNode, precedence) {
+      var merror = CToP.createElement('merror');
+      CToP.appendToken(merror, 'mtext', 'unexpected domainofapplication');
+      parentNode.appendChild(merror);
+    },
+
+    share: function (parentNode, contentMMLNode, precedence) {
+      var mi = CToP.createElement('mi');
+      mi.setAttribute('href', contentMMLNode.getAttribute('href'));
+      CToP.setTextContent(mi, "Share " + contentMMLNode.getAttribute('href'));
+      parentNode.appendChild(mi);
+    },
+
+    cerror: function (parentNode, contentMMLNode, precedence) {
+      var merror = CToP.createElement('merror');
+      var children = CToP.getChildren(contentMMLNode);
+      for (var i = 0, l = children.length; i < l; i++) {
+        CToP.applyTransform(merror, children[i], 0);
+      }
+      parentNode.appendChild(merror);
+    },
+
+    semantics: function (parentNode, contentMMLNode, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var children = CToP.getChildren(contentMMLNode);
+      if (children.length) {
+        var z = children[0];
+        for (var i = 0, l = children.length; i < l; i++) {
+          if (children[i].nodeName === 'annotation-xml' && children[i].getAttribute('encoding') === 'MathML-Presentation') {
+            z = children[i];
+            break;
+          }
+        }
+        CToP.applyTransform(mrow, z, 0);
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    "annotation-xml": function (parentNode, contentMMLNode, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var children = CToP.getChildren(contentMMLNode);
+      for (var i = 0, l = children.length; i < l; i++) {
+        CToP.applyTransform(mrow, children[i], 0);
+      }
+      parentNode.appendChild(mrow);
+    }
+  };
+
+  CToP.tokens.reln = CToP.tokens.bind = CToP.tokens.apply;
+
+  CToP.contentDictionaries = {
+    "setname1": function (parentNode, contentMMLNode, precedence) {
+      var sets = {
+        C: '\u2102',
+        N: '\u2115',
+        P: '\u2119',
+        Q: '\u211A',
+        R: '\u211D',
+        Z: '\u2124'
+      }
+      var name = CToP.getTextContent(contentMMLNode);
+      CToP.appendToken(parentNode, 'mi', sets[name]);
+    },
+    aritherror: function (parentNode, contentMMLNode, precedence) {
+      var name = CToP.getTextContent(contentMMLNode);
+      CToP.appendToken(parentNode, 'mi', name + ':');
+    }
+  }
+
+  /* Functions to transform function/operation application tokens
+   */
+  CToP.applyTokens = {
+    rem: CToP.transforms.binary('mod', 3),
+    divide: CToP.transforms.binary('/', 3),
+    remainder: CToP.transforms.binary('mod', 3),
+    implies: CToP.transforms.binary('\u21D2', 3),
+    factorof: CToP.transforms.binary('|', 3),
+    "in": CToP.transforms.binary('\u2208', 3),
+    notin: CToP.transforms.binary('\u2209', 3),
+    notsubset: CToP.transforms.binary('\u2288', 2),
+    notprsubset: CToP.transforms.binary('\u2284', 2),
+    setdiff: CToP.transforms.binary('\u2216', 2),
+    eq: CToP.transforms.infix('=', 1),
+    compose: CToP.transforms.infix('\u2218', 0),
+    "left_compose": CToP.transforms.infix('\u2218', 1),
+    xor: CToP.transforms.infix('xor', 3),
+    neq: CToP.transforms.infix('\u2260', 1),
+    gt: CToP.transforms.infix('>', 1),
+    lt: CToP.transforms.infix('<', 1),
+    geq: CToP.transforms.infix('\u2265', 1),
+    leq: CToP.transforms.infix('\u2264', 1),
+    equivalent: CToP.transforms.infix('\u2261', 1),
+    approx: CToP.transforms.infix('\u2248', 1),
+    subset: CToP.transforms.infix('\u2286', 2),
+    prsubset: CToP.transforms.infix('\u2282', 2),
+    cartesianproduct: CToP.transforms.infix('\u00D7', 2),
+    "cartesian_product": CToP.transforms.infix('\u00D7', 2),
+    vectorproduct: CToP.transforms.infix('\u00D7', 2),
+    scalarproduct: CToP.transforms.infix('.', 2),
+    outerproduct: CToP.transforms.infix('\u2297', 2),
+    sum: CToP.transforms.iteration('\u2211', '='),
+    product: CToP.transforms.iteration('\u220F', '='),
+    forall: CToP.transforms.bind('\u2200', '.', ','),
+    exists: CToP.transforms.bind('\u2203', '.', ','),
+    lambda: CToP.transforms.bind('\u03BB', '.', ','),
+    limit: CToP.transforms.iteration('lim', '\u2192'),
+    sdev: CToP.transforms.fn('\u03c3'),
+    determinant: CToP.transforms.fn('det'),
+    max: CToP.transforms.minmax('max'),
+    min: CToP.transforms.minmax('min'),
+    real: CToP.transforms.fn('\u211b'),
+    imaginary: CToP.transforms.fn('\u2111'),
+    set: CToP.transforms.set('{', '}'),
+    list: CToP.transforms.set('(', ')'),
+
+    exp: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var msup = CToP.createElement('msup');
+      CToP.appendToken(msup, 'mi', 'e');
+      CToP.applyTransform(msup, args[0], 0);
+      parentNode.appendChild(msup);
+    },
+
+    union: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      if (bvars.length) {
+        CToP.transforms.iteration('\u22C3', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+      } else {
+        CToP.transforms.infix('\u222A', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+      }
+    },
+
+    intersect: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      if (bvars.length) {
+        CToP.transforms.iteration('\u22C2', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+      } else {
+        var mrow = CToP.createElement('mrow');
+        var needsBrackets = precedence > 2;
+        if (needsBrackets) {
+          CToP.appendToken(mrow, 'mo', '(');
+        }
+        for (var j = 0, l = args.length; j < l; j++) {
+          var argBrackets = false;
+          if (j > 0) {
+            CToP.appendToken(mrow, 'mo', '\u2229');
+            if (args[j].nodeName === 'apply') {
+              var child = CToP.getChildren(args[j])[0];
+              argBrackets = child.nodeName === 'union';
+            }
+          }
+          if (argBrackets) {
+            CToP.appendToken(mrow, 'mo', '(');
+          }
+          CToP.applyTransform(mrow, args[j], 2);
+          if (argBrackets) {
+            CToP.appendToken(mrow, 'mo', ')');
+          }
+        }
+        if (needsBrackets) {
+          CToP.appendToken(mrow, 'mo', ')');
+        }
+        parentNode.appendChild(mrow);
+      }
+    },
+
+    floor: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '\u230a');
+      CToP.applyTransform(mrow, args[0], 0);
+      CToP.appendToken(mrow, 'mo', '\u230b');
+      parentNode.appendChild(mrow);
+    },
+
+    conjugate: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mover = CToP.createElement('mover');
+      CToP.applyTransform(mover, args[0], 0);
+      CToP.appendToken(mover, 'mo', '\u00af');
+      parentNode.appendChild(mover);
+    },
+
+    abs: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '|');
+      CToP.applyTransform(mrow, args[0], 0);
+      CToP.appendToken(mrow, 'mo', '|');
+      parentNode.appendChild(mrow);
+    },
+
+    and: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      if (bvars.length || qualifiers.length) {
+        CToP.transforms.iteration('\u22c0', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, 4);
+      } else {
+        CToP.transforms.infix('\u2227', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+      }
+    },
+
+    or: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      if (bvars.length || qualifiers.length) {
+        CToP.transforms.iteration('\u22c1', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, 4);
+      } else {
+        CToP.transforms.infix('\u2228', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+      }
+    },
+
+    xor: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      if (bvars.length || qualifiers.length) {
+        CToP.transforms.iteration('xor', '=')(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, 4);
+      } else {
+        CToP.transforms.infix('xor', 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+      }
+    },
+
+    card: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '|');
+      CToP.applyTransform(mrow, args[0], 0);
+      CToP.appendToken(mrow, 'mo', '|');
+      parentNode.appendChild(mrow);
+    },
+
+    mean: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      if (args.length === 1) {
+        var mover = CToP.createElement('mover');
+        CToP.applyTransform(mover, args[0], 0);
+        CToP.appendToken(mover, 'mo', '\u00af');
+        parentNode.appendChild(mover);
+      } else {
+        parentNode.appendChild(CToP.createmfenced(args, '\u27e8', '\u27e9'));
+      }
+    },
+
+    moment: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var degree, momentabout, children, i, j, l;
+
+      for (i = 0, l = qualifiers.length; i < l; i++) {
+        if (qualifiers[i].nodeName === 'degree') {
+          degree = qualifiers[i];
+        } else if (qualifiers[i].nodeName === 'momentabout') {
+          momentabout = qualifiers[i];
+        }
+      }
+
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '\u27e8');
+      var argrow = CToP.createElement('mrow');
+      if (args.length > 1) {
+        argrow.appendChild(CToP.createmfenced(args, '(', ')'));
+      } else {
+        CToP.applyTransform(argrow, args[0], 0);
+      }
+      if (degree) {
+        var msup = CToP.createElement('msup');
+        msup.appendChild(argrow);
+        children = CToP.getChildren(degree);
+        for (j = 0, l = children.length; j < l; j++) {
+          CToP.applyTransform(msup, children[j], 0);
+        }
+        mrow.appendChild(msup);
+      } else {
+        mrow.appendChild(argrow);
+      }
+      CToP.appendToken(mrow, 'mo', '\u27e9');
+
+      if (momentabout) {
+        var msub = CToP.createElement('msub');
+        msub.appendChild(mrow);
+        children = CToP.getChildren(momentabout);
+        for (j = 0, l = children.length; j < l; j++) {
+          CToP.applyTransform(msub, children[j], 0);
+        }
+        parentNode.appendChild(msub);
+      } else {
+        parentNode.appendChild(mrow);
+      }
+    },
+
+    variance: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var msup = CToP.createElement('msup');
+      CToP.appendToken(msup, 'mo', '\u03c3');
+      CToP.appendToken(msup, 'mn', '2');
+      mrow.appendChild(msup);
+      CToP.appendToken(mrow, 'mo', '\u2061');
+      mrow.appendChild(CToP.createmfenced(args, '(', ')'));
+      parentNode.appendChild(mrow);
+    },
+
+    grad: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '\u2207');
+      CToP.appendToken(mrow, 'mo', '\u2061');
+      mrow.appendChild(CToP.createmfenced(args, '(', ')'));
+      parentNode.appendChild(mrow);
+    },
+
+    laplacian: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var msup = CToP.createElement('msup');
+      CToP.appendToken(msup, 'mo', '\u2207');
+      CToP.appendToken(msup, 'mn', '2');
+      mrow.appendChild(msup);
+      CToP.appendToken(mrow, 'mo', '\u2061');
+      mrow.appendChild(CToP.createmfenced(args, '(', ')'));
+      parentNode.appendChild(mrow);
+    },
+
+    curl: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '\u2207');
+      CToP.appendToken(mrow, 'mo', '\u00d7');
+      var needsBrackets = args[0].nodeName === 'apply';
+      if (needsBrackets) {
+        mrow.appendChild(CToP.createmfenced(args, '(', ')'));
+      }
+      else {
+        CToP.applyTransform(mrow, args[0], precedence);
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    divergence: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '\u2207');
+      CToP.appendToken(mrow, 'mo', '\u22c5');
+      var needsBrackets = args[0].nodeName === 'apply';
+      if (needsBrackets) {
+        mrow.appendChild(CToP.createmfenced(args, '(', ')'));
+      }
+      else {
+        CToP.applyTransform(mrow, args[0], precedence);
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    not: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '\u00ac');
+      var needsBrackets = args[0].nodeName === 'apply' || args[0].nodeName === 'bind';
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', '(');
+      }
+      CToP.applyTransform(mrow, args[0], precedence);
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', ')');
+      }
+      parentNode.appendChild(mrow)
+    },
+
+    divide: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mfrac = CToP.createElement('mfrac');
+      CToP.applyTransform(mfrac, args[0], 0);
+      CToP.applyTransform(mfrac, args[1], 0);
+      parentNode.appendChild(mfrac);
+    },
+
+    tendsto: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var type;
+      if (firstArg.nodeName === 'tendsto') {
+        type = firstArg.getAttribute('type');
+      } else {
+        type = CToP.getTextContent(args[0]);
+        args = args.slice(1);
+      }
+      var name = (type === 'above') ? '\u2198' :
+          (type === 'below') ? '\u2197' : '\u2192';
+      CToP.transforms.binary(name, 2)(parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence);
+    },
+
+    minus: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var tokenPrecedence = args.length === 1 ? 5 : 2;
+
+      var mrow = CToP.createElement('mrow');
+      var needsBrackets = tokenPrecedence < precedence;
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', '(');
+      }
+
+      if (args.length === 1) {
+        CToP.appendToken(mrow, 'mo', '-');
+        CToP.applyTransform(mrow, args[0], tokenPrecedence);
+      } else {
+        CToP.applyTransform(mrow, args[0], tokenPrecedence);
+        CToP.appendToken(mrow, 'mo', '-');
+        var bracketArg;
+        if (args[1].nodeName === 'apply') {
+          var argOp = CToP.getChildren(args[1])[0];
+          bracketArg = argOp.nodeName === 'plus' || argOp.nodeName === 'minus';
+        }
+        if (bracketArg) {
+          CToP.appendToken(mrow, 'mo', '(');
+        }
+        CToP.applyTransform(mrow, args[1], tokenPrecedence);
+        if (bracketArg) {
+          CToP.appendToken(mrow, 'mo', ')');
+        }
+      }
+
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', ')');
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    "complex-cartesian": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.applyTransform(mrow, args[0], 0);
+      CToP.appendToken(mrow, 'mo', '+');
+      CToP.applyTransform(mrow, args[1], 0);
+      CToP.appendToken(mrow, 'mo', '\u2062');
+      CToP.appendToken(mrow, 'mi', 'i');
+      parentNode.appendChild(mrow);
+    },
+
+    "complex-polar": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.applyTransform(mrow, args[0], 0);
+      CToP.appendToken(mrow, 'mo', '\u2062');
+      var msup = CToP.createElement('msup');
+      CToP.appendToken(msup, 'mi', 'e');
+      var exponent = CToP.createElement('mrow');
+      CToP.applyTransform(exponent, args[1], 0);
+      CToP.appendToken(exponent, 'mo', '\u2062');
+      CToP.appendToken(exponent, 'mi', 'i');
+      msup.appendChild(exponent);
+      mrow.appendChild(msup);
+      parentNode.appendChild(mrow);
+    },
+
+    integer: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      CToP.applyTransform(parentNode, args[0], 0);
+    },
+
+    "based-integer": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var msub = CToP.createElement('msub');
+      CToP.applyTransform(msub, args[1], 0);
+      CToP.applyTransform(msub, args[0], 0);
+      parentNode.appendChild(msub);
+    },
+
+    rational: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mfrac = CToP.createElement('mfrac');
+      CToP.applyTransform(mfrac, args[0], 0);
+      CToP.applyTransform(mfrac, args[1], 0);
+      parentNode.appendChild(mfrac);
+    },
+
+    times: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var needsBrackets = precedence > 3;
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', '(');
+      }
+      for (var j = 0, l = args.length; j < l; j++) {
+        if (j > 0) {
+          CToP.appendToken(mrow, 'mo', (args[j].nodeName === 'cn') ? "\u00D7" : "\u2062");
+        }
+        CToP.applyTransform(mrow, args[j], 3);
+      }
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', ')');
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    plus: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var needsBrackets = precedence > 2;
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', '(');
+      }
+      for (var j = 0, l = args.length; j < l; j++) {
+        var arg = args[j];
+        var children = CToP.getChildren(arg);
+        if (j > 0) {
+          var n;
+          if (CToP.settings.collapsePlusMinus) {
+            if (arg.nodeName === 'cn' && !(children.length) && (n = Number(CToP.getTextContent(arg))) < 0) {
+              CToP.appendToken(mrow, 'mo', '\u2212');
+              CToP.appendToken(mrow, 'mn', -n);
+            } else if (arg.nodeName === 'apply' && children.length === 2 && children[0].nodeName === 'minus') {
+              CToP.appendToken(mrow, 'mo', '\u2212');
+              CToP.applyTransform(mrow, children[1], 2);
+            } else if (arg.nodeName === 'apply' && children.length > 2 && children[0].nodeName === 'times' && children[1].nodeName === 'cn' && ( n = Number(CToP.getTextContent(children[1])) < 0)) {
+              CToP.appendToken(mrow, 'mo', '\u2212');
+              CToP.getTextContent(children[1]) = -n;// fix me: modifying document
+              CToP.applyTransform(mrow, arg, 2);
             } else {
-                CToP.applyTransform(mrow, args[0], tokenPrecedence);
-                CToP.appendToken(mrow, 'mo', '-');
-                var bracketArg;
-                if (args[1].nodeName === 'apply') {
-                    var argOp = CToP.getChildren(args[1])[0];
-                    bracketArg = argOp.nodeName === 'plus' || argOp.nodeName === 'minus';
-                }
-                if (bracketArg) {
-                    CToP.appendToken(mrow, 'mo', '(');
-                }
-                CToP.applyTransform(mrow, args[1], tokenPrecedence);
-                if (bracketArg) {
-                    CToP.appendToken(mrow, 'mo', ')');
-                }
-            }
-
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', ')');
+              CToP.appendToken(mrow, 'mo', '+');
+              CToP.applyTransform(mrow, arg, 2);
             }
-            parentNode.appendChild(mrow);
-        },
-
-        "complex-cartesian": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.applyTransform(mrow, args[0], 0);
+          } else {
             CToP.appendToken(mrow, 'mo', '+');
-            CToP.applyTransform(mrow, args[1], 0);
-            CToP.appendToken(mrow, 'mo', '\u2062');
-            CToP.appendToken(mrow, 'mi', 'i');
-            parentNode.appendChild(mrow);
-        },
+            CToP.applyTransform(mrow, arg, 2);
+          }
+        } else {
+          CToP.applyTransform(mrow, arg, 2);
+        }
+      }
+      if (needsBrackets) {
+        CToP.appendToken(mrow, 'mo', ')');
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    transpose: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var msup = CToP.createElement('msup');
+      CToP.applyTransform(msup, args[0], precedence);
+      CToP.appendToken(msup, 'mi', 'T');
+      parentNode.appendChild(msup);
+    },
+
+    power: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var msup = CToP.createElement('msup');
+      CToP.applyTransform(msup, args[0], 3);
+      CToP.applyTransform(msup, args[1], precedence);
+      parentNode.appendChild(msup);
+    },
+
+    selector: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var msub = CToP.createElement('msub');
+      var mrow = args ? args[0] : CToP.createElement('mrow');
+      CToP.applyTransform(msub, mrow, 0);
+      var mrow2 = CToP.createElement('mrow');
+      for (var i = 1, l = args.length; i < l; i++) {
+        if (i != 1) {
+          CToP.appendToken(mrow2, 'mo', ',');
+        }
+        CToP.applyTransform(mrow2, args[i], 0);
+      }
+      msub.appendChild(mrow2);
+      parentNode.appendChild(msub);
+    },
+
+    log: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var mi = CToP.createElement('mi');
+      CToP.setTextContent(mi, 'log');
+      if (qualifiers.length && qualifiers[0].nodeName === 'logbase') {
+        var msub = CToP.createElement('msub');
+        msub.appendChild(mi);
+        CToP.applyTransform(msub, CToP.getChildren(qualifiers[0])[0], 0);
+        mrow.appendChild(msub);
+      } else {
+        mrow.appendChild(mi);
+      }
+      CToP.applyTransform(mrow, args[0], 7);
+      parentNode.appendChild(mrow);
+    },
+
+    "int": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      var mo = CToP.createElement('mo');
+      CToP.setTextContent(mo, '\u222B');
+      var msubsup = CToP.createElement('msubsup');
+      msubsup.appendChild(mo);
+      var mrow1 = CToP.createElement('mrow');
+      var children, i, j, l, num_qualifiers, num_children;
+      for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
+        if (qualifiers[i].nodeName === 'lowlimit' ||
+            qualifiers[i].nodeName === 'condition' ||
+            qualifiers[i].nodeName === 'domainofapplication') {
+          children = CToP.getChildren(qualifiers[i]);
+          for (j = 0, num_children = children.length; j < num_children; j++) {
+            CToP.applyTransform(mrow1, children[j], 0);
+          }
+        } else {
+          children = CToP.getChildren(qualifiers[i]);
+          if (qualifiers[i].nodeName === 'interval' && children.length === 2) {
+            CToP.applyTransform(mrow1, children[0], 0);
+          }
+        }
+      }
+      msubsup.appendChild(mrow1);
+      var mrow2 = CToP.createElement('mrow');
+      for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
+        if (qualifiers[i].nodeName === 'uplimit') {
+          children = CToP.getChildren(qualifiers[i]);
+          for (j = 0, num_children = children.length; j < num_children; j++) {
+            CToP.applyTransform(mrow2, children[j], 0);
+          }
+          break;
+        } else if (qualifiers[i].nodeName === 'interval') {
+          children = CToP.getChildren(qualifiers[i]);
+          CToP.applyTransform(mrow2, children[children.length - 1], 0);
+          break;
+        }
+      }
+      msubsup.appendChild(mrow2);
+      mrow.appendChild(msubsup);
+      for (i = 0, l = args.length; i < l; i++) {
+        CToP.applyTransform(mrow, args[i], 0);
+      }
+      for (i = 0, l = bvars.length; i < l; i++) {
+        var bvar = bvars[i];
+        children = CToP.getChildren(bvar);
+        if (children.length) {
+          var mrow3 = CToP.createElement("mrow");
+          CToP.appendToken(mrow3, 'mi', 'd');
+          CToP.applyTransform(mrow3, children[0], 0);
+          mrow.appendChild(mrow3);
+        }
+      }
+      parentNode.appendChild(mrow);
+    },
+
+    inverse: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var msup = CToP.createElement('msup');
+      var arg = (args.length) ? args[0] : CToP.createElement('mrow');
+      CToP.applyTransform(msup, arg, precedence);
+      var mfenced = CToP.createElement('mfenced');
+      CToP.appendToken(mfenced, 'mn', '-1');
+      msup.appendChild(mfenced);
+      parentNode.appendChild(msup);
+    },
+
+    quotient: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.appendToken(mrow, 'mo', '\u230A');
+      if (args.length) {
+        CToP.applyTransform(mrow, args[0], 0);
+        CToP.appendToken(mrow, 'mo', '/');
+        if (args.length > 1) {
+          CToP.applyTransform(mrow, args[1], 0);
+        }
+      }
+      CToP.appendToken(mrow, 'mo', '\u230B');
+      parentNode.appendChild(mrow);
+    },
+
+    factorial: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mrow = CToP.createElement('mrow');
+      CToP.applyTransform(mrow, args[0], 4);
+      CToP.appendToken(mrow, 'mo', '!');
+      parentNode.appendChild(mrow);
+    },
+
+    root: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var mr;
+      if (firstArg.nodeName === 'root' && (qualifiers.length === 0 || (qualifiers[0].nodeName === 'degree' && CToP.getTextContent(qualifiers[0]) === '2'))) {
+        mr = CToP.createElement('msqrt');
+        for (var i = 0, l = args.length; i < l; i++) {
+          CToP.applyTransform(mr, args[i], 0);
+        }
+      } else {
+        mr = CToP.createElement('mroot');
+        CToP.applyTransform(mr, args[0], 0);
+        var arg = (firstArg.nodeName === 'root') ? qualifiers[0].childNodes[0] : args[1];
+        CToP.applyTransform(mr, arg, 0);
+      }
+      parentNode.appendChild(mr);
+    },
+
+    diff: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      if (bvars.length) {	// d/dx form
+        var outNode;
+        var mfrac = CToP.createElement('mfrac');
+        var toprow = CToP.createElement('mrow');
+        var bottomrow = CToP.createElement('mrow');
+        mfrac.appendChild(toprow);
+        mfrac.appendChild(bottomrow);
+
+        var bvar, degreeNode, msup, mrow;
+
+        var d = CToP.createElement('mi');
+        CToP.setTextContent(d, 'd');
+
+        var children = CToP.getChildren(bvars[0]);
+        for (var j = 0, l = children.length; j < l; j++) {
+          if (children[j].nodeName === 'degree') {
+            var childNode = CToP.getChildren(children[j])[0];
+            if (CToP.getTextContent(childNode) != '1') {
+              degreeNode = childNode;
+              msup = CToP.createElement('msup');
+              msup.appendChild(d);
+              d = msup;
+              CToP.applyTransform(d, degreeNode, 0);
+            }
+          } else {
+            bvar = children[j];
+          }
+        }
+        toprow.appendChild(d);
+
+        if (args.length) {
+          switch (args[0].nodeName) {
+            case 'apply':
+            case 'bind':
+            case 'reln':
+              mrow = CToP.createElement('mrow');
+              mrow.appendChild(mfrac);
+              CToP.applyTransform(mrow, args[0], 3);
+              outNode = mrow;
+              break;
+            default:
+              CToP.applyTransform(toprow, args[0], 0);
+              outNode = mfrac;
+          }
+        }
 
-        "complex-polar": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.applyTransform(mrow, args[0], 0);
-            CToP.appendToken(mrow, 'mo', '\u2062');
-            var msup = CToP.createElement('msup');
-            CToP.appendToken(msup, 'mi', 'e');
-            var exponent = CToP.createElement('mrow');
-            CToP.applyTransform(exponent, args[1], 0);
-            CToP.appendToken(exponent, 'mo', '\u2062');
-            CToP.appendToken(exponent, 'mi', 'i');
-            msup.appendChild(exponent);
-            mrow.appendChild(msup);
-            parentNode.appendChild(mrow);
-        },
-
-        integer: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            CToP.applyTransform(parentNode, args[0], 0);
-        },
-
-        "based-integer": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var msub = CToP.createElement('msub');
-            CToP.applyTransform(msub, args[1], 0);
-            CToP.applyTransform(msub, args[0], 0);
-            parentNode.appendChild(msub);
-        },
-
-        rational: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mfrac = CToP.createElement('mfrac');
-            CToP.applyTransform(mfrac, args[0], 0);
-            CToP.applyTransform(mfrac, args[1], 0);
-            parentNode.appendChild(mfrac);
-        },
-
-        times: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var needsBrackets = precedence > 3;
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', '(');
-            }
-            for (var j = 0, l = args.length; j < l; j++) {
-                if (j > 0) {
-                    CToP.appendToken(mrow, 'mo', (args[j].nodeName === 'cn') ? "\u00D7" : "\u2062");
-                }
-                CToP.applyTransform(mrow, args[j], 3);
-            }
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', ')');
-            }
-            parentNode.appendChild(mrow);
-        },
+        CToP.appendToken(bottomrow, 'mi', 'd');
 
-        plus: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var needsBrackets = precedence > 2;
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', '(');
-            }
-            for (var j = 0, l = args.length; j < l; j++) {
-                var arg = args[j];
-                var children = CToP.getChildren(arg);
-                if (j > 0) {
-                    var n;
-                    if (CToP.settings.collapsePlusMinus) {
-                        if (arg.nodeName === 'cn' && !(children.length) && (n = Number(CToP.getTextContent(arg))) < 0) {
-                            CToP.appendToken(mrow, 'mo', '\u2212');
-                            CToP.appendToken(mrow, 'mn', -n);
-                        } else if (arg.nodeName === 'apply' && children.length === 2 && children[0].nodeName === 'minus') {
-                            CToP.appendToken(mrow, 'mo', '\u2212');
-                            CToP.applyTransform(mrow, children[1], 2);
-                        } else if (arg.nodeName === 'apply' && children.length > 2 && children[0].nodeName === 'times' && children[1].nodeName === 'cn' && ( n = Number(CToP.getTextContent(children[1])) < 0)) {
-                            CToP.appendToken(mrow, 'mo', '\u2212');
-                            CToP.getTextContent(children[1]) = -n;// fix me: modifying document
-                            CToP.applyTransform(mrow, arg, 2);
-                        } else {
-                            CToP.appendToken(mrow, 'mo', '+');
-                            CToP.applyTransform(mrow, arg, 2);
-                        }
-                    } else {
-                        CToP.appendToken(mrow, 'mo', '+');
-                        CToP.applyTransform(mrow, arg, 2);
-                    }
-                } else {
-                    CToP.applyTransform(mrow, arg, 2);
-                }
-            }
-            if (needsBrackets) {
-                CToP.appendToken(mrow, 'mo', ')');
-            }
-            parentNode.appendChild(mrow);
-        },
-
-        transpose: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var msup = CToP.createElement('msup');
-            CToP.applyTransform(msup, args[0], precedence);
-            CToP.appendToken(msup, 'mi', 'T');
-            parentNode.appendChild(msup);
-        },
-
-        power: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var msup = CToP.createElement('msup');
-            CToP.applyTransform(msup, args[0], 3);
-            CToP.applyTransform(msup, args[1], precedence);
-            parentNode.appendChild(msup);
-        },
-
-        selector: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var msub = CToP.createElement('msub');
-            var mrow = args ? args[0] : CToP.createElement('mrow');
-            CToP.applyTransform(msub, mrow, 0);
-            var mrow2 = CToP.createElement('mrow');
-            for (var i = 1, l = args.length; i < l; i++) {
-                if (i != 1) {
-                    CToP.appendToken(mrow2, 'mo', ',');
-                }
-                CToP.applyTransform(mrow2, args[i], 0);
-            }
-            msub.appendChild(mrow2);
-            parentNode.appendChild(msub);
-        },
+        if (degreeNode) {
+          var msup2 = CToP.createElement('msup');
+          CToP.applyTransform(msup2, bvar, 0);
+          CToP.applyTransform(msup2, degreeNode, 0);
+          bottomrow.appendChild(msup2);
+        } else {
+          CToP.applyTransform(bottomrow, bvar, 0);
+        }
 
-        log: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var mi = CToP.createElement('mi');
-            CToP.setTextContent(mi, 'log');
-            if (qualifiers.length && qualifiers[0].nodeName === 'logbase') {
-                var msub = CToP.createElement('msub');
-                msub.appendChild(mi);
-                CToP.applyTransform(msub, CToP.getChildren(qualifiers[0])[0], 0);
-                mrow.appendChild(msub);
-            } else {
-                mrow.appendChild(mi);
-            }
-            CToP.applyTransform(mrow, args[0], 7);
-            parentNode.appendChild(mrow);
-        },
 
-        "int": function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            var mo = CToP.createElement('mo');
-            CToP.setTextContent(mo, '\u222B');
-            var msubsup = CToP.createElement('msubsup');
-            msubsup.appendChild(mo);
-            var mrow1 = CToP.createElement('mrow');
-            var children, i, j, l, num_qualifiers, num_children;
-            for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
-                if (qualifiers[i].nodeName === 'lowlimit' ||
-                    qualifiers[i].nodeName === 'condition' ||
-                    qualifiers[i].nodeName === 'domainofapplication') {
-                    children = CToP.getChildren(qualifiers[i]);
-                    for (j = 0, num_children = children.length; j < num_children; j++) {
-                        CToP.applyTransform(mrow1, children[j], 0);
-                    }
-                } else {
-                    children = CToP.getChildren(qualifiers[i]);
-                    if (qualifiers[i].nodeName === 'interval' && children.length === 2) {
-                        CToP.applyTransform(mrow1, children[0], 0);
-                    }
-                }
-            }
-            msubsup.appendChild(mrow1);
-            var mrow2 = CToP.createElement('mrow');
-            for (i = 0, num_qualifiers = qualifiers.length; i < num_qualifiers; i++) {
-                if (qualifiers[i].nodeName === 'uplimit') {
-                    children = CToP.getChildren(qualifiers[i]);
-                    for (j = 0, num_children = children.length; j < num_children; j++) {
-                        CToP.applyTransform(mrow2, children[j], 0);
+        parentNode.appendChild(outNode);
+      } else {	// f' form
+        msup = CToP.createElement('msup');
+        mrow = CToP.createElement('mrow');
+        msup.appendChild(mrow);
+        CToP.applyTransform(mrow, args[0], 0);
+        CToP.appendToken(msup, 'mo', '\u2032'); // tick
+        parentNode.appendChild(msup);
+      }
+    },
+
+    partialdiff: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
+      var msup, msub, mrow;
+
+      var mfrac = CToP.createElement('mfrac');
+      var toprow = CToP.createElement('mrow');
+      var bottomrow = CToP.createElement('mrow');
+      mfrac.appendChild(toprow);
+      mfrac.appendChild(bottomrow);
+
+      var differendNode, degree, children;
+
+      if (bvars.length === 0 && args.length === 2 && args[0].nodeName === 'list') {
+        if (args[1].nodeName === 'lambda') {	// `d^(n+m)/(dx^n dy^m) f` form, through a lambda
+          degree = CToP.getChildren(args[0]).length;
+          if (degree != 1) {
+            msup = CToP.createElement('msup');
+            CToP.appendToken(msup, 'mo', '\u2202');	// curly d
+            CToP.appendToken(msup, 'mn', degree);
+            toprow.appendChild(msup);
+          } else {
+            CToP.appendToken(toprow, 'mo', '\u2202');
+          }
+
+          children = CToP.getChildren(args[1]);
+
+          differendNode = children[children.length - 1];	// thing being differentiated
+
+          var bvarNames = [];
+          var lambdaChildren = CToP.getChildren(args[1]);	// names of bound variables
+          var lambdaSequence = CToP.getChildren(args[0]);	// indices of bound variable names, in order
+          for (var i = 0, l = lambdaChildren.length; i < l; i++) {
+            if (lambdaChildren[i].nodeName === 'bvar') {
+              bvarNames.push(CToP.getChildren(lambdaChildren[i])[0]);
+            }
+          }
+
+          var lastN = null;
+          degree = 0;
+          function addDiff(n, degree) {
+            CToP.appendToken(bottomrow, 'mo', '\u2202');
+            var bvar = bvarNames[n];
+            if (degree > 1) {
+              var msup = CToP.createElement('msup');
+              CToP.applyTransform(msup, bvar, 0);
+              CToP.appendToken(msup, 'mn', degree);
+              bottomrow.appendChild(msup);
+            } else {
+              CToP.applyTransform(bottomrow, bvar, 0);
+            }
+          }
+
+          for (i = 0, l = lambdaSequence.length; i < l; i++) {
+            var n = Number(CToP.getTextContent(lambdaSequence[i])) - 1;
+            if (lastN !== null && n != lastN) {
+              addDiff(lastN, degree);
+              degree = 0;
+            }
+            lastN = n;
+            degree += 1;
+          }
+          if (lastN) {
+            addDiff(lastN, degree);
+          }
+        } else {	// `D_i_j f` form
+          mrow = CToP.createElement('mrow');
+          msub = CToP.createElement('msub');
+          CToP.appendToken(msub, 'mi', 'D');
+          var bvar = CToP.getChildren(args[0]);
+          msub.appendChild(CToP.createmfenced(bvar, '', ''));
+          mrow.appendChild(msub);
+          CToP.applyTransform(mrow, args[1], 0);
+          parentNode.appendChild(mrow);
+          return;
+        }
+      } else {	// `d^(n+m)/(dx^n dy^m) f` form, with bvars
+        msup = CToP.createElement('msup');
+        toprow.appendChild(msup);
+        CToP.appendToken(msup, 'mo', '\u2202');
+
+        var degreeRow = CToP.createElement('mrow');
+        msup.appendChild(degreeRow);
+
+        var qualifier;
+
+        if (qualifiers.length && qualifiers[0].nodeName === 'degree' && CToP.getChildren(qualifiers[0]).length) {
+          qualifier = CToP.getChildren(qualifiers[0])[0];
+          CToP.applyTransform(degreeRow, qualifier, 0);
+        } else {
+          degree = 0;
+          var hadFirst = false;
+          for (i = 0, l = bvars.length; i < l; i++) {
+            children = CToP.getChildren(bvars[i]);
+            if (children.length === 2) {
+              for (var j = 0; j < 2; j++) {
+                if (children[j].nodeName === 'degree') {
+                  if (/^\s*\d+\s*$/.test(CToP.getTextContent(children[j]))) {
+                    degree += Number(CToP.getTextContent(children[j]));
+                  } else {
+                    if (hadFirst) {
+                      CToP.appendToken(degreeRow, 'mo', '+');
                     }
-                    break;
-                } else if (qualifiers[i].nodeName === 'interval') {
-                    children = CToP.getChildren(qualifiers[i]);
-                    CToP.applyTransform(mrow2, children[children.length - 1], 0);
-                    break;
-                }
-            }
-            msubsup.appendChild(mrow2);
-            mrow.appendChild(msubsup);
-            for (i = 0, l = args.length; i < l; i++) {
-                CToP.applyTransform(mrow, args[i], 0);
-            }
-            for (i = 0, l = bvars.length; i < l; i++) {
-                var bvar = bvars[i];
-                children = CToP.getChildren(bvar);
-                if (children.length) {
-                    var mrow3 = CToP.createElement("mrow");
-                    CToP.appendToken(mrow3, 'mi', 'd');
-                    CToP.applyTransform(mrow3, children[0], 0);
-                    mrow.appendChild(mrow3);
-                }
-            }
-            parentNode.appendChild(mrow);
-        },
-
-        inverse: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var msup = CToP.createElement('msup');
-            var arg = (args.length) ? args[0] : CToP.createElement('mrow');
-            CToP.applyTransform(msup, arg, precedence);
-            var mfenced = CToP.createElement('mfenced');
-            CToP.appendToken(mfenced, 'mn', '-1');
-            msup.appendChild(mfenced);
-            parentNode.appendChild(msup);
-        },
-
-        quotient: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.appendToken(mrow, 'mo', '\u230A');
-            if (args.length) {
-                CToP.applyTransform(mrow, args[0], 0);
-                CToP.appendToken(mrow, 'mo', '/');
-                if (args.length > 1) {
-                    CToP.applyTransform(mrow, args[1], 0);
-                }
-            }
-            CToP.appendToken(mrow, 'mo', '\u230B');
-            parentNode.appendChild(mrow);
-        },
-
-        factorial: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mrow = CToP.createElement('mrow');
-            CToP.applyTransform(mrow, args[0], 4);
-            CToP.appendToken(mrow, 'mo', '!');
-            parentNode.appendChild(mrow);
-        },
-
-        root: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var mr;
-            if (firstArg.nodeName === 'root' && (qualifiers.length === 0 || (qualifiers[0].nodeName === 'degree' && CToP.getTextContent(qualifiers[0]) === '2'))) {
-                mr = CToP.createElement('msqrt');
-                for (var i = 0, l = args.length; i < l; i++) {
-                    CToP.applyTransform(mr, args[i], 0);
+                    hadFirst = true;
+                    CToP.applyTransform(degreeRow, CToP.getChildren(children[j])[0], 0);
+                  }
                 }
+              }
             } else {
-                mr = CToP.createElement('mroot');
-                CToP.applyTransform(mr, args[0], 0);
-                var arg = (firstArg.nodeName === 'root') ? qualifiers[0].childNodes[0] : args[1];
-                CToP.applyTransform(mr, arg, 0);
+              degree++;
             }
-            parentNode.appendChild(mr);
-        },
-
-        diff: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            if (bvars.length) {	// d/dx form
-                var outNode;
-                var mfrac = CToP.createElement('mfrac');
-                var toprow = CToP.createElement('mrow');
-                var bottomrow = CToP.createElement('mrow');
-                mfrac.appendChild(toprow);
-                mfrac.appendChild(bottomrow);
-
-                var bvar, degreeNode, msup, mrow;
-
-                var d = CToP.createElement('mi');
-                CToP.setTextContent(d, 'd');
-
-                var children = CToP.getChildren(bvars[0]);
-                for (var j = 0, l = children.length; j < l; j++) {
-                    if (children[j].nodeName === 'degree') {
-                        var childNode = CToP.getChildren(children[j])[0];
-                        if (CToP.getTextContent(childNode) != '1') {
-                            degreeNode = childNode;
-                            msup = CToP.createElement('msup');
-                            msup.appendChild(d);
-                            d = msup;
-                            CToP.applyTransform(d, degreeNode, 0);
-                        }
-                    } else {
-                        bvar = children[j];
-                    }
-                }
-                toprow.appendChild(d);
-
-                if (args.length) {
-                    switch (args[0].nodeName) {
-                        case 'apply':
-                        case 'bind':
-                        case 'reln':
-                            mrow = CToP.createElement('mrow');
-                            mrow.appendChild(mfrac);
-                            CToP.applyTransform(mrow, args[0], 3);
-                            outNode = mrow;
-                            break;
-                        default:
-                            CToP.applyTransform(toprow, args[0], 0);
-                            outNode = mfrac;
-                    }
-                }
-
-                CToP.appendToken(bottomrow, 'mi', 'd');
-
-                if (degreeNode) {
-                    var msup2 = CToP.createElement('msup');
-                    CToP.applyTransform(msup2, bvar, 0);
-                    CToP.applyTransform(msup2, degreeNode, 0);
-                    bottomrow.appendChild(msup2);
-                } else {
-                    CToP.applyTransform(bottomrow, bvar, 0);
-                }
-
-
-                parentNode.appendChild(outNode);
-            } else {	// f' form
-                msup = CToP.createElement('msup');
-                mrow = CToP.createElement('mrow');
-                msup.appendChild(mrow);
-                CToP.applyTransform(mrow, args[0], 0);
-                CToP.appendToken(msup, 'mo', '\u2032'); // tick
-                parentNode.appendChild(msup);
+          }
+          if (degree > 0) {
+            if (hadFirst) {
+              CToP.appendToken(degreeRow, 'mo', '+');
             }
-        },
-
-        partialdiff: function (parentNode, contentMMLNode, firstArg, args, bvars, qualifiers, precedence) {
-            var msup, msub, mrow;
-
-            var mfrac = CToP.createElement('mfrac');
-            var toprow = CToP.createElement('mrow');
-            var bottomrow = CToP.createElement('mrow');
-            mfrac.appendChild(toprow);
-            mfrac.appendChild(bottomrow);
-
-            var differendNode, degree, children;
-
-            if (bvars.length === 0 && args.length === 2 && args[0].nodeName === 'list') {
-                if (args[1].nodeName === 'lambda') {	// `d^(n+m)/(dx^n dy^m) f` form, through a lambda
-                    degree = CToP.getChildren(args[0]).length;
-                    if (degree != 1) {
-                        msup = CToP.createElement('msup');
-                        CToP.appendToken(msup, 'mo', '\u2202');	// curly d
-                        CToP.appendToken(msup, 'mn', degree);
-                        toprow.appendChild(msup);
-                    } else {
-                        CToP.appendToken(toprow, 'mo', '\u2202');
-                    }
-
-                    children = CToP.getChildren(args[1]);
-
-                    differendNode = children[children.length - 1];	// thing being differentiated
-
-                    var bvarNames = [];
-                    var lambdaChildren = CToP.getChildren(args[1]);	// names of bound variables
-                    var lambdaSequence = CToP.getChildren(args[0]);	// indices of bound variable names, in order
-                    for (var i = 0, l = lambdaChildren.length; i < l; i++) {
-                        if (lambdaChildren[i].nodeName === 'bvar') {
-                            bvarNames.push(CToP.getChildren(lambdaChildren[i])[0]);
-                        }
-                    }
-
-                    var lastN = null;
-                    degree = 0;
-                    function addDiff(n, degree) {
-                        CToP.appendToken(bottomrow, 'mo', '\u2202');
-                        var bvar = bvarNames[n];
-                        if (degree > 1) {
-                            var msup = CToP.createElement('msup');
-                            CToP.applyTransform(msup, bvar, 0);
-                            CToP.appendToken(msup, 'mn', degree);
-                            bottomrow.appendChild(msup);
-                        } else {
-                            CToP.applyTransform(bottomrow, bvar, 0);
-                        }
-                    }
-
-                    for (i = 0, l = lambdaSequence.length; i < l; i++) {
-                        var n = Number(CToP.getTextContent(lambdaSequence[i])) - 1;
-                        if (lastN !== null && n != lastN) {
-                            addDiff(lastN, degree);
-                            degree = 0;
-                        }
-                        lastN = n;
-                        degree += 1;
-                    }
-                    if (lastN) {
-                        addDiff(lastN, degree);
-                    }
-                } else {	// `D_i_j f` form
-                    mrow = CToP.createElement('mrow');
-                    msub = CToP.createElement('msub');
-                    CToP.appendToken(msub, 'mi', 'D');
-                    var bvar = CToP.getChildren(args[0]);
-                    msub.appendChild(CToP.createmfenced(bvar, '', ''));
-                    mrow.appendChild(msub);
-                    CToP.applyTransform(mrow, args[1], 0);
-                    parentNode.appendChild(mrow);
-                    return;
-                }
-            } else {	// `d^(n+m)/(dx^n dy^m) f` form, with bvars
-                msup = CToP.createElement('msup');
-                toprow.appendChild(msup);
-                CToP.appendToken(msup, 'mo', '\u2202');
-
-                var degreeRow = CToP.createElement('mrow');
-                msup.appendChild(degreeRow);
-
-                var qualifier;
-
-                if (qualifiers.length && qualifiers[0].nodeName === 'degree' && CToP.getChildren(qualifiers[0]).length) {
-                    qualifier = CToP.getChildren(qualifiers[0])[0];
-                    CToP.applyTransform(degreeRow, qualifier, 0);
-                } else {
-                    degree = 0;
-                    var hadFirst = false;
-                    for (i = 0, l = bvars.length; i < l; i++) {
-                        children = CToP.getChildren(bvars[i]);
-                        if (children.length === 2) {
-                            for (var j = 0; j < 2; j++) {
-                                if (children[j].nodeName === 'degree') {
-                                    if (/^\s*\d+\s*$/.test(CToP.getTextContent(children[j]))) {
-                                        degree += Number(CToP.getTextContent(children[j]));
-                                    } else {
-                                        if (hadFirst) {
-                                            CToP.appendToken(degreeRow, 'mo', '+');
-                                        }
-                                        hadFirst = true;
-                                        CToP.applyTransform(degreeRow, CToP.getChildren(children[j])[0], 0);
-                                    }
-                                }
-                            }
-                        } else {
-                            degree++;
-                        }
-                    }
-                    if (degree > 0) {
-                        if (hadFirst) {
-                            CToP.appendToken(degreeRow, 'mo', '+');
-                        }
-                        CToP.appendToken(degreeRow, 'mn', degree);
-                    }
-                }
+            CToP.appendToken(degreeRow, 'mn', degree);
+          }
+        }
 
-                if (args.length) {
-                    differendNode = args[0];
-                }
+        if (args.length) {
+          differendNode = args[0];
+        }
 
-                for (i = 0, l = bvars.length; i < l; i++) {
-                    CToP.appendToken(bottomrow, 'mo', '\u2202');
-                    children = CToP.getChildren(bvars[i]);
-
-                    if (children.length === 2) {
-                        for (j = 0; j < 2; j++) {
-                            if (children[j].nodeName === 'degree') {
-                                var msup2 = CToP.createElement('msup');
-                                CToP.applyTransform(msup2, children[1 - j], 0);
-                                var bvarDegreeNode = CToP.getChildren(children[j])[0];
-                                CToP.applyTransform(msup2, bvarDegreeNode, 0);
-                                bottomrow.appendChild(msup2);
-                            }
-                        }
-                    } else if (children.length === 1) {
-                        CToP.applyTransform(bottomrow, children[0], 0);
-                    }
-                }
-            }
-            if (differendNode) {
-                switch (differendNode.nodeName) {
-                    case 'apply':
-                    case 'bind':
-                    case 'reln':
-                        mrow = CToP.createElement('mrow');
-                        mrow.appendChild(mfrac);
-                        CToP.applyTransform(mrow, differendNode, 3);
-                        outNode = mrow;
-                        break;
-                    default:
-                        CToP.applyTransform(toprow, differendNode, 0);
-                        outNode = mfrac;
-                }
-            } else {
-                outNode = mfrac;
-            }
-            parentNode.appendChild(outNode);
+        for (i = 0, l = bvars.length; i < l; i++) {
+          CToP.appendToken(bottomrow, 'mo', '\u2202');
+          children = CToP.getChildren(bvars[i]);
+
+          if (children.length === 2) {
+            for (j = 0; j < 2; j++) {
+              if (children[j].nodeName === 'degree') {
+                var msup2 = CToP.createElement('msup');
+                CToP.applyTransform(msup2, children[1 - j], 0);
+                var bvarDegreeNode = CToP.getChildren(children[j])[0];
+                CToP.applyTransform(msup2, bvarDegreeNode, 0);
+                bottomrow.appendChild(msup2);
+              }
+            }
+          } else if (children.length === 1) {
+            CToP.applyTransform(bottomrow, children[0], 0);
+          }
         }
-    };
-    CToP.applyTokens.size = CToP.applyTokens.card;
+      }
+      if (differendNode) {
+        switch (differendNode.nodeName) {
+          case 'apply':
+          case 'bind':
+          case 'reln':
+            mrow = CToP.createElement('mrow');
+            mrow.appendChild(mfrac);
+            CToP.applyTransform(mrow, differendNode, 3);
+            outNode = mrow;
+            break;
+          default:
+            CToP.applyTransform(toprow, differendNode, 0);
+            outNode = mfrac;
+        }
+      } else {
+        outNode = mfrac;
+      }
+      parentNode.appendChild(outNode);
+    }
+  };
+  CToP.applyTokens.size = CToP.applyTokens.card;
 
-    return CToP;
+  return CToP;
 })(MathJax.Hub);
 
 
 MathJax.Hub.Register.StartupHook("MathML Jax Ready", function () {
 
-    var MATHML = MathJax.InputJax.MathML;
+  var MATHML = MathJax.InputJax.MathML;
 
-    var CToP = MathJax.Extension["MathML/content-mathml"];
+  var CToP = MathJax.Extension["MathML/content-mathml"];
 
-    MATHML.DOMfilterHooks.Add(function (data) {
-        data.math = CToP.transformElement(data.math);
-    });
+  MATHML.DOMfilterHooks.Add(function (data) {
+    data.math = CToP.transformElement(data.math);
+  });
 
-    MathJax.Hub.Startup.signal.Post("MathML/content-mathml Ready");
+  MathJax.Hub.Startup.signal.Post("MathML/content-mathml Ready");
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/extensions/MathML/content-mathml.js");

File diff suppressed because it is too large
+ 22 - 29
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/MathML/mml3.js


+ 295 - 295
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/AMSsymbols.js

@@ -25,324 +25,324 @@
  */
 
 MathJax.Extension["TeX/AMSsymbols"] = {
-    version: "2.5.0"
+  version: "2.5.0"
 };
 
 MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
-    var MML = MathJax.ElementJax.mml,
-        TEXDEF = MathJax.InputJax.TeX.Definitions;
+  var MML = MathJax.ElementJax.mml,
+      TEXDEF = MathJax.InputJax.TeX.Definitions;
 
-    TEXDEF.Add({
+  TEXDEF.Add({
 
-        mathchar0mi: {
-            // Lowercase Greek letters
-            digamma: '03DD',
-            varkappa: '03F0',
+    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}],
+      // 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',
+      // Hebrew letters
+      beth: '2136',
+      gimel: '2137',
+      daleth: '2138',
 
-            // Miscellaneous symbols
+      // Miscellaneous symbols
 //    hbar:                   '0127',  // in TeX/jax.js
-            backprime: ['2035', {variantForm: true}],
-            hslash: '210F',
-            varnothing: ['2205', {variantForm: true}],
-            blacktriangle: '25B4',
-            triangledown: ['25BD', {variantForm: true}],
-            blacktriangledown: '25BE',
-            square: '25FB',
-            Box: '25FB',
-            blacksquare: '25FC',
-            lozenge: '25CA',
-            Diamond: '25CA',
-            blacklozenge: '29EB',
-            circledS: ['24C8', {mathvariant: MML.VARIANT.NORMAL}],
-            bigstar: '2605',
+      backprime: ['2035', {variantForm: true}],
+      hslash: '210F',
+      varnothing: ['2205', {variantForm: true}],
+      blacktriangle: '25B4',
+      triangledown: ['25BD', {variantForm: true}],
+      blacktriangledown: '25BE',
+      square: '25FB',
+      Box: '25FB',
+      blacksquare: '25FC',
+      lozenge: '25CA',
+      Diamond: '25CA',
+      blacklozenge: '29EB',
+      circledS: ['24C8', {mathvariant: MML.VARIANT.NORMAL}],
+      bigstar: '2605',
 //    angle:                  '2220',  // in TeX/jax.js
-            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}],
+      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'
-        },
+      yen: '00A5',
+      circledR: '00AE',
+      checkmark: '2713',
+      maltese: '2720'
+    },
 
-        mathchar0mo: {
-            // Binary operators
-            dotplus: '2214',
-            ltimes: '22C9',
-            smallsetminus: '2216',
-            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',
+    mathchar0mo: {
+      // Binary operators
+      dotplus: '2214',
+      ltimes: '22C9',
+      smallsetminus: '2216',
+      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', {variantForm: true}],
-            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', {variantForm: true}],
-            shortmid: ['2223', {variantForm: true}],
-            smallfrown: ['2322', {variantForm: true}],
-            shortparallel: ['2225', {variantForm: true}],
-            bumpeq: '224F',
-            between: '226C',
-            Bumpeq: '224E',
-            pitchfork: '22D4',
-            varpropto: '221D',
-            backepsilon: '220D',
-            blacktriangleleft: '25C2',
-            blacktriangleright: '25B8',
-            therefore: '2234',
-            because: '2235',
-            eqsim: '2242',
-            vartriangle: ['25B3', {variantForm: true}],
-            Join: '22C8',
+      // 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', {variantForm: true}],
+      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', {variantForm: true}],
+      shortmid: ['2223', {variantForm: true}],
+      smallfrown: ['2322', {variantForm: true}],
+      shortparallel: ['2225', {variantForm: true}],
+      bumpeq: '224F',
+      between: '226C',
+      Bumpeq: '224E',
+      pitchfork: '22D4',
+      varpropto: '221D',
+      backepsilon: '220D',
+      blacktriangleleft: '25C2',
+      blacktriangleright: '25B8',
+      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}],
+      // 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',
+      // 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'
-        },
+      // Negated arrows
+      nleftarrow: '219A',
+      nrightarrow: '219B',
+      nLeftarrow: '21CD',
+      nRightarrow: '21CF',
+      nleftrightarrow: '21AE',
+      nLeftrightarrow: '21CE'
+    },
 
-        delimiter: {
-            // corners
-            "\\ulcorner": '231C',
-            "\\urcorner": '231D',
-            "\\llcorner": '231E',
-            "\\lrcorner": '231F'
-        },
+    delimiter: {
+      // corners
+      "\\ulcorner": '231C',
+      "\\urcorner": '231D',
+      "\\llcorner": '231E',
+      "\\lrcorner": '231F'
+    },
 
-        macros: {
-            implies: ['Macro', '\\;\\Longrightarrow\\;'],
-            impliedby: ['Macro', '\\;\\Longleftarrow\\;']
-        }
+    macros: {
+      implies: ['Macro', '\\;\\Longrightarrow\\;'],
+      impliedby: ['Macro', '\\;\\Longleftarrow\\;']
+    }
 
-    }, null, true);
+  }, null, true);
 
-    var REL = MML.mo.OPTYPES.REL;
+  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
-            }
-        }
-    });
+  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
+      }
+    }
+  });
 
-    MathJax.Hub.Startup.signal.Post("TeX AMSsymbols Ready");
+  MathJax.Hub.Startup.signal.Post("TeX AMSsymbols Ready");
 
 });
 

+ 249 - 254
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/color.js

@@ -31,282 +31,277 @@
 //  The configuration defaults, augmented by the user settings
 //
 MathJax.Extension["TeX/color"] = {
-    version: "2.5.0",
+  version: "2.5.0",
 
-    config: MathJax.Hub.CombineConfig("TeX.color", {
-        padding: "5px",
-        border: "2px"
-    }),
+  config: MathJax.Hub.CombineConfig("TeX.color", {
+    padding: "5px",
+    border: "2px"
+  }),
 
-    colors: {
-        Apricot: "#FBB982",
-        Aquamarine: "#00B5BE",
-        Bittersweet: "#C04F17",
-        Black: "#221E1F",
-        Blue: "#2D2F92",
-        BlueGreen: "#00B3B8",
-        BlueViolet: "#473992",
-        BrickRed: "#B6321C",
-        Brown: "#792500",
-        BurntOrange: "#F7921D",
-        CadetBlue: "#74729A",
-        CarnationPink: "#F282B4",
-        Cerulean: "#00A2E3",
-        CornflowerBlue: "#41B0E4",
-        Cyan: "#00AEEF",
-        Dandelion: "#FDBC42",
-        DarkOrchid: "#A4538A",
-        Emerald: "#00A99D",
-        ForestGreen: "#009B55",
-        Fuchsia: "#8C368C",
-        Goldenrod: "#FFDF42",
-        Gray: "#949698",
-        Green: "#00A64F",
-        GreenYellow: "#DFE674",
-        JungleGreen: "#00A99A",
-        Lavender: "#F49EC4",
-        LimeGreen: "#8DC73E",
-        Magenta: "#EC008C",
-        Mahogany: "#A9341F",
-        Maroon: "#AF3235",
-        Melon: "#F89E7B",
-        MidnightBlue: "#006795",
-        Mulberry: "#A93C93",
-        NavyBlue: "#006EB8",
-        OliveGreen: "#3C8031",
-        Orange: "#F58137",
-        OrangeRed: "#ED135A",
-        Orchid: "#AF72B0",
-        Peach: "#F7965A",
-        Periwinkle: "#7977B8",
-        PineGreen: "#008B72",
-        Plum: "#92268F",
-        ProcessBlue: "#00B0F0",
-        Purple: "#99479B",
-        RawSienna: "#974006",
-        Red: "#ED1B23",
-        RedOrange: "#F26035",
-        RedViolet: "#A1246B",
-        Rhodamine: "#EF559F",
-        RoyalBlue: "#0071BC",
-        RoyalPurple: "#613F99",
-        RubineRed: "#ED017D",
-        Salmon: "#F69289",
-        SeaGreen: "#3FBC9D",
-        Sepia: "#671800",
-        SkyBlue: "#46C5DD",
-        SpringGreen: "#C6DC67",
-        Tan: "#DA9D76",
-        TealBlue: "#00AEB3",
-        Thistle: "#D883B7",
-        Turquoise: "#00B4CE",
-        Violet: "#58429B",
-        VioletRed: "#EF58A0",
-        White: "#FFFFFF",
-        WildStrawberry: "#EE2967",
-        Yellow: "#FFF200",
-        YellowGreen: "#98CC70",
-        YellowOrange: "#FAA21A"
-    },
-
-    /*
-     *  Look up a color based on its model and definition
-     */
-    getColor: function (model, def) {
-        if (!model) {
-            model = "named"
-        }
-        var fn = this["get_" + model];
-        if (!fn) {
-            this.TEX.Error(["UndefinedColorModel", "Color model '%1' not defined", model])
-        }
-        return fn.call(this, def);
-    },
+  colors: {
+    Apricot: "#FBB982",
+    Aquamarine: "#00B5BE",
+    Bittersweet: "#C04F17",
+    Black: "#221E1F",
+    Blue: "#2D2F92",
+    BlueGreen: "#00B3B8",
+    BlueViolet: "#473992",
+    BrickRed: "#B6321C",
+    Brown: "#792500",
+    BurntOrange: "#F7921D",
+    CadetBlue: "#74729A",
+    CarnationPink: "#F282B4",
+    Cerulean: "#00A2E3",
+    CornflowerBlue: "#41B0E4",
+    Cyan: "#00AEEF",
+    Dandelion: "#FDBC42",
+    DarkOrchid: "#A4538A",
+    Emerald: "#00A99D",
+    ForestGreen: "#009B55",
+    Fuchsia: "#8C368C",
+    Goldenrod: "#FFDF42",
+    Gray: "#949698",
+    Green: "#00A64F",
+    GreenYellow: "#DFE674",
+    JungleGreen: "#00A99A",
+    Lavender: "#F49EC4",
+    LimeGreen: "#8DC73E",
+    Magenta: "#EC008C",
+    Mahogany: "#A9341F",
+    Maroon: "#AF3235",
+    Melon: "#F89E7B",
+    MidnightBlue: "#006795",
+    Mulberry: "#A93C93",
+    NavyBlue: "#006EB8",
+    OliveGreen: "#3C8031",
+    Orange: "#F58137",
+    OrangeRed: "#ED135A",
+    Orchid: "#AF72B0",
+    Peach: "#F7965A",
+    Periwinkle: "#7977B8",
+    PineGreen: "#008B72",
+    Plum: "#92268F",
+    ProcessBlue: "#00B0F0",
+    Purple: "#99479B",
+    RawSienna: "#974006",
+    Red: "#ED1B23",
+    RedOrange: "#F26035",
+    RedViolet: "#A1246B",
+    Rhodamine: "#EF559F",
+    RoyalBlue: "#0071BC",
+    RoyalPurple: "#613F99",
+    RubineRed: "#ED017D",
+    Salmon: "#F69289",
+    SeaGreen: "#3FBC9D",
+    Sepia: "#671800",
+    SkyBlue: "#46C5DD",
+    SpringGreen: "#C6DC67",
+    Tan: "#DA9D76",
+    TealBlue: "#00AEB3",
+    Thistle: "#D883B7",
+    Turquoise: "#00B4CE",
+    Violet: "#58429B",
+    VioletRed: "#EF58A0",
+    White: "#FFFFFF",
+    WildStrawberry: "#EE2967",
+    Yellow: "#FFF200",
+    YellowGreen: "#98CC70",
+    YellowOrange: "#FAA21A"
+  },
 
-    /*
-     *  Get an rgb color
-     */
-    get_rgb: function (rgb) {
-        rgb = rgb.replace(/^\s+/, "").replace(/\s+$/, "").split(/\s*,\s*/);
-        var RGB = "#";
-        if (rgb.length !== 3) {
-            this.TEX.Error(["ModelArg1", "Color values for the %1 model require 3 numbers", "rgb"])
-        }
-        for (var i = 0; i < 3; i++) {
-            if (!rgb[i].match(/^(\d+(\.\d*)?|\.\d+)$/)) {
-                this.TEX.Error(["InvalidDecimalNumber", "Invalid decimal number"])
-            }
-            var n = parseFloat(rgb[i]);
-            if (n < 0 || n > 1) {
-                this.TEX.Error(["ModelArg2",
-                    "Color values for the %1 model must be between %2 and %3",
-                    "rgb", 0, 1]);
-            }
-            n = Math.floor(n * 255).toString(16);
-            if (n.length < 2) {
-                n = "0" + n
-            }
-            RGB += n;
-        }
-        return RGB;
-    },
+  /*
+   *  Look up a color based on its model and definition
+   */
+  getColor: function (model, def) {
+    if (!model) {
+      model = "named"
+    }
+    var fn = this["get_" + model];
+    if (!fn) {
+      this.TEX.Error(["UndefinedColorModel", "Color model '%1' not defined", model])
+    }
+    return fn.call(this, def);
+  },
 
-    /*
-     *  Get an RGB color
-     */
-    get_RGB: function (rgb) {
-        rgb = rgb.replace(/^\s+/, "").replace(/\s+$/, "").split(/\s*,\s*/);
-        var RGB = "#";
-        if (rgb.length !== 3) {
-            this.TEX.Error(["ModelArg1", "Color values for the %1 model require 3 numbers", "RGB"])
-        }
-        for (var i = 0; i < 3; i++) {
-            if (!rgb[i].match(/^\d+$/)) {
-                this.TEX.Error(["InvalidNumber", "Invalid number"])
-            }
-            var n = parseInt(rgb[i]);
-            if (n > 255) {
-                this.TEX.Error(["ModelArg2",
-                    "Color values for the %1 model must be between %2 and %3",
-                    "RGB", 0, 255]);
-            }
-            n = n.toString(16);
-            if (n.length < 2) {
-                n = "0" + n
-            }
-            RGB += n;
-        }
-        return RGB;
-    },
+  /*
+   *  Get an rgb color
+   */
+  get_rgb: function (rgb) {
+    rgb = rgb.replace(/^\s+/, "").replace(/\s+$/, "").split(/\s*,\s*/);
+    var RGB = "#";
+    if (rgb.length !== 3) {
+      this.TEX.Error(["ModelArg1", "Color values for the %1 model require 3 numbers", "rgb"])
+    }
+    for (var i = 0; i < 3; i++) {
+      if (!rgb[i].match(/^(\d+(\.\d*)?|\.\d+)$/)) {
+        this.TEX.Error(["InvalidDecimalNumber", "Invalid decimal number"])
+      }
+      var n = parseFloat(rgb[i]);
+      if (n < 0 || n > 1) {
+        this.TEX.Error(["ModelArg2",
+          "Color values for the %1 model must be between %2 and %3",
+          "rgb", 0, 1]);
+      }
+      n = Math.floor(n * 255).toString(16);
+      if (n.length < 2) {
+        n = "0" + n
+      }
+      RGB += n;
+    }
+    return RGB;
+  },
 
-    /*
-     *  Get a gray-scale value
-     */
-    get_gray: function (gray) {
-        if (!gray.match(/^\s*(\d+(\.\d*)?|\.\d+)\s*$/)) {
-            this.TEX.Error(["InvalidDecimalNumber", "Invalid decimal number"])
-        }
-        var n = parseFloat(gray);
-        if (n < 0 || n > 1) {
-            this.TEX.Error(["ModelArg2",
-                "Color values for the %1 model must be between %2 and %3",
-                "gray", 0, 1]);
-        }
-        n = Math.floor(n * 255).toString(16);
-        if (n.length < 2) {
-            n = "0" + n
-        }
-        return "#" + n + n + n;
-    },
+  /*
+   *  Get an RGB color
+   */
+  get_RGB: function (rgb) {
+    rgb = rgb.replace(/^\s+/, "").replace(/\s+$/, "").split(/\s*,\s*/);
+    var RGB = "#";
+    if (rgb.length !== 3) {
+      this.TEX.Error(["ModelArg1", "Color values for the %1 model require 3 numbers", "RGB"])
+    }
+    for (var i = 0; i < 3; i++) {
+      if (!rgb[i].match(/^\d+$/)) {
+        this.TEX.Error(["InvalidNumber", "Invalid number"])
+      }
+      var n = parseInt(rgb[i]);
+      if (n > 255) {
+        this.TEX.Error(["ModelArg2",
+          "Color values for the %1 model must be between %2 and %3",
+          "RGB", 0, 255]);
+      }
+      n = n.toString(16);
+      if (n.length < 2) {
+        n = "0" + n
+      }
+      RGB += n;
+    }
+    return RGB;
+  },
 
-    /*
-     *  Get a named value
-     */
-    get_named: function (name) {
-        if (this.colors[name]) {
-            return this.colors[name]
-        }
-        return name;
-    },
+  /*
+   *  Get a gray-scale value
+   */
+  get_gray: function (gray) {
+    if (!gray.match(/^\s*(\d+(\.\d*)?|\.\d+)\s*$/)) {
+      this.TEX.Error(["InvalidDecimalNumber", "Invalid decimal number"])
+    }
+    var n = parseFloat(gray);
+    if (n < 0 || n > 1) {
+      this.TEX.Error(["ModelArg2",
+        "Color values for the %1 model must be between %2 and %3",
+        "gray", 0, 1]);
+    }
+    n = Math.floor(n * 255).toString(16);
+    if (n.length < 2) {
+      n = "0" + n
+    }
+    return "#" + n + n + n;
+  },
 
-    padding: function () {
-        var pad = "+" + this.config.padding;
-        var unit = this.config.padding.replace(/^.*?([a-z]*)$/, "$1");
-        var pad2 = "+" + (2 * parseFloat(pad)) + unit;
-        return {
-            width: pad2,
-            height: pad,
-            depth: pad,
-            lspace: this.config.padding
-        };
+  /*
+   *  Get a named value
+   */
+  get_named: function (name) {
+    if (this.colors[name]) {
+      return this.colors[name]
     }
+    return name;
+  },
+
+  padding: function () {
+    var pad = "+" + this.config.padding;
+    var unit = this.config.padding.replace(/^.*?([a-z]*)$/, "$1");
+    var pad2 = "+" + (2 * parseFloat(pad)) + unit;
+    return {width: pad2, height: pad, depth: pad, lspace: this.config.padding};
+  }
 
 };
 
 MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
-    var TEX = MathJax.InputJax.TeX,
-        MML = MathJax.ElementJax.mml;
-    var STACKITEM = TEX.Stack.Item;
-    var COLOR = MathJax.Extension["TeX/color"];
+  var TEX = MathJax.InputJax.TeX,
+      MML = MathJax.ElementJax.mml;
+  var STACKITEM = TEX.Stack.Item;
+  var COLOR = MathJax.Extension["TeX/color"];
 
-    COLOR.TEX = TEX; // for reference in getColor above
+  COLOR.TEX = TEX; // for reference in getColor above
 
-    TEX.Definitions.Add({
-        macros: {
-            color: "Color",
-            textcolor: "TextColor",
-            definecolor: "DefineColor",
-            colorbox: "ColorBox",
-            fcolorbox: "fColorBox"
-        }
-    }, null, true);
+  TEX.Definitions.Add({
+    macros: {
+      color: "Color",
+      textcolor: "TextColor",
+      definecolor: "DefineColor",
+      colorbox: "ColorBox",
+      fcolorbox: "fColorBox"
+    }
+  }, null, true);
 
-    TEX.Parse.Augment({
+  TEX.Parse.Augment({
 
-        //
-        //  Override \color macro definition
-        //
-        Color: function (name) {
-            var model = this.GetBrackets(name),
-                color = this.GetArgument(name);
-            color = COLOR.getColor(model, color);
-            var mml = STACKITEM.style().With({styles: {mathcolor: color}});
-            this.stack.env.color = color;
-            this.Push(mml);
-        },
+    //
+    //  Override \color macro definition
+    //
+    Color: function (name) {
+      var model = this.GetBrackets(name),
+          color = this.GetArgument(name);
+      color = COLOR.getColor(model, color);
+      var mml = STACKITEM.style().With({styles: {mathcolor: color}});
+      this.stack.env.color = color;
+      this.Push(mml);
+    },
 
-        TextColor: function (name) {
-            var model = this.GetBrackets(name),
-                color = this.GetArgument(name);
-            color = COLOR.getColor(model, color);
-            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}));
-        },
+    TextColor: function (name) {
+      var model = this.GetBrackets(name),
+          color = this.GetArgument(name);
+      color = COLOR.getColor(model, color);
+      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}));
+    },
 
-        //
-        //  Define the \definecolor macro
-        //
-        DefineColor: function (name) {
-            var cname = this.GetArgument(name),
-                model = this.GetArgument(name),
-                def = this.GetArgument(name);
-            COLOR.colors[cname] = COLOR.getColor(model, def);
-        },
+    //
+    //  Define the \definecolor macro
+    //
+    DefineColor: function (name) {
+      var cname = this.GetArgument(name),
+          model = this.GetArgument(name),
+          def = this.GetArgument(name);
+      COLOR.colors[cname] = COLOR.getColor(model, def);
+    },
 
-        //
-        //  Produce a text box with a colored background
-        //
-        ColorBox: function (name) {
-            var cname = this.GetArgument(name),
-                arg = this.InternalMath(this.GetArgument(name));
-            this.Push(MML.mpadded.apply(MML, arg).With({
-                mathbackground: COLOR.getColor("named", cname)
-            }).With(COLOR.padding()));
-        },
+    //
+    //  Produce a text box with a colored background
+    //
+    ColorBox: function (name) {
+      var cname = this.GetArgument(name),
+          arg = this.InternalMath(this.GetArgument(name));
+      this.Push(MML.mpadded.apply(MML, arg).With({
+        mathbackground: COLOR.getColor("named", cname)
+      }).With(COLOR.padding()));
+    },
 
-        //
-        //  Procude a framed text box with a colored background
-        //
-        fColorBox: function (name) {
-            var fname = this.GetArgument(name),
-                cname = this.GetArgument(name),
-                arg = this.InternalMath(this.GetArgument(name));
-            this.Push(MML.mpadded.apply(MML, arg).With({
-                mathbackground: COLOR.getColor("named", cname),
-                style: "border: " + COLOR.config.border + " solid " + COLOR.getColor("named", fname)
-            }).With(COLOR.padding()));
-        }
+    //
+    //  Procude a framed text box with a colored background
+    //
+    fColorBox: function (name) {
+      var fname = this.GetArgument(name),
+          cname = this.GetArgument(name),
+          arg = this.InternalMath(this.GetArgument(name));
+      this.Push(MML.mpadded.apply(MML, arg).With({
+        mathbackground: COLOR.getColor("named", cname),
+        style: "border: " + COLOR.config.border + " solid " + COLOR.getColor("named", fname)
+      }).With(COLOR.padding()));
+    }
 
-    });
+  });
 
-    MathJax.Hub.Startup.signal.Post("TeX color Ready");
+  MathJax.Hub.Startup.signal.Post("TeX color Ready");
 
 });
 

+ 49 - 49
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/enclose.js

@@ -32,65 +32,65 @@
  */
 
 MathJax.Extension["TeX/enclose"] = {
-    version: "2.5.0",
+  version: "2.5.0",
 
-    //
-    //  The attributes allowed in \enclose{notation}[attributes]{math}
-    //
-    ALLOWED: {
-        arrow: 1,
-        color: 1, mathcolor: 1,
-        background: 1, mathbackground: 1,
-        padding: 1,
-        thickness: 1
-    }
+  //
+  //  The attributes allowed in \enclose{notation}[attributes]{math}
+  //
+  ALLOWED: {
+    arrow: 1,
+    color: 1, mathcolor: 1,
+    background: 1, mathbackground: 1,
+    padding: 1,
+    thickness: 1
+  }
 };
 
 MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
-    var TEX = MathJax.InputJax.TeX,
-        MML = MathJax.ElementJax.mml,
-        ALLOW = MathJax.Extension["TeX/enclose"].ALLOWED;
+  var TEX = MathJax.InputJax.TeX,
+      MML = MathJax.ElementJax.mml,
+      ALLOW = MathJax.Extension["TeX/enclose"].ALLOWED;
+
+  //
+  //  Set up macro
+  //
+  TEX.Definitions.Add({macros: {enclose: 'Enclose'}}, null, true);
 
+  TEX.Parse.Augment({
     //
-    //  Set up macro
+    //  Implement \enclose{notation}[attr]{math}
+    //    (create <menclose notation="notation">math</menclose>)
     //
-    TEX.Definitions.Add({macros: {enclose: 'Enclose'}}, null, true);
-
-    TEX.Parse.Augment({
-        //
-        //  Implement \enclose{notation}[attr]{math}
-        //    (create <menclose notation="notation">math</menclose>)
-        //
-        Enclose: function (name) {
-            var notation = this.GetArgument(name),
-                attr = this.GetBrackets(name),
-                math = this.ParseArg(name);
-            var def = {notation: notation.replace(/,/g, " ")};
-            if (attr) {
-                attr = attr.replace(/ /g, "").split(/,/);
-                for (var i = 0, m = attr.length; i < m; i++) {
-                    var keyvalue = attr[i].split(/[:=]/);
-                    if (ALLOW[keyvalue[0]]) {
-                        keyvalue[1] = keyvalue[1].replace(/^"(.*)"$/, "$1");
-                        if (keyvalue[1] === "true") {
-                            keyvalue[1] = true
-                        }
-                        if (keyvalue[1] === "false") {
-                            keyvalue[1] = false
-                        }
-                        if (keyvalue[0] === "arrow" && keyvalue[1]) {
-                            def.notation = def.notation + " updiagonalarrow"
-                        } else {
-                            def[keyvalue[0]] = keyvalue[1]
-                        }
-                    }
-                }
+    Enclose: function (name) {
+      var notation = this.GetArgument(name),
+          attr = this.GetBrackets(name),
+          math = this.ParseArg(name);
+      var def = {notation: notation.replace(/,/g, " ")};
+      if (attr) {
+        attr = attr.replace(/ /g, "").split(/,/);
+        for (var i = 0, m = attr.length; i < m; i++) {
+          var keyvalue = attr[i].split(/[:=]/);
+          if (ALLOW[keyvalue[0]]) {
+            keyvalue[1] = keyvalue[1].replace(/^"(.*)"$/, "$1");
+            if (keyvalue[1] === "true") {
+              keyvalue[1] = true
+            }
+            if (keyvalue[1] === "false") {
+              keyvalue[1] = false
             }
-            this.Push(MML.menclose(math).With(def));
+            if (keyvalue[0] === "arrow" && keyvalue[1]) {
+              def.notation = def.notation + " updiagonalarrow"
+            } else {
+              def[keyvalue[0]] = keyvalue[1]
+            }
+          }
         }
-    });
+      }
+      this.Push(MML.menclose(math).With(def));
+    }
+  });
 
-    MathJax.Hub.Startup.signal.Post("TeX enclose Ready");
+  MathJax.Hub.Startup.signal.Post("TeX enclose Ready");
 
 });
 

+ 65 - 65
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/TeX/extpfeil.js

@@ -25,80 +25,80 @@
  */
 
 MathJax.Extension["TeX/extpfeil"] = {
-    version: "2.5.0"
+  version: "2.5.0"
 };
 
 MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
 
-    var TEX = MathJax.InputJax.TeX,
-        TEXDEF = TEX.Definitions;
+  var TEX = MathJax.InputJax.TeX,
+      TEXDEF = TEX.Definitions;
 
-    //
-    //  Define the arrows to load the AMSmath extension
-    //  (since they need its xArrow method)
-    //
-    TEXDEF.Add({
-        macros: {
-            xtwoheadrightarrow: ['Extension', 'AMSmath'],
-            xtwoheadleftarrow: ['Extension', 'AMSmath'],
-            xmapsto: ['Extension', 'AMSmath'],
-            xlongequal: ['Extension', 'AMSmath'],
-            xtofrom: ['Extension', 'AMSmath'],
-            Newextarrow: ['Extension', 'AMSmath']
-        }
-    }, null, true);
+  //
+  //  Define the arrows to load the AMSmath extension
+  //  (since they need its xArrow method)
+  //
+  TEXDEF.Add({
+    macros: {
+      xtwoheadrightarrow: ['Extension', 'AMSmath'],
+      xtwoheadleftarrow: ['Extension', 'AMSmath'],
+      xmapsto: ['Extension', 'AMSmath'],
+      xlongequal: ['Extension', 'AMSmath'],
+      xtofrom: ['Extension', 'AMSmath'],
+      Newextarrow: ['Extension', 'AMSmath']
+    }
+  }, null, true);
 
-    //
-    //  Redefine the macros when AMSmath is loaded
-    //
-    MathJax.Hub.Register.StartupHook("TeX AMSmath Ready", function () {
-        MathJax.Hub.Insert(TEXDEF, {
-            macros: {
-                xtwoheadrightarrow: ['xArrow', 0x21A0, 12, 16],
-                xtwoheadleftarrow: ['xArrow', 0x219E, 17, 13],
-                xmapsto: ['xArrow', 0x21A6, 6, 7],
-                xlongequal: ['xArrow', 0x003D, 7, 7],
-                xtofrom: ['xArrow', 0x21C4, 12, 12],
-                Newextarrow: 'NewExtArrow'
-            }
-        });
+  //
+  //  Redefine the macros when AMSmath is loaded
+  //
+  MathJax.Hub.Register.StartupHook("TeX AMSmath Ready", function () {
+    MathJax.Hub.Insert(TEXDEF, {
+      macros: {
+        xtwoheadrightarrow: ['xArrow', 0x21A0, 12, 16],
+        xtwoheadleftarrow: ['xArrow', 0x219E, 17, 13],
+        xmapsto: ['xArrow', 0x21A6, 6, 7],
+        xlongequal: ['xArrow', 0x003D, 7, 7],
+        xtofrom: ['xArrow', 0x21C4, 12, 12],
+        Newextarrow: 'NewExtArrow'
+      }
     });
+  });
 
-    //
-    //  Implements \Newextarrow to define a new arrow (not compatible with \newextarrow, but
-    //  the equivalent for MathJax)
-    //
-    TEX.Parse.Augment({
-        NewExtArrow: function (name) {
-            var cs = this.GetArgument(name),
-                space = this.GetArgument(name),
-                chr = this.GetArgument(name);
-            if (!cs.match(/^\\([a-z]+|.)$/i)) {
-                TEX.Error(["NewextarrowArg1",
-                    "First argument to %1 must be a control sequence name", name]);
-            }
-            if (!space.match(/^(\d+),(\d+)$/)) {
-                TEX.Error(
-                    ["NewextarrowArg2",
-                        "Second argument to %1 must be two integers separated by a comma",
-                        name]
-                );
-            }
-            if (!chr.match(/^(\d+|0x[0-9A-F]+)$/i)) {
-                TEX.Error(
-                    ["NewextarrowArg3",
-                        "Third argument to %1 must be a unicode character number",
-                        name]
-                );
-            }
-            cs = cs.substr(1);
-            space = space.split(",");
-            chr = parseInt(chr);
-            TEXDEF.macros[cs] = ['xArrow', chr, parseInt(space[0]), parseInt(space[1])];
-        }
-    });
+  //
+  //  Implements \Newextarrow to define a new arrow (not compatible with \newextarrow, but
+  //  the equivalent for MathJax)
+  //
+  TEX.Parse.Augment({
+    NewExtArrow: function (name) {
+      var cs = this.GetArgument(name),
+          space = this.GetArgument(name),
+          chr = this.GetArgument(name);
+      if (!cs.match(/^\\([a-z]+|.)$/i)) {
+        TEX.Error(["NewextarrowArg1",
+          "First argument to %1 must be a control sequence name", name]);
+      }
+      if (!space.match(/^(\d+),(\d+)$/)) {
+        TEX.Error(
+            ["NewextarrowArg2",
+              "Second argument to %1 must be two integers separated by a comma",
+              name]
+        );
+      }
+      if (!chr.match(/^(\d+|0x[0-9A-F]+)$/i)) {
+        TEX.Error(
+            ["NewextarrowArg3",
+              "Third argument to %1 must be a unicode character number",
+              name]
+        );
+      }
+      cs = cs.substr(1);
+      space = space.split(",");
+      chr = parseInt(chr);
+      TEXDEF.macros[cs] = ['xArrow', chr, parseInt(space[0]), parseInt(space[1])];
+    }
+  });
 
-    MathJax.Hub.Startup.signal.Post("TeX extpfeil Ready");
+  MathJax.Hub.Startup.signal.Post("TeX extpfeil Ready");
 });
 
 MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/extpfeil.js");

+ 309 - 313
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/tex2jax.js

@@ -27,353 +27,349 @@
  */
 
 MathJax.Extension.tex2jax = {
-    version: "2.5.0",
-    config: {
-        inlineMath: [              // The start/stop pairs for in-line math
+  version: "2.5.0",
+  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)
-        ],
+      ['\\(', '\\)']            //  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)
-        ],
+    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)
+    ],
 
-        balanceBraces: true,       // determines whether tex2jax requires braces to be
-                                   // balanced within math delimiters (allows for nested
-                                   // dollar signs).  Set to false to get pre-v2.0 compatibility.
+    balanceBraces: true,       // determines whether tex2jax requires braces to be
+                               // balanced within math delimiters (allows for nested
+                               // dollar signs).  Set to false to get pre-v2.0 compatibility.
 
-        skipTags: ["script", "noscript", "style", "textarea", "pre", "code", "annotation", "annotation-xml"],
-        // The names of the tags whose contents will not be
-        // scanned for math delimiters
+    skipTags: ["script", "noscript", "style", "textarea", "pre", "code", "annotation", "annotation-xml"],
+    // 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
+    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
+    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
+    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
+    processEnvironments: true, // set to true to process \begin{xxx}...\end{xxx} outside
+                               //   of math mode, false to prevent that
 
-        processRefs: true,         // set to true to process \ref{...} outside of math mode
+    processRefs: true,         // set to true to process \ref{...} outside of math mode
 
 
-        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.
+    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
-        }
-        if (this.createPatterns()) {
-            this.scanElement(element, element.nextSibling)
-        }
-    },
+  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
+    }
+    if (this.createPatterns()) {
+      this.scanElement(element, element.nextSibling)
+    }
+  },
 
-    createPatterns: function () {
-        var starts = [], parts = [], 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])
-            };
-        }
-        if (starts.length) {
-            parts.push(starts.sort(this.sortLength).join("|"))
-        }
-        if (config.processEnvironments) {
-            parts.push("\\\\begin\\{([^}]*)\\}")
-        }
-        if (config.processEscapes) {
-            parts.push("\\\\*\\\\\\\$")
-        }
-        if (config.processRefs) {
-            parts.push("\\\\(eq)?ref\\{[^}]*\\}")
-        }
-        this.start = new RegExp(parts.join("|"), "g");
-        this.skipTags = new RegExp("^(" + config.skipTags.join("|") + ")$", "i");
-        var ignore = [];
-        if (MathJax.Hub.config.preRemoveClass) {
-            ignore.push(MathJax.Hub.config.preRemoveClass)
-        }
-        ;
-        if (config.ignoreClass) {
-            ignore.push(config.ignoreClass)
-        }
-        this.ignoreClass = (ignore.length ? new RegExp("(^| )(" + ignore.join("|") + ")( |$)") : /^$/);
-        this.processClass = new RegExp("(^| )(" + config.processClass + ")( |$)");
-        return (parts.length > 0);
-    },
+  createPatterns: function () {
+    var starts = [], parts = [], 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])
+      };
+    }
+    if (starts.length) {
+      parts.push(starts.sort(this.sortLength).join("|"))
+    }
+    if (config.processEnvironments) {
+      parts.push("\\\\begin\\{([^}]*)\\}")
+    }
+    if (config.processEscapes) {
+      parts.push("\\\\*\\\\\\\$")
+    }
+    if (config.processRefs) {
+      parts.push("\\\\(eq)?ref\\{[^}]*\\}")
+    }
+    this.start = new RegExp(parts.join("|"), "g");
+    this.skipTags = new RegExp("^(" + config.skipTags.join("|") + ")$", "i");
+    var ignore = [];
+    if (MathJax.Hub.config.preRemoveClass) {
+      ignore.push(MathJax.Hub.config.preRemoveClass)
+    }
+    ;
+    if (config.ignoreClass) {
+      ignore.push(config.ignoreClass)
+    }
+    this.ignoreClass = (ignore.length ? new RegExp("(^| )(" + ignore.join("|") + ")( |$)") : /^$/);
+    this.processClass = new RegExp("(^| )(" + config.processClass + ")( |$)");
+    return (parts.length > 0);
+  },
 
-    patternQuote: function (s) {
-        return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g, '\\$1')
-    },
+  patternQuote: function (s) {
+    return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g, '\\$1')
+  },
 
-    endPattern: function (end) {
-        return new RegExp(this.patternQuote(end) + "|\\\\.|[{}]", "g");
-    },
+  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));
-    },
+  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, process;
-        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!
-                process = this.processClass.exec(cname);
-                if (element.firstChild && !cname.match(/(^| )MathJax/) &&
-                    (process || !this.skipTags.exec(tname))) {
-                    ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process;
-                    this.scanElement(element.firstChild, stop, ignoreChild);
-                }
-            }
-            if (element) {
-                element = element.nextSibling
-            }
+  scanElement: function (element, stop, ignore) {
+    var cname, tname, ignoreChild, process;
+    while (element && element != stop) {
+      if (element.nodeName.toLowerCase() === '#text') {
+        if (!ignore) {
+          element = this.scanText(element)
         }
-    },
-
-    scanText: function (element) {
-        if (element.nodeValue.replace(/\s+/, '') == '') {
-            return 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!
+        process = this.processClass.exec(cname);
+        if (element.firstChild && !cname.match(/(^| )MathJax/) &&
+            (process || !this.skipTags.exec(tname))) {
+          ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process;
+          this.scanElement(element.firstChild, stop, ignoreChild);
         }
-        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 (this.search.close ? this.prevEndMatch() : prev)
-                }
-            }
-        }
-        return element;
-    },
+      }
+      if (element) {
+        element = element.nextSibling
+      }
+    }
+  },
 
-    startMatch: function (match, element) {
-        var delim = this.match[match[0]];
-        if (delim != null) {                              // a start delimiter
-            this.search = {
-                end: delim.end,
-                mode: delim.mode,
-                pcount: 0,
-                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",
-                pcount: 0,
-                open: element,
-                olen: 0,
-                opos: this.pattern.lastIndex - match[0].length,
-                isBeginEnd: true
-            };
-            this.switchPattern(this.endPattern(this.search.end));
-        } else if (match[0].substr(0, 4) === "\\ref" || match[0].substr(0, 6) === "\\eqref") {
-            this.search = {
-                mode: "", end: "", open: element, pcount: 0,
-                olen: 0, opos: this.pattern.lastIndex - match[0].length
-            }
-            return this.endMatch([""], element);
-        } 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;
+  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)
         }
-        return element;
-    },
-
-    endMatch: function (match, element) {
-        var search = this.search;
-        if (match[0] == search.end) {
-            if (!search.close || search.pcount === 0) {
-                search.close = element;
-                search.cpos = this.pattern.lastIndex;
-                search.clen = (search.isBeginEnd ? 0 : match[0].length);
-            }
-            if (search.pcount === 0) {
-                search.matched = true;
-                element = this.encloseMath(element);
-                this.switchPattern(this.start);
-            }
+        else {
+          element = this.endMatch(match, element)
         }
-        else if (match[0] === "{") {
-            search.pcount++
+      }
+      if (this.search.matched) {
+        element = this.encloseMath(element)
+      }
+      if (element) {
+        do {
+          prev = element;
+          element = element.nextSibling
         }
-        else if (match[0] === "}" && search.pcount) {
-            search.pcount--
+        while (element && (element.nodeName.toLowerCase() === 'br' ||
+        element.nodeName.toLowerCase() === '#comment'));
+        if (!element || element.nodeName !== '#text') {
+          return (this.search.close ? this.prevEndMatch() : prev)
         }
-        return element;
-    },
-    prevEndMatch: function () {
-        this.search.matched = true;
-        var element = this.encloseMath(this.search.close);
+      }
+    }
+    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,
+        pcount: 0,
+        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", pcount: 0,
+        open: element, olen: 0, opos: this.pattern.lastIndex - match[0].length,
+        isBeginEnd: true
+      };
+      this.switchPattern(this.endPattern(this.search.end));
+    } else if (match[0].substr(0, 4) === "\\ref" || match[0].substr(0, 6) === "\\eqref") {
+      this.search = {
+        mode: "", end: "", open: element, pcount: 0,
+        olen: 0, opos: this.pattern.lastIndex - match[0].length
+      }
+      return this.endMatch([""], element);
+    } 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) {
+    var search = this.search;
+    if (match[0] == search.end) {
+      if (!search.close || search.pcount === 0) {
+        search.close = element;
+        search.cpos = this.pattern.lastIndex;
+        search.clen = (search.isBeginEnd ? 0 : match[0].length);
+      }
+      if (search.pcount === 0) {
+        search.matched = true;
+        element = this.encloseMath(element);
         this.switchPattern(this.start);
-        return element;
-    },
+      }
+    }
+    else if (match[0] === "{") {
+      search.pcount++
+    }
+    else if (match[0] === "}" && search.pcount) {
+      search.pcount--
+    }
+    return element;
+  },
+  prevEndMatch: function () {
+    this.search.matched = true;
+    var element = this.encloseMath(this.search.close);
+    this.switchPattern(this.start);
+    return element;
+  },
 
-    switchPattern: function (pattern) {
-        pattern.lastIndex = this.pattern.lastIndex;
-        this.pattern = pattern;
-        this.search.start = (pattern === this.start);
-    },
+  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)
+  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;
         }
-        math = this.createMathTag(search.mode, TeX);
-        this.search = {};
-        this.pattern.lastIndex = 0;
-        if (CLOSE) {
-            CLOSE.parentNode.removeChild(CLOSE)
-        }
-        return math;
-    },
+      } 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);
-    },
+  insertNode: function (node) {
+    var search = this.search;
+    search.close.parentNode.insertBefore(node, search.close);
+  },
 
-    createPreview: function (mode, tex) {
-        var preview = this.config.preview;
-        if (preview === "none") return;
-        if (preview === "TeX") {
-            preview = [this.filterPreview(tex)]
-        }
-        if (preview) {
-            preview = MathJax.HTML.Element("span", {className: MathJax.Hub.config.preRemoveClass}, preview);
-            this.insertNode(preview);
-        }
-    },
+  createPreview: function (mode, tex) {
+    var preview = this.config.preview;
+    if (preview === "none") return;
+    if (preview === "TeX") {
+      preview = [this.filterPreview(tex)]
+    }
+    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;
-    },
+  createMathTag: function (mode, tex) {
+    var script = document.createElement("script");
+    script.type = "math/tex" + mode;
+    MathJax.HTML.setScript(script, tex);
+    this.insertNode(script);
+    return script;
+  },
 
-    filterPreview: function (tex) {
-        return tex
-    },
+  filterPreview: function (tex) {
+    return tex
+  },
 
-    msieNewlineBug: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9)
+  msieNewlineBug: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9)
 
 };
 

+ 257 - 257
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/extensions/toMathML.js

@@ -26,285 +26,285 @@
  */
 
 MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js", function () {
-    var VERSION = "2.5.0";
+  var VERSION = "2.5.0";
 
-    var MML = MathJax.ElementJax.mml
-    SETTINGS = MathJax.Hub.config.menuSettings;
+  var MML = MathJax.ElementJax.mml
+  SETTINGS = MathJax.Hub.config.menuSettings;
 
-    MML.mbase.Augment({
+  MML.mbase.Augment({
 
-        toMathML: function (space) {
-            var inferred = (this.inferred && this.parent.inferRow);
-            if (space == null) {
-                space = ""
-            }
-            var tag = this.type, attr = this.toMathMLattributes();
-            if (tag === "mspace") {
-                return space + "<" + tag + attr + " />"
-            }
-            var data = [], 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 && !this.isChars) {
-                    data.push(SPACE + "<mrow />")
-                }
-            }
-            if (this.isToken || this.isChars) {
-                return space + "<" + tag + attr + ">" + data.join("") + "</" + tag + ">"
-            }
-            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 + "</" + tag + ">";
-        },
-
-        toMathMLattributes: function () {
-            var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults);
-            var names = (this.attrNames || MML.copyAttributeNames),
-                skip = MML.skipAttributes, copy = MML.copyAttributes;
-            var attr = [];
+    toMathML: function (space) {
+      var inferred = (this.inferred && this.parent.inferRow);
+      if (space == null) {
+        space = ""
+      }
+      var tag = this.type, attr = this.toMathMLattributes();
+      if (tag === "mspace") {
+        return space + "<" + tag + attr + " />"
+      }
+      var data = [], 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 && !this.isChars) {
+          data.push(SPACE + "<mrow />")
+        }
+      }
+      if (this.isToken || this.isChars) {
+        return space + "<" + tag + attr + ">" + data.join("") + "</" + tag + ">"
+      }
+      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 + "</" + tag + ">";
+    },
 
-            if (this.type === "math" && (!this.attr || !this.attr.xmlns)) {
-                attr.push('xmlns="http://www.w3.org/1998/Math/MathML"')
-            }
-            if (!this.attrNames) {
-                for (var id in defaults) {
-                    if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) {
-                        if (this[id] != null && this[id] !== defaults[id]) {
-                            if (this.Get(id, null, 1) !== this[id])
-                                attr.push(id + '="' + this.toMathMLattribute(this[id]) + '"');
-                        }
-                    }
-                }
-            }
-            for (var i = 0, m = names.length; i < m; i++) {
-                if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue;
-                value = (this.attr || {})[names[i]];
-                if (value == null) {
-                    value = this[names[i]]
-                }
-                if (value != null) {
-                    attr.push(names[i] + '="' + this.toMathMLquote(value) + '"')
-                }
-            }
-            this.toMathMLclass(attr);
-            if (attr.length) {
-                return " " + attr.join(" ")
-            } else {
-                return ""
-            }
-        },
-        toMathMLclass: function (attr) {
-            var CLASS = [];
-            if (this["class"]) {
-                CLASS.push(this["class"])
-            }
-            if (this.isa(MML.TeXAtom) && SETTINGS.texHints) {
-                var TEXCLASS = ["ORD", "OP", "BIN", "REL", "OPEN", "CLOSE", "PUNCT", "INNER", "VCENTER"][this.texClass];
-                if (TEXCLASS) {
-                    CLASS.push("MJX-TeXAtom-" + TEXCLASS)
-                }
-            }
-            if (this.mathvariant && this.toMathMLvariants[this.mathvariant]) {
-                CLASS.push("MJX" + this.mathvariant)
-            }
-            if (this.variantForm) {
-                CLASS.push("MJX-variant")
-            }
-            if (CLASS.length) {
-                attr.unshift('class="' + CLASS.join(" ") + '"')
-            }
-        },
-        toMathMLattribute: function (value) {
-            if (typeof(value) === "string" &&
-                value.replace(/ /g, "").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)) {
-                // FIXME:  should take scriptlevel into account
-                return (RegExp.$2 || "") + ((1 / 18) * RegExp.$3).toFixed(3).replace(/\.?0+$/, "") + "em";
-            }
-            else if (this.toMathMLvariants[value]) {
-                return this.toMathMLvariants[value]
-            }
-            return this.toMathMLquote(value);
-        },
-        toMathMLvariants: {
-            "-tex-caligraphic": MML.VARIANT.SCRIPT,
-            "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT,
-            "-tex-oldstyle": MML.VARIANT.NORMAL,
-            "-tex-oldstyle-bold": MML.VARIANT.BOLD,
-            "-tex-mathit": MML.VARIANT.ITALIC
-        },
+    toMathMLattributes: function () {
+      var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults);
+      var names = (this.attrNames || MML.copyAttributeNames),
+          skip = MML.skipAttributes, copy = MML.copyAttributes;
+      var attr = [];
 
-        toMathMLquote: function (string) {
-            string = String(string).split("");
-            for (var i = 0, m = string.length; i < m; i++) {
-                var n = string[i].charCodeAt(0);
-                if (n <= 0xD7FF || 0xE000 <= n) {
-                    // Code points U+0000 to U+D7FF and U+E000 to U+FFFF.
-                    // They are directly represented by n.
-                    if (n > 0x7E || (n < 0x20 && n !== 0x0A && n !== 0x0D && n !== 0x09)) {
-                        string[i] = "&#x" + n.toString(16).toUpperCase() + ";";
-                    } else {
-                        var c =
-                            {
-                                '&': '&amp;',
-                                '<': '&lt;',
-                                '>': '&gt;',
-                                '"': '&quot;'
-                            }[string[i]];
-                        if (c) {
-                            string[i] = c
-                        }
-                    }
-                } else if (i + 1 < m) {
-                    // Code points U+10000 to U+10FFFF.
-                    // n is the lead surrogate, let's read the trail surrogate.
-                    var trailSurrogate = string[i + 1].charCodeAt(0);
-                    var codePoint = (((n - 0xD800) << 10) + (trailSurrogate - 0xDC00) + 0x10000);
-                    string[i] = "&#x" + codePoint.toString(16).toUpperCase() + ";";
-                    string[i + 1] = "";
-                    i++;
-                } else {
-                    // n is a lead surrogate without corresponding trail surrogate:
-                    // remove that character.
-                    string[i] = "";
-                }
+      if (this.type === "math" && (!this.attr || !this.attr.xmlns)) {
+        attr.push('xmlns="http://www.w3.org/1998/Math/MathML"')
+      }
+      if (!this.attrNames) {
+        for (var id in defaults) {
+          if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) {
+            if (this[id] != null && this[id] !== defaults[id]) {
+              if (this.Get(id, null, 1) !== this[id])
+                attr.push(id + '="' + this.toMathMLattribute(this[id]) + '"');
             }
-            return string.join("");
+          }
         }
-    });
-
-    //
-    //  Override math.toMathML in order to add semantics tag
-    //  for the input format, if the user requests that in the
-    //  Show As menu.
-    //
-    MML.math.Augment({
-        toMathML: function (space, jax) {
-            var annotation;
-            if (space == null) {
-                space = ""
-            }
-            if (jax && jax.originalText && SETTINGS.semantics) {
-                annotation = MathJax.InputJax[jax.inputJax].annotationEncoding
-            }
-            var nested = (this.data[0] && this.data[0].data.length > 1);
-            var tag = this.type, attr = this.toMathMLattributes();
-            var data = [], SPACE = space + (annotation ? "  " + (nested ? "  " : "") : "") + "  ";
-            for (var i = 0, m = this.data.length; i < m; i++) {
-                if (this.data[i]) {
-                    data.push(this.data[i].toMathML(SPACE))
-                }
-                else {
-                    data.push(SPACE + "<mrow />")
-                }
-            }
-            if (data.length === 0 || (data.length === 1 && data[0] === "")) {
-                if (!annotation) {
-                    return "<" + tag + attr + " />"
-                }
-                data.push(SPACE + "<mrow />");
-            }
-            if (annotation) {
-                if (nested) {
-                    data.unshift(space + "    <mrow>");
-                    data.push(space + "    </mrow>")
-                }
-                data.unshift(space + "  <semantics>");
-                var xmlEscapedTex = jax.originalText.replace(/[&<>]/g, function (item) {
-                    return {'>': '&gt;', '<': '&lt;', '&': '&amp;'}[item]
-                });
-                data.push(space + '    <annotation encoding="' + annotation + '">' + xmlEscapedTex + "</annotation>");
-                data.push(space + "  </semantics>");
-            }
-            return space + "<" + tag + attr + ">\n" + data.join("\n") + "\n" + space + "</" + tag + ">";
+      }
+      for (var i = 0, m = names.length; i < m; i++) {
+        if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue;
+        value = (this.attr || {})[names[i]];
+        if (value == null) {
+          value = this[names[i]]
         }
-    });
-
-    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.toMathMLattributes();
-            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 + "</" + tag + ">";
+        if (value != null) {
+          attr.push(names[i] + '="' + this.toMathMLquote(value) + '"')
         }
-    });
-
-    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.toMathMLattributes();
-            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 + "</" + tag + ">";
+      }
+      this.toMathMLclass(attr);
+      if (attr.length) {
+        return " " + attr.join(" ")
+      } else {
+        return ""
+      }
+    },
+    toMathMLclass: function (attr) {
+      var CLASS = [];
+      if (this["class"]) {
+        CLASS.push(this["class"])
+      }
+      if (this.isa(MML.TeXAtom) && SETTINGS.texHints) {
+        var TEXCLASS = ["ORD", "OP", "BIN", "REL", "OPEN", "CLOSE", "PUNCT", "INNER", "VCENTER"][this.texClass];
+        if (TEXCLASS) {
+          CLASS.push("MJX-TeXAtom-" + TEXCLASS)
         }
-    });
+      }
+      if (this.mathvariant && this.toMathMLvariants[this.mathvariant]) {
+        CLASS.push("MJX" + this.mathvariant)
+      }
+      if (this.variantForm) {
+        CLASS.push("MJX-variant")
+      }
+      if (CLASS.length) {
+        attr.unshift('class="' + CLASS.join(" ") + '"')
+      }
+    },
+    toMathMLattribute: function (value) {
+      if (typeof(value) === "string" &&
+          value.replace(/ /g, "").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)) {
+        // FIXME:  should take scriptlevel into account
+        return (RegExp.$2 || "") + ((1 / 18) * RegExp.$3).toFixed(3).replace(/\.?0+$/, "") + "em";
+      }
+      else if (this.toMathMLvariants[value]) {
+        return this.toMathMLvariants[value]
+      }
+      return this.toMathMLquote(value);
+    },
+    toMathMLvariants: {
+      "-tex-caligraphic": MML.VARIANT.SCRIPT,
+      "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT,
+      "-tex-oldstyle": MML.VARIANT.NORMAL,
+      "-tex-oldstyle-bold": MML.VARIANT.BOLD,
+      "-tex-mathit": MML.VARIANT.ITALIC
+    },
 
-    MML.TeXAtom.Augment({
-        toMathML: function (space) {
-            // FIXME:  Handle spacing using mpadded?
-            var attr = this.toMathMLattributes();
-            if (!attr && this.data[0].data.length === 1) {
-                return space.substr(2) + this.data[0].toMathML(space)
+    toMathMLquote: function (string) {
+      string = String(string).split("");
+      for (var i = 0, m = string.length; i < m; i++) {
+        var n = string[i].charCodeAt(0);
+        if (n <= 0xD7FF || 0xE000 <= n) {
+          // Code points U+0000 to U+D7FF and U+E000 to U+FFFF.
+          // They are directly represented by n.
+          if (n > 0x7E || (n < 0x20 && n !== 0x0A && n !== 0x0D && n !== 0x09)) {
+            string[i] = "&#x" + n.toString(16).toUpperCase() + ";";
+          } else {
+            var c =
+                {
+                  '&': '&amp;',
+                  '<': '&lt;',
+                  '>': '&gt;',
+                  '"': '&quot;'
+                }[string[i]];
+            if (c) {
+              string[i] = c
             }
-            return space + "<mrow" + attr + ">\n" + this.data[0].toMathML(space + "  ") + "\n" + space + "</mrow>";
+          }
+        } else if (i + 1 < m) {
+          // Code points U+10000 to U+10FFFF.
+          // n is the lead surrogate, let's read the trail surrogate.
+          var trailSurrogate = string[i + 1].charCodeAt(0);
+          var codePoint = (((n - 0xD800) << 10) + (trailSurrogate - 0xDC00) + 0x10000);
+          string[i] = "&#x" + codePoint.toString(16).toUpperCase() + ";";
+          string[i + 1] = "";
+          i++;
+        } else {
+          // n is a lead surrogate without corresponding trail surrogate:
+          // remove that character.
+          string[i] = "";
         }
-    });
+      }
+      return string.join("");
+    }
+  });
 
-    MML.chars.Augment({
-        toMathML: function (space) {
-            return (space || "") + this.toMathMLquote(this.toString())
+  //
+  //  Override math.toMathML in order to add semantics tag
+  //  for the input format, if the user requests that in the
+  //  Show As menu.
+  //
+  MML.math.Augment({
+    toMathML: function (space, jax) {
+      var annotation;
+      if (space == null) {
+        space = ""
+      }
+      if (jax && jax.originalText && SETTINGS.semantics) {
+        annotation = MathJax.InputJax[jax.inputJax].annotationEncoding
+      }
+      var nested = (this.data[0] && this.data[0].data.length > 1);
+      var tag = this.type, attr = this.toMathMLattributes();
+      var data = [], SPACE = space + (annotation ? "  " + (nested ? "  " : "") : "") + "  ";
+      for (var i = 0, m = this.data.length; i < m; i++) {
+        if (this.data[i]) {
+          data.push(this.data[i].toMathML(SPACE))
         }
-    });
+        else {
+          data.push(SPACE + "<mrow />")
+        }
+      }
+      if (data.length === 0 || (data.length === 1 && data[0] === "")) {
+        if (!annotation) {
+          return "<" + tag + attr + " />"
+        }
+        data.push(SPACE + "<mrow />");
+      }
+      if (annotation) {
+        if (nested) {
+          data.unshift(space + "    <mrow>");
+          data.push(space + "    </mrow>")
+        }
+        data.unshift(space + "  <semantics>");
+        var xmlEscapedTex = jax.originalText.replace(/[&<>]/g, function (item) {
+          return {'>': '&gt;', '<': '&lt;', '&': '&amp;'}[item]
+        });
+        data.push(space + '    <annotation encoding="' + annotation + '">' + xmlEscapedTex + "</annotation>");
+        data.push(space + "  </semantics>");
+      }
+      return space + "<" + tag + attr + ">\n" + data.join("\n") + "\n" + space + "</" + tag + ">";
+    }
+  });
 
-    MML.entity.Augment({
-        toMathML: function (space) {
-            return (space || "") + "&" + this.data[0] + ";<!-- " + this.toString() + " -->"
+  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.toMathMLattributes();
+      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 + "</" + tag + ">";
+    }
+  });
 
-    MML.xml.Augment({
-        toMathML: function (space) {
-            return (space || "") + this.toString()
+  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.toMathMLattributes();
+      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 + "</" + tag + ">";
+    }
+  });
 
-    MathJax.Hub.Register.StartupHook("TeX mathchoice Ready", function () {
-        MML.TeXmathchoice.Augment({
-            toMathML: function (space) {
-                return this.Core().toMathML(space)
-            }
-        });
+  MML.TeXAtom.Augment({
+    toMathML: function (space) {
+      // FIXME:  Handle spacing using mpadded?
+      var attr = this.toMathMLattributes();
+      if (!attr && this.data[0].data.length === 1) {
+        return space.substr(2) + this.data[0].toMathML(space)
+      }
+      return space + "<mrow" + attr + ">\n" + this.data[0].toMathML(space + "  ") + "\n" + space + "</mrow>";
+    }
+  });
+
+  MML.chars.Augment({
+    toMathML: function (space) {
+      return (space || "") + this.toMathMLquote(this.toString())
+    }
+  });
+
+  MML.entity.Augment({
+    toMathML: function (space) {
+      return (space || "") + "&" + this.data[0] + ";<!-- " + this.toString() + " -->"
+    }
+  });
+
+  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.Hub.Startup.signal.Post("toMathML Ready");
 
 });
 

+ 97 - 97
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/Arrows.js

@@ -19,104 +19,104 @@
  */
 
 (function (MML) {
-    var MO = MML.mo.OPTYPES;
-    var TEXCLASS = MML.TEXCLASS;
+  var MO = MML.mo.OPTYPES;
+  var TEXCLASS = MML.TEXCLASS;
 
-    MathJax.Hub.Insert(MML.mo.prototype, {
-        OPTABLE: {
-            infix: {
-                '\u219A': MO.RELACCENT, // leftwards arrow with stroke
-                '\u219B': MO.RELACCENT, // 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.RELSTRETCH, // 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.RELSTRETCH, // upwards arrow from bar
-                '\u21A7': MO.RELSTRETCH, // downwards arrow from bar
-                '\u21A8': MO.RELSTRETCH, // 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.RELACCENT, // left right arrow with stroke
-                '\u21AF': MO.RELSTRETCH, // downwards zigzag arrow
-                '\u21B0': MO.RELSTRETCH, // upwards arrow with tip leftwards
-                '\u21B1': MO.RELSTRETCH, // upwards arrow with tip rightwards
-                '\u21B2': MO.RELSTRETCH, // downwards arrow with tip leftwards
-                '\u21B3': MO.RELSTRETCH, // downwards arrow with tip rightwards
-                '\u21B4': MO.RELSTRETCH, // rightwards arrow with corner downwards
-                '\u21B5': MO.RELSTRETCH, // downwards arrow with corner leftwards
-                '\u21B6': MO.RELACCENT, // anticlockwise top semicircle arrow
-                '\u21B7': MO.RELACCENT, // 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.RELSTRETCH, // upwards harpoon with barb rightwards
-                '\u21BF': MO.RELSTRETCH, // upwards harpoon with barb leftwards
-                '\u21C2': MO.RELSTRETCH, // downwards harpoon with barb rightwards
-                '\u21C3': MO.RELSTRETCH, // downwards harpoon with barb leftwards
-                '\u21C4': MO.WIDEREL,  // rightwards arrow over leftwards arrow
-                '\u21C5': MO.RELSTRETCH, // upwards arrow leftwards of downwards arrow
-                '\u21C6': MO.WIDEREL,  // leftwards arrow over rightwards arrow
-                '\u21C7': MO.WIDEREL,  // leftwards paired arrows
-                '\u21C8': MO.RELSTRETCH, // upwards paired arrows
-                '\u21C9': MO.WIDEREL,  // rightwards paired arrows
-                '\u21CA': MO.RELSTRETCH, // downwards paired arrows
-                '\u21CB': MO.WIDEREL,  // leftwards harpoon over rightwards harpoon
-                '\u21CD': MO.RELACCENT, // leftwards double arrow with stroke
-                '\u21CE': MO.RELACCENT, // left right double arrow with stroke
-                '\u21CF': MO.RELACCENT, // rightwards double arrow with stroke
-                '\u21D6': MO.RELSTRETCH, // north west double arrow
-                '\u21D7': MO.RELSTRETCH, // north east double arrow
-                '\u21D8': MO.RELSTRETCH, // south east double arrow
-                '\u21D9': MO.RELSTRETCH, // 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.RELSTRETCH, // upwards dashed arrow
-                '\u21E2': MO.WIDEREL,  // rightwards dashed arrow
-                '\u21E3': MO.RELSTRETCH, // 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.RELSTRETCH, // upwards white arrow
-                '\u21E8': MO.WIDEREL,  // rightwards white arrow
-                '\u21E9': MO.RELSTRETCH, // downwards white arrow
-                '\u21EA': MO.RELSTRETCH, // upwards white arrow from bar
-                '\u21EB': MO.RELSTRETCH, // upwards white arrow on pedestal
-                '\u21EC': MO.RELSTRETCH, // upwards white arrow on pedestal with horizontal bar
-                '\u21ED': MO.RELSTRETCH, // upwards white arrow on pedestal with vertical bar
-                '\u21EE': MO.RELSTRETCH, // upwards white double arrow
-                '\u21EF': MO.RELSTRETCH, // 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.RELSTRETCH, // up down white arrow
-                '\u21F4': MO.RELACCENT, // right arrow with small circle
-                '\u21F5': MO.RELSTRETCH, // downwards arrow leftwards of upwards arrow
-                '\u21F6': MO.WIDEREL,  // three rightwards arrows
-                '\u21F7': MO.RELACCENT, // leftwards arrow with vertical stroke
-                '\u21F8': MO.RELACCENT, // rightwards arrow with vertical stroke
-                '\u21F9': MO.RELACCENT, // left right arrow with vertical stroke
-                '\u21FA': MO.RELACCENT, // leftwards arrow with double vertical stroke
-                '\u21FB': MO.RELACCENT, // rightwards arrow with double vertical stroke
-                '\u21FC': MO.RELACCENT, // 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.Hub.Insert(MML.mo.prototype, {
+    OPTABLE: {
+      infix: {
+        '\u219A': MO.RELACCENT, // leftwards arrow with stroke
+        '\u219B': MO.RELACCENT, // 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.RELSTRETCH, // 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.RELSTRETCH, // upwards arrow from bar
+        '\u21A7': MO.RELSTRETCH, // downwards arrow from bar
+        '\u21A8': MO.RELSTRETCH, // 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.RELACCENT, // left right arrow with stroke
+        '\u21AF': MO.RELSTRETCH, // downwards zigzag arrow
+        '\u21B0': MO.RELSTRETCH, // upwards arrow with tip leftwards
+        '\u21B1': MO.RELSTRETCH, // upwards arrow with tip rightwards
+        '\u21B2': MO.RELSTRETCH, // downwards arrow with tip leftwards
+        '\u21B3': MO.RELSTRETCH, // downwards arrow with tip rightwards
+        '\u21B4': MO.RELSTRETCH, // rightwards arrow with corner downwards
+        '\u21B5': MO.RELSTRETCH, // downwards arrow with corner leftwards
+        '\u21B6': MO.RELACCENT, // anticlockwise top semicircle arrow
+        '\u21B7': MO.RELACCENT, // 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.RELSTRETCH, // upwards harpoon with barb rightwards
+        '\u21BF': MO.RELSTRETCH, // upwards harpoon with barb leftwards
+        '\u21C2': MO.RELSTRETCH, // downwards harpoon with barb rightwards
+        '\u21C3': MO.RELSTRETCH, // downwards harpoon with barb leftwards
+        '\u21C4': MO.WIDEREL,  // rightwards arrow over leftwards arrow
+        '\u21C5': MO.RELSTRETCH, // upwards arrow leftwards of downwards arrow
+        '\u21C6': MO.WIDEREL,  // leftwards arrow over rightwards arrow
+        '\u21C7': MO.WIDEREL,  // leftwards paired arrows
+        '\u21C8': MO.RELSTRETCH, // upwards paired arrows
+        '\u21C9': MO.WIDEREL,  // rightwards paired arrows
+        '\u21CA': MO.RELSTRETCH, // downwards paired arrows
+        '\u21CB': MO.WIDEREL,  // leftwards harpoon over rightwards harpoon
+        '\u21CD': MO.RELACCENT, // leftwards double arrow with stroke
+        '\u21CE': MO.RELACCENT, // left right double arrow with stroke
+        '\u21CF': MO.RELACCENT, // rightwards double arrow with stroke
+        '\u21D6': MO.RELSTRETCH, // north west double arrow
+        '\u21D7': MO.RELSTRETCH, // north east double arrow
+        '\u21D8': MO.RELSTRETCH, // south east double arrow
+        '\u21D9': MO.RELSTRETCH, // 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.RELSTRETCH, // upwards dashed arrow
+        '\u21E2': MO.WIDEREL,  // rightwards dashed arrow
+        '\u21E3': MO.RELSTRETCH, // 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.RELSTRETCH, // upwards white arrow
+        '\u21E8': MO.WIDEREL,  // rightwards white arrow
+        '\u21E9': MO.RELSTRETCH, // downwards white arrow
+        '\u21EA': MO.RELSTRETCH, // upwards white arrow from bar
+        '\u21EB': MO.RELSTRETCH, // upwards white arrow on pedestal
+        '\u21EC': MO.RELSTRETCH, // upwards white arrow on pedestal with horizontal bar
+        '\u21ED': MO.RELSTRETCH, // upwards white arrow on pedestal with vertical bar
+        '\u21EE': MO.RELSTRETCH, // upwards white double arrow
+        '\u21EF': MO.RELSTRETCH, // 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.RELSTRETCH, // up down white arrow
+        '\u21F4': MO.RELACCENT, // right arrow with small circle
+        '\u21F5': MO.RELSTRETCH, // downwards arrow leftwards of upwards arrow
+        '\u21F6': MO.WIDEREL,  // three rightwards arrows
+        '\u21F7': MO.RELACCENT, // leftwards arrow with vertical stroke
+        '\u21F8': MO.RELACCENT, // rightwards arrow with vertical stroke
+        '\u21F9': MO.RELACCENT, // left right arrow with vertical stroke
+        '\u21FA': MO.RELACCENT, // leftwards arrow with double vertical stroke
+        '\u21FB': MO.RELACCENT, // rightwards arrow with double vertical stroke
+        '\u21FC': MO.RELACCENT, // 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.Ajax.loadComplete(MML.optableDir + "/Arrows.js");
 
 })(MathJax.ElementJax.mml);

+ 64 - 64
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/BasicLatin.js

@@ -19,71 +19,71 @@
  */
 
 (function (MML) {
-    var MO = MML.mo.OPTYPES;
-    var TEXCLASS = MML.TEXCLASS;
+  var MO = MML.mo.OPTYPES;
+  var TEXCLASS = MML.TEXCLASS;
 
-    MathJax.Hub.Insert(MML.mo.prototype, {
-        OPTABLE: {
-            prefix: {
-                '||': [0, 0, TEXCLASS.BIN, {
-                    fence: true,
-                    stretchy: true,
-                    symmetric: true
-                }], // multiple character operator: ||
-                '|||': [0, 0, TEXCLASS.ORD, {
-                    fence: true,
-                    stretchy: true,
-                    symmetric: true
-                }]  // multiple character operator: |||
-            },
-            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: ...
-                '||': [0, 0, TEXCLASS.BIN, {
-                    fence: true,
-                    stretchy: true,
-                    symmetric: true
-                }], // multiple character operator: ||
-                '|||': [0, 0, TEXCLASS.ORD, {
-                    fence: true,
-                    stretchy: true,
-                    symmetric: true
-                }]  // 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.BIN5,         // multiple character operator: ->
-                '//': [1, 1, TEXCLASS.BIN], // multiple character operator: //
-                '/=': MO.BIN4,         // multiple character operator: /=
-                ':=': MO.BIN4,         // multiple character operator: :=
-                '<=': MO.BIN5,         // multiple character operator: <=
-                '<>': [1, 1, TEXCLASS.BIN], // multiple character operator: <>
-                '==': MO.BIN4,         // multiple character operator: ==
-                '>=': MO.BIN5,         // multiple character operator: >=
-                '@': MO.ORD11,         // commercial at
-                '||': [2, 2, TEXCLASS.BIN, {
-                    fence: true,
-                    stretchy: true,
-                    symmetric: true
-                }], // multiple character operator: ||
-                '|||': [2, 2, TEXCLASS.ORD, {
-                    fence: true,
-                    stretchy: true,
-                    symmetric: true
-                }]  // multiple character operator: |||
-            }
-        }
-    });
+  MathJax.Hub.Insert(MML.mo.prototype, {
+    OPTABLE: {
+      prefix: {
+        '||': [0, 0, TEXCLASS.BIN, {
+          fence: true,
+          stretchy: true,
+          symmetric: true
+        }], // multiple character operator: ||
+        '|||': [0, 0, TEXCLASS.ORD, {
+          fence: true,
+          stretchy: true,
+          symmetric: true
+        }]  // multiple character operator: |||
+      },
+      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: ...
+        '||': [0, 0, TEXCLASS.BIN, {
+          fence: true,
+          stretchy: true,
+          symmetric: true
+        }], // multiple character operator: ||
+        '|||': [0, 0, TEXCLASS.ORD, {
+          fence: true,
+          stretchy: true,
+          symmetric: true
+        }]  // 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.BIN5,         // multiple character operator: ->
+        '//': [1, 1, TEXCLASS.BIN], // multiple character operator: //
+        '/=': MO.BIN4,         // multiple character operator: /=
+        ':=': MO.BIN4,         // multiple character operator: :=
+        '<=': MO.BIN5,         // multiple character operator: <=
+        '<>': [1, 1, TEXCLASS.BIN], // multiple character operator: <>
+        '==': MO.BIN4,         // multiple character operator: ==
+        '>=': MO.BIN5,         // multiple character operator: >=
+        '@': MO.ORD11,         // commercial at
+        '||': [2, 2, TEXCLASS.BIN, {
+          fence: true,
+          stretchy: true,
+          symmetric: true
+        }], // multiple character operator: ||
+        '|||': [2, 2, TEXCLASS.ORD, {
+          fence: true,
+          stretchy: true,
+          symmetric: true
+        }]  // multiple character operator: |||
+      }
+    }
+  });
 
-    MathJax.Ajax.loadComplete(MML.optableDir + "/BasicLatin.js");
+  MathJax.Ajax.loadComplete(MML.optableDir + "/BasicLatin.js");
 
 })(MathJax.ElementJax.mml);

+ 10 - 10
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/CombDiacritMarks.js

@@ -19,17 +19,17 @@
  */
 
 (function (MML) {
-    var MO = MML.mo.OPTYPES;
-    var TEXCLASS = MML.TEXCLASS;
+  var MO = MML.mo.OPTYPES;
+  var TEXCLASS = MML.TEXCLASS;
 
-    MathJax.Hub.Insert(MML.mo.prototype, {
-        OPTABLE: {
-            postfix: {
-                '\u0311': MO.ACCENT    // combining inverted breve
-            }
-        }
-    });
+  MathJax.Hub.Insert(MML.mo.prototype, {
+    OPTABLE: {
+      postfix: {
+        '\u0311': MO.ACCENT    // combining inverted breve
+      }
+    }
+  });
 
-    MathJax.Ajax.loadComplete(MML.optableDir + "/CombDiacritMarks.js");
+  MathJax.Ajax.loadComplete(MML.optableDir + "/CombDiacritMarks.js");
 
 })(MathJax.ElementJax.mml);

+ 17 - 17
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/GeneralPunctuation.js

@@ -19,24 +19,24 @@
  */
 
 (function (MML) {
-    var MO = MML.mo.OPTYPES;
-    var TEXCLASS = MML.TEXCLASS;
+  var MO = MML.mo.OPTYPES;
+  var TEXCLASS = MML.TEXCLASS;
 
-    MathJax.Hub.Insert(MML.mo.prototype, {
-        OPTABLE: {
-            prefix: {
-                '\u2016': [0, 0, TEXCLASS.ORD, {fence: true, stretchy: true}], // double vertical line
-                '\u2018': [0, 0, TEXCLASS.OPEN, {fence: true}], // left single quotation mark
-                '\u201C': [0, 0, TEXCLASS.OPEN, {fence: true}]  // left double quotation mark
-            },
-            postfix: {
-                '\u2016': [0, 0, TEXCLASS.ORD, {fence: true, stretchy: true}], // double vertical line
-                '\u2019': [0, 0, TEXCLASS.CLOSE, {fence: true}], // right single quotation mark
-                '\u201D': [0, 0, TEXCLASS.CLOSE, {fence: true}]  // right double quotation mark
-            }
-        }
-    });
+  MathJax.Hub.Insert(MML.mo.prototype, {
+    OPTABLE: {
+      prefix: {
+        '\u2016': [0, 0, TEXCLASS.ORD, {fence: true, stretchy: true}], // double vertical line
+        '\u2018': [0, 0, TEXCLASS.OPEN, {fence: true}], // left single quotation mark
+        '\u201C': [0, 0, TEXCLASS.OPEN, {fence: true}]  // left double quotation mark
+      },
+      postfix: {
+        '\u2016': [0, 0, TEXCLASS.ORD, {fence: true, stretchy: true}], // double vertical line
+        '\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.Ajax.loadComplete(MML.optableDir + "/GeneralPunctuation.js");
 
 })(MathJax.ElementJax.mml);

+ 41 - 41
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/GeometricShapes.js

@@ -19,48 +19,48 @@
  */
 
 (function (MML) {
-    var MO = MML.mo.OPTYPES;
-    var TEXCLASS = MML.TEXCLASS;
+  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.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.Ajax.loadComplete(MML.optableDir + "/GeometricShapes.js");
 
 })(MathJax.ElementJax.mml);

+ 12 - 12
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/Latin1Supplement.js

@@ -19,19 +19,19 @@
  */
 
 (function (MML) {
-    var MO = MML.mo.OPTYPES;
-    var TEXCLASS = MML.TEXCLASS;
+  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.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.Ajax.loadComplete(MML.optableDir + "/Latin1Supplement.js");
 
 })(MathJax.ElementJax.mml);

+ 264 - 264
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/element/mml/optable/SuppMathOperators.js

@@ -19,271 +19,271 @@
  */
 
 (function (MML) {
-    var MO = MML.mo.OPTYPES;
-    var TEXCLASS = MML.TEXCLASS;
+  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.REL, // less-than or slanted equal to with slash
-                '\u2A7E': MO.REL,      // greater-than or slanted equal to
-                '\u2A7E\u0338': MO.REL, // 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.REL, // double nested less-than with slash
-                '\u2AA2': MO.REL,      // double nested greater-than
-                '\u2AA2\u0338': MO.REL, // 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.REL, // precedes above single-line equals sign with slash
-                '\u2AB0\u0338': MO.REL, // 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.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.REL, // less-than or slanted equal to with slash
+        '\u2A7E': MO.REL,      // greater-than or slanted equal to
+        '\u2A7E\u0338': MO.REL, // 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.REL, // double nested less-than with slash
+        '\u2AA2': MO.REL,      // double nested greater-than
+        '\u2AA2\u0338': MO.REL, // 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.REL, // precedes above single-line equals sign with slash
+        '\u2AB0\u0338': MO.REL, // 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.Ajax.loadComplete(MML.optableDir + "/SuppMathOperators.js");
 
 })(MathJax.ElementJax.mml);

+ 146 - 146
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/s.js

@@ -19,152 +19,152 @@
  */
 
 (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.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.Ajax.loadComplete(MATHML.entityDir + "/s.js");
 
 })(MathJax.InputJax.MathML);

+ 55 - 55
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/scr.js

@@ -19,61 +19,61 @@
  */
 
 (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.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.Ajax.loadComplete(MATHML.entityDir + "/scr.js");
 
 })(MathJax.InputJax.MathML);

+ 68 - 68
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/u.js

@@ -19,74 +19,74 @@
  */
 
 (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.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.Ajax.loadComplete(MATHML.entityDir + "/u.js");
 
 })(MathJax.InputJax.MathML);

+ 17 - 17
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/MathML/entities/y.js

@@ -19,23 +19,23 @@
  */
 
 (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.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.Ajax.loadComplete(MATHML.entityDir + "/y.js");
 
 })(MathJax.InputJax.MathML);

+ 2835 - 2863
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/input/TeX/jax.js

@@ -27,2923 +27,2895 @@
  */
 
 (function (TEX, HUB, AJAX) {
-    var MML, NBSP = "\u00A0";
-
-    var _ = function (id) {
-        return MathJax.Localization._.apply(MathJax.Localization,
-            [["TeX", id]].concat([].slice.call(arguments, 1)));
-    };
-
-    var STACK = MathJax.Object.Subclass({
-        Init: function (env, inner) {
-            this.global = {isInner: inner};
-            this.data = [STACKITEM.start(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) continue;
-                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 MML, NBSP = "\u00A0";
+
+  var _ = function (id) {
+    return MathJax.Localization._.apply(MathJax.Localization,
+        [["TeX", id]].concat([].slice.call(arguments, 1)));
+  };
+
+  var STACK = MathJax.Object.Subclass({
+    Init: function (env, inner) {
+      this.global = {isInner: inner};
+      this.data = [STACKITEM.start(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) continue;
+        if (item instanceof MML.mbase) {
+          item = STACKITEM.mml(item)
         }
-    });
-
-    var STACKITEM = STACK.Item = MathJax.Object.Subclass({
-        type: "base",
-        endError: /*_()*/ ["ExtraOpenMissingClose", "Extra open brace or missing close brace"],
-        closeError: /*_()*/ ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"],
-        rightError: /*_()*/ ["MissingLeftExtraRight", "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) {
-                if (item.linebreak) {
-                    return false
-                }
-                TEX.Error(["Misplaced", "Misplaced %1", 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("; ") + "]"
+        item.global = this.global;
+        top = (this.data.length ? this.Top().checkItem(item) : true);
+        if (top instanceof Array) {
+          this.Pop();
+          this.Push.apply(this, top)
         }
-    });
-
-    STACKITEM.start = STACKITEM.Subclass({
-        type: "start", isOpen: true,
-        Init: function (global) {
-            this.SUPER(arguments).Init.call(this);
-            this.global = global;
-        },
-        checkItem: function (item) {
-            if (item.type === "stop") {
-                return STACKITEM.mml(this.mmlData())
-            }
-            return this.SUPER(arguments).checkItem.call(this, item);
+        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",
+    endError: /*_()*/ ["ExtraOpenMissingClose", "Extra open brace or missing close brace"],
+    closeError: /*_()*/ ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"],
+    rightError: /*_()*/ ["MissingLeftExtraRight", "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) {
+        if (item.linebreak) {
+          return false
+        }
+        TEX.Error(["Misplaced", "Misplaced %1", 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,
+    Init: function (global) {
+      this.SUPER(arguments).Init.call(this);
+      this.global = global;
+    },
+    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: /*_()*/ ["ExtraOpenMissingClose", "Extra open brace or missing close brace"],
+    checkItem: function (item) {
+      if (item.type === "close") {
+        var mml = this.mmlData();
+        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.prime = STACKITEM.Subclass({
+    type: "prime",
+    checkItem: function (item) {
+      if (this.data[0].type !== "msubsup") {
+        return [MML.msup(this.data[0], this.data[1]), item]
+      }
+      this.data[0].SetData(this.data[0].sup, this.data[1]);
+      return [this.data[0], item];
+    }
+  });
+
+  STACKITEM.subsup = STACKITEM.Subclass({
+    type: "subsup",
+    stopError: /*_()*/ ["MissingScript", "Missing superscript or subscript argument"],
+    supError: /*_()*/ ["MissingOpenForSup", "Missing open brace for superscript"],
+    subError: /*_()*/ ["MissingOpenForSub", "Missing open brace for subscript"],
+    checkItem: function (item) {
+      if (item.type === "open" || item.type === "left") {
+        return true
+      }
+      if (item.type === "mml") {
+        if (this.primes) {
+          if (this.position !== 2) {
+            this.data[0].SetData(2, this.primes)
+          }
+          else {
+            item.data[0] = MML.mrow(this.primes.With({variantForm: true}), item.data[0])
+          }
+        }
+        this.data[0].SetData(this.position, item.data[0]);
+        if (this.movesupsub != null) {
+          this.data[0].movesupsub = this.movesupsub
+        }
+        return STACKITEM.mml(this.data[0]);
+      }
+      if (this.SUPER(arguments).checkItem.call(this, item)) {
+        TEX.Error(this[["", "subError", "supError"][this.position]])
+      }
+    },
+    Pop: function () {
+    }
+  });
+
+  STACKITEM.over = STACKITEM.Subclass({
+    type: "over", isClose: true, name: "\\over",
+    checkItem: function (item, stack) {
+      if (item.type === "over") {
+        TEX.Error(["AmbiguousUseOf", "Ambiguous use of %1", 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.texWithDelims = true;
+          mml = TEX.fixedFence(this.open, mml, 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: /*_()*/ ["ExtraLeftMissingRight", "Extra \\left or missing \\right"],
+    checkItem: function (item) {
+      if (item.type === "right") {
+        return STACKITEM.mml(TEX.fenced(this.delim, this.mmlData(), 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(["EnvBadEnd", "\\begin{%1} ended with \\end{%2}", this.name, 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(["EnvMissingEnd", "Missing \\end{%1}", 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(["MissingBoxFor", "Missing box for %1", 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.frame = [];
+      this.hfill = [];
+      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.frame.length === 4) {
+          mml.frame = (this.frame.dashed ? "dashed" : "solid");
+        } else if (this.frame.length) {
+          mml.hasFrame = true;
+          if (this.arraydef.rowlines) {
+            this.arraydef.rowlines = this.arraydef.rowlines.replace(/none( none)+$/, "none")
+          }
+          mml = MML.menclose(mml).With({
+            notation: this.frame.join(" "),
+            isFrame: true
+          });
+          if ((this.arraydef.columnlines || "none") != "none" ||
+              (this.arraydef.rowlines || "none") != "none") {
+            mml.padding = 0
+          } // HTML-CSS jax implements this
+        }
+        if (this.open || this.close) {
+          mml = TEX.fenced(this.open, mml, this.close)
+        }
+        mml = STACKITEM.mml(mml);
+        if (this.requireClose) {
+          if (item.type === 'close') {
+            return mml
+          }
+          TEX.Error(["MissingCloseBrace", "Missing close brace"]);
+        }
+        return [mml, item];
+      }
+      return this.SUPER(arguments).checkItem.call(this, item);
+    },
+    EndEntry: function () {
+      var mtd = MML.mtd.apply(MML, this.data);
+      if (this.hfill.length) {
+        if (this.hfill[0] === 0) mtd.columnalign = "right";
+        if (this.hfill[this.hfill.length - 1] === this.data.length)
+          mtd.columnalign = (mtd.columnalign ? "center" : "left");
+      }
+      this.row.push(mtd);
+      this.data = [];
+      this.hfill = [];
+    },
+    EndRow: function () {
+      var mtr = MML.mtr;
+      if (this.isNumbered && this.row.length === 3) {
+        this.row.unshift(this.row.pop());  // move equation number to first position
+        mtr = MML.mlabeledtr;
+      }
+      this.table.push(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.frame.push("bottom");
+          lines.pop();
+          this.arraydef.rowlines = lines.join(' ');
+        } else if (lines.length < this.table.length - 1) {
+          this.arraydef.rowlines += " none";
+        }
+      }
+      if (this.rowspacing) {
+        var rows = this.arraydef.rowspacing.split(/ /);
+        while (rows.length < this.table.length) {
+          rows.push(this.rowspacing + "em")
+        }
+        this.arraydef.rowspacing = rows.join(' ');
+      }
+    },
+    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,
+    Add: function () {
+      this.data.push.apply(this.data, arguments);
+      return this
+    }
+  });
+
+  STACKITEM.fn = STACKITEM.Subclass({
+    type: "fn",
+    checkItem: function (item) {
+      if (this.data[0]) {
+        if (item.type !== "mml" || !item.data[0]) {
+          return [this.data[0], item]
+        }
+        if (item.data[0].isa(MML.mspace)) {
+          return [this.data[0], item]
+        }
+        var mml = item.data[0];
+        if (mml.isEmbellished()) {
+          mml = mml.CoreMO()
+        }
+        if ([0, 0, 1, 1, 0, 1, 1, 0, 0, 0][mml.Get("texClass")]) {
+          return [this.data[0], item]
+        }
+        return [this.data[0], MML.mo(MML.entity("#x2061")).With({texClass: MML.TEXCLASS.NONE}), item];
+      }
+      return this.SUPER(arguments).checkItem.apply(this, arguments);
+    }
+  });
+
+  STACKITEM.not = STACKITEM.Subclass({
+    type: "not",
+    checkItem: function (item) {
+      var mml, c;
+      if (item.type === "open" || item.type === "left") {
+        return true
+      }
+      if (item.type === "mml" && item.data[0].type.match(/^(mo|mi|mtext)$/)) {
+        mml = item.data[0], c = mml.data.join("");
+        if (c.length === 1 && !mml.movesupsub) {
+          c = STACKITEM.not.remap[c.charCodeAt(0)];
+          if (c) {
+            mml.SetData(0, MML.chars(String.fromCharCode(c)))
+          }
+          else {
+            mml.Append(MML.chars("\u0338"))
+          }
+          return item;
+        }
+      }
+      //  \mathrel{\rlap{\notChar}}
+      mml = MML.mpadded(MML.mtext("\u29F8")).With({width: 0});
+      mml = MML.TeXAtom(mml).With({texClass: MML.TEXCLASS.REL});
+      return [mml, item];
+    }
+  });
+  STACKITEM.not.remap = {
+    0x2190: 0x219A, 0x2192: 0x219B, 0x2194: 0x21AE,
+    0x21D0: 0x21CD, 0x21D2: 0x21CF, 0x21D4: 0x21CE,
+    0x2208: 0x2209, 0x220B: 0x220C, 0x2223: 0x2224, 0x2225: 0x2226,
+    0x223C: 0x2241, 0x007E: 0x2241, 0x2243: 0x2244, 0x2245: 0x2247,
+    0x2248: 0x2249, 0x224D: 0x226D, 0x003D: 0x2260, 0x2261: 0x2262,
+    0x003C: 0x226E, 0x003E: 0x226F, 0x2264: 0x2270, 0x2265: 0x2271,
+    0x2272: 0x2274, 0x2273: 0x2275, 0x2276: 0x2278, 0x2277: 0x2279,
+    0x227A: 0x2280, 0x227B: 0x2281, 0x2282: 0x2284, 0x2283: 0x2285,
+    0x2286: 0x2288, 0x2287: 0x2289, 0x22A2: 0x22AC, 0x22A8: 0x22AD,
+    0x22A9: 0x22AE, 0x22AB: 0x22AF, 0x227C: 0x22E0, 0x227D: 0x22E1,
+    0x2291: 0x22E2, 0x2292: 0x22E3, 0x22B2: 0x22EA, 0x22B3: 0x22EB,
+    0x22B4: 0x22EC, 0x22B5: 0x22ED, 0x2203: 0x2204
+  };
+
+  STACKITEM.dots = STACKITEM.Subclass({
+    type: "dots",
+    checkItem: function (item) {
+      if (item.type === "open" || item.type === "left") {
+        return true
+      }
+      var dots = this.ldots;
+      if (item.type === "mml" && item.data[0].isEmbellished()) {
+        var tclass = item.data[0].CoreMO().Get("texClass");
+        if (tclass === MML.TEXCLASS.BIN || tclass === MML.TEXCLASS.REL) {
+          dots = this.cdots
+        }
+      }
+      return [dots, item];
+    }
+  });
 
-    STACKITEM.stop = STACKITEM.Subclass({
-        type: "stop", isClose: true
-    });
 
-    STACKITEM.open = STACKITEM.Subclass({
-        type: "open", isOpen: true,
-        stopError: /*_()*/ ["ExtraOpenMissingClose", "Extra open brace or missing close brace"],
-        checkItem: function (item) {
-            if (item.type === "close") {
-                var mml = this.mmlData();
-                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);
+  var TEXDEF = {
+    //
+    //  Add new definitions without overriding user-defined ones
+    //
+    Add: function (src, dst, nouser) {
+      if (!dst) {
+        dst = this
+      }
+      for (var id in src) {
+        if (src.hasOwnProperty(id)) {
+          if (typeof src[id] === 'object' && !(src[id] instanceof Array) &&
+              (typeof dst[id] === 'object' || typeof dst[id] === 'function')) {
+            this.Add(src[id], dst[id], src[id], nouser)
+          }
+          else if (!dst[id] || !dst[id].isUser || !nouser) {
+            dst[id] = src[id]
+          }
         }
-    });
+      }
+      return dst;
+    }
+  };
+  var STARTUP = function () {
+    MML = MathJax.ElementJax.mml;
+    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',
+        '\u00A0': 'Space',
+        '\u2019': 'Prime'
+      },
+
+      remap: {
+        '-': '2212',
+        '*': '2217',
+        '`': '2018'   // map ` to back quote
+      },
+
+      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', {mathvariant: MML.VARIANT.NORMAL}],
+        aleph: ['2135', {mathvariant: MML.VARIANT.NORMAL}],
+        hbar: ['210F', {variantForm: true}],
+        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, variantForm: true}],
+        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,
+          variantForm: true
+        }],
+        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', {variantForm: true}],
+        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: '29F8',
+
+
+        // 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',
+        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', "-tex-mathit"], // needs 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],
 
-    STACKITEM.close = STACKITEM.Subclass({
-        type: "close", isClose: true
-    });
+//      font:
 
-    STACKITEM.prime = STACKITEM.Subclass({
-        type: "prime",
-        checkItem: function (item) {
-            if (this.data[0].type !== "msubsup") {
-                return [MML.msup(this.data[0], this.data[1]), item]
-            }
-            this.data[0].SetData(this.data[0].sup, this.data[1]);
-            return [this.data[0], item];
-        }
-    });
+        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: ['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&thinsp;inf'],
+        limsup: ['NamedOp', 'lim&thinsp;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', '00AF'],
+        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',
+        middle: 'Middle',
+
+        llap: 'Lap',
+        rlap: 'Lap',
+        raise: 'RaiseLower',
+        lower: 'RaiseLower',
+        moveleft: 'MoveLeftRight',
+        moveright: 'MoveLeftRight',
+
+        ',': ['Spacer', MML.LENGTH.THINMATHSPACE],
+        ':': ['Spacer', MML.LENGTH.MEDIUMMATHSPACE],  // 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', "00B4"],  // or 0301 or 02CA
+        grave: ['Accent', "0060"],  // or 0300 or 02CB
+        ddot: ['Accent', "00A8"],  // or 0308
+        tilde: ['Accent', "007E"],  // or 0303 or 02DC
+        bar: ['Accent', "00AF"],  // or 0304 or 02C9
+        breve: ['Accent', "02D8"],  // or 0306
+        check: ['Accent', "02C7"],  // or 030C
+        hat: ['Accent', "005E"],  // or 0302 or 02C6
+        vec: ['Accent', "2192"],  // or 20D7
+        dot: ['Accent', "02D9"],  // or 0307
+        widetilde: ['Accent', "007E", 1], // or 0303 or 02DC
+        widehat: ['Accent', "005E", 1], // or 0302 or 02C6
+
+        matrix: 'Matrix',
+        array: 'Matrix',
+        pmatrix: ['Matrix', '(', ')'],
+        cases: ['Matrix', '{', '', "left left", null, ".1em", null, true],
+        eqalign: ['Matrix', null, null, "right left", MML.LENGTH.THICKMATHSPACE, ".5em", 'D'],
+        displaylines: ['Matrix', null, null, "center", null, ".5em", 'D'],
+        cr: 'Cr',
+        '\\': 'CrLaTeX',
+        newline: 'Cr',
+        hline: ['HLine', 'solid'],
+        hdashline: ['HLine', 'dashed'],
+//      noalign:            'HandleNoAlign',
+        eqalignno: ['Matrix', null, null, "right left", MML.LENGTH.THICKMATHSPACE, ".5em", 'D', null, "right"],
+        leqalignno: ['Matrix', null, null, "right left", MML.LENGTH.THICKMATHSPACE, ".5em", 'D', null, "left"],
+        hfill: 'HFill',
+        hfil: 'HFill',   // \hfil treated as \hfill for now
+        hfilll: 'HFill',   // \hfilll treated as \hfill for now
+
+        //  TeX substitution macros
+        bmod: ['Macro', '\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{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],
+        textsf: ['Macro', '\\mathord{\\sf\\text{#1}}', 1],
+        texttt: ['Macro', '\\mathord{\\tt\\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'],
+        ' ': ['Macro', '\\text{ }'],
+
+        //  Specially handled
+        not: 'Not',
+        dots: 'Dots',
+        space: 'Tilde',
+        '\u00A0': 'Tilde',
+
+
+        //  LaTeX
+        begin: 'BeginEnd',
+        end: 'BeginEnd',
+
+        newcommand: ['Extension', 'newcommand'],
+        renewcommand: ['Extension', 'newcommand'],
+        newenvironment: ['Extension', 'newcommand'],
+        renewenvironment: ['Extension', 'newcommand'],
+        def: ['Extension', 'newcommand'],
+        let: ['Extension', 'newcommand'],
+
+        verb: ['Extension', 'verb'],
+
+        boldsymbol: ['Extension', 'boldsymbol'],
+
+        tag: ['Extension', 'AMSmath'],
+        notag: ['Extension', 'AMSmath'],
+        label: ['Extension', 'AMSmath'],
+        ref: ['Extension', 'AMSmath'],
+        eqref: ['Extension', 'AMSmath'],
+        nonumber: ['Macro', '\\notag'],
+
+        //  Extensions to TeX
+        unicode: ['Extension', 'unicode'],
+        color: 'Color',
+
+        href: ['Extension', 'HTML'],
+        'class': ['Extension', 'HTML'],
+        style: ['Extension', 'HTML'],
+        cssId: ['Extension', 'HTML'],
+        bbox: ['Extension', 'bbox'],
+
+        mmlToken: 'MmlToken',
+
+        require: 'Require'
+
+      },
+
+      environment: {
+        array: ['AlignedArray'],
+        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, ".2em", 'T'],
+
+        equation: [null, 'Equation'],
+        'equation*': [null, 'Equation'],
+
+        eqnarray: ['ExtensionEnv', null, 'AMSmath'],
+        'eqnarray*': ['ExtensionEnv', null, 'AMSmath'],
+
+        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
 
-    STACKITEM.subsup = STACKITEM.Subclass({
-        type: "subsup",
-        stopError: /*_()*/ ["MissingScript", "Missing superscript or subscript argument"],
-        supError: /*_()*/ ["MissingOpenForSup", "Missing open brace for superscript"],
-        subError: /*_()*/ ["MissingOpenForSub", "Missing open brace for subscript"],
-        checkItem: function (item) {
-            if (item.type === "open" || item.type === "left") {
-                return true
-            }
-            if (item.type === "mml") {
-                if (this.primes) {
-                    if (this.position !== 2) {
-                        this.data[0].SetData(2, this.primes)
-                    }
-                    else {
-                        item.data[0] = MML.mrow(this.primes.With({variantForm: true}), item.data[0])
-                    }
-                }
-                this.data[0].SetData(this.position, item.data[0]);
-                if (this.movesupsub != null) {
-                    this.data[0].movesupsub = this.movesupsub
-                }
-                return STACKITEM.mml(this.data[0]);
-            }
-            if (this.SUPER(arguments).checkItem.call(this, item)) {
-                TEX.Error(this[["", "subError", "supError"][this.position]])
-            }
-        },
-        Pop: function () {
-        }
     });
 
-    STACKITEM.over = STACKITEM.Subclass({
-        type: "over", isClose: true, name: "\\over",
-        checkItem: function (item, stack) {
-            if (item.type === "over") {
-                TEX.Error(["AmbiguousUseOf", "Ambiguous use of %1", 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.texWithDelims = true;
-                    mml = TEX.fixedFence(this.open, mml, this.close);
-                }
-                return [STACKITEM.mml(mml), item];
-            }
-            return this.SUPER(arguments).checkItem.call(this, item);
-        },
-        toString: function () {
-            return "over[" + this.num + " / " + this.data.join("; ") + "]"
+    //
+    //  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])
+          }
+          TEXDEF.macros[id].isUser = true;
         }
-    });
-
-    STACKITEM.left = STACKITEM.Subclass({
-        type: "left", isOpen: true, delim: '(',
-        stopError: /*_()*/ ["ExtraLeftMissingRight", "Extra \\left or missing \\right"],
-        checkItem: function (item) {
-            if (item.type === "right") {
-                return STACKITEM.mml(TEX.fenced(this.delim, this.mmlData(), item.delim))
-            }
-            return this.SUPER(arguments).checkItem.call(this, item);
+      }
+    }
+  };
+
+  /************************************************************************/
+  /*
+   *   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, !!env);
+      this.Parse();
+      this.Push(STACKITEM.stop());
+    },
+    Parse: function () {
+      var c, n;
+      while (this.i < this.string.length) {
+        c = this.string.charAt(this.i++);
+        n = c.charCodeAt(0);
+        if (n >= 0xD800 && n < 0xDC00) {
+          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
 
-    STACKITEM.right = STACKITEM.Subclass({
-        type: "right", isClose: true, delim: ')'
-    });
+    /************************************************************************/
+    /*
+     *   Handle various token classes
+     */
 
-    STACKITEM.begin = STACKITEM.Subclass({
-        type: "begin", isOpen: true,
-        checkItem: function (item) {
-            if (item.type === "end") {
-                if (item.name !== this.name) {
-                    TEX.Error(["EnvBadEnd", "\\begin{%1} ended with \\end{%2}", this.name, 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(["EnvMissingEnd", "Missing \\end{%1}", this.name])
-            }
-            return this.SUPER(arguments).checkItem.call(this, item);
+    /*
+     *  Lookup a control-sequence and process it
+     */
+    ControlSequence: function (c) {
+      var name = this.GetCS(), macro = this.csFindMacro(name);
+      if (macro) {
+        if (!(macro instanceof Array)) {
+          macro = [macro]
         }
-    });
+        var fn = macro[0];
+        if (!(fn instanceof Function)) {
+          fn = this[fn]
+        }
+        fn.apply(this, [c + name].concat(macro.slice(1)));
+      } else if (TEXDEF.mathchar0mi[name]) {
+        this.csMathchar0mi(name, TEXDEF.mathchar0mi[name])
+      }
+      else if (TEXDEF.mathchar0mo[name]) {
+        this.csMathchar0mo(name, TEXDEF.mathchar0mo[name])
+      }
+      else if (TEXDEF.mathchar7[name]) {
+        this.csMathchar7(name, TEXDEF.mathchar7[name])
+      }
+      else if (TEXDEF.delimiter["\\" + name] != null) {
+        this.csDelimiter(name, TEXDEF.delimiter["\\" + name])
+      }
+      else {
+        this.csUndefined(c + name)
+      }
+    },
+    //
+    //  Look up a macro in the macros list
+    //  (overridden in begingroup extension)
+    //
+    csFindMacro: function (name) {
+      return TEXDEF.macros[name]
+    },
+    //
+    //  Handle normal mathchar (as an mi)
+    //
+    csMathchar0mi: function (name, mchar) {
+      var 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)));
+    },
+    //
+    //  Handle normal mathchar (as an mo)
+    //
+    csMathchar0mo: function (name, mchar) {
+      var 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)));
+    },
+    //
+    //  Handle mathchar in current family
+    //
+    csMathchar7: function (name, mchar) {
+      var 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)));
+    },
+    //
+    //  Handle delimiter
+    //
+    csDelimiter: function (name, delim) {
+      var 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)));
+    },
+    //
+    //  Handle undefined control sequence
+    //  (overridden in noUndefined extension)
+    //
+    csUndefined: function (name) {
+      TEX.Error(["UndefinedControlSequence", "Undefined control sequence %1", name]);
+    },
 
-    STACKITEM.end = STACKITEM.Subclass({
-        type: "end", isClose: true
-    });
+    /*
+     *  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)));
+    },
 
-    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];
-        }
-    });
+    /*
+     *  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));
+    },
 
-    STACKITEM.position = STACKITEM.Subclass({
-        type: "position",
-        checkItem: function (item) {
-            if (item.isClose) {
-                TEX.Error(["MissingBoxFor", "Missing box for %1", 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);
-        }
-    });
+    /*
+     *  Handle { and }
+     */
+    Open: function (c) {
+      this.Push(STACKITEM.open())
+    },
+    Close: function (c) {
+      this.Push(STACKITEM.close())
+    },
 
-    STACKITEM.array = STACKITEM.Subclass({
-        type: "array", isOpen: true, arraydef: {},
-        Init: function () {
-            this.table = [];
-            this.row = [];
-            this.env = {};
-            this.frame = [];
-            this.hfill = [];
-            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.frame.length === 4) {
-                    mml.frame = (this.frame.dashed ? "dashed" : "solid");
-                } else if (this.frame.length) {
-                    mml.hasFrame = true;
-                    if (this.arraydef.rowlines) {
-                        this.arraydef.rowlines = this.arraydef.rowlines.replace(/none( none)+$/, "none")
-                    }
-                    mml = MML.menclose(mml).With({
-                        notation: this.frame.join(" "),
-                        isFrame: true
-                    });
-                    if ((this.arraydef.columnlines || "none") != "none" ||
-                        (this.arraydef.rowlines || "none") != "none") {
-                        mml.padding = 0
-                    } // HTML-CSS jax implements this
-                }
-                if (this.open || this.close) {
-                    mml = TEX.fenced(this.open, mml, this.close)
-                }
-                mml = STACKITEM.mml(mml);
-                if (this.requireClose) {
-                    if (item.type === 'close') {
-                        return mml
-                    }
-                    TEX.Error(["MissingCloseBrace", "Missing close brace"]);
-                }
-                return [mml, item];
-            }
-            return this.SUPER(arguments).checkItem.call(this, item);
-        },
-        EndEntry: function () {
-            var mtd = MML.mtd.apply(MML, this.data);
-            if (this.hfill.length) {
-                if (this.hfill[0] === 0) mtd.columnalign = "right";
-                if (this.hfill[this.hfill.length - 1] === this.data.length)
-                    mtd.columnalign = (mtd.columnalign ? "center" : "left");
-            }
-            this.row.push(mtd);
-            this.data = [];
-            this.hfill = [];
-        },
-        EndRow: function () {
-            var mtr = MML.mtr;
-            if (this.isNumbered && this.row.length === 3) {
-                this.row.unshift(this.row.pop());  // move equation number to first position
-                mtr = MML.mlabeledtr;
-            }
-            this.table.push(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.frame.push("bottom");
-                    lines.pop();
-                    this.arraydef.rowlines = lines.join(' ');
-                } else if (lines.length < this.table.length - 1) {
-                    this.arraydef.rowlines += " none";
-                }
-            }
-            if (this.rowspacing) {
-                var rows = this.arraydef.rowspacing.split(/ /);
-                while (rows.length < this.table.length) {
-                    rows.push(this.rowspacing + "em")
-                }
-                this.arraydef.rowspacing = rows.join(' ');
-            }
-        },
-        clearEnv: function () {
-            for (var id in this.env) {
-                if (this.env.hasOwnProperty(id)) {
-                    delete this.env[id]
-                }
-            }
+    /*
+     *  Handle tilde and spaces
+     */
+    Tilde: function (c) {
+      this.Push(MML.mtext(MML.chars(NBSP)))
+    },
+    Space: function (c) {
+    },
+
+    /*
+     *  Handle ^, _, and '
+     */
+    Superscript: function (c) {
+      if (this.GetNext().match(/\d/)) // don't treat numbers as a unit
+      {
+        this.string = this.string.substr(0, this.i + 1) + " " + this.string.substr(this.i + 1)
+      }
+      var primes, base, top = this.stack.Top();
+      if (top.type === "prime") {
+        base = top.data[0];
+        primes = top.data[1];
+        this.stack.Pop()
+      }
+      else {
+        base = this.stack.Prev();
+        if (!base) {
+          base = MML.mi("")
         }
-    });
+      }
+      if (base.isEmbellishedWrapper) {
+        base = base.data[0].data[0]
+      }
+      var movesupsub = base.movesupsub, position = base.sup;
+      if ((base.type === "msubsup" && base.data[base.sup]) ||
+          (base.type === "munderover" && base.data[base.over] && !base.subsupOK)) {
+        TEX.Error(["DoubleExponent", "Double exponent: use braces to clarify"])
+      }
+      if (base.type !== "msubsup") {
+        if (movesupsub) {
+          if (base.type !== "munderover" || base.data[base.over]) {
+            if (base.movablelimits && base.isa(MML.mi)) {
+              base = this.mi2mo(base)
+            }
+            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, primes: primes, movesupsub: movesupsub
+      }));
+    },
+    Subscript: function (c) {
+      if (this.GetNext().match(/\d/)) // don't treat numbers as a unit
+      {
+        this.string = this.string.substr(0, this.i + 1) + " " + this.string.substr(this.i + 1)
+      }
+      var primes, base, top = this.stack.Top();
+      if (top.type === "prime") {
+        base = top.data[0];
+        primes = top.data[1];
+        this.stack.Pop()
+      }
+      else {
+        base = this.stack.Prev();
+        if (!base) {
+          base = MML.mi("")
+        }
+      }
+      if (base.isEmbellishedWrapper) {
+        base = base.data[0].data[0]
+      }
+      var movesupsub = base.movesupsub, position = base.sub;
+      if ((base.type === "msubsup" && base.data[base.sub]) ||
+          (base.type === "munderover" && base.data[base.under] && !base.subsupOK)) {
+        TEX.Error(["DoubleSubscripts", "Double subscripts: use braces to clarify"])
+      }
+      if (base.type !== "msubsup") {
+        if (movesupsub) {
+          if (base.type !== "munderover" || base.data[base.under]) {
+            if (base.movablelimits && base.isa(MML.mi)) {
+              base = this.mi2mo(base)
+            }
+            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, primes: primes, movesupsub: movesupsub
+      }));
+    },
+    PRIME: "\u2032", SMARTQUOTE: "\u2019",
+    Prime: function (c) {
+      var base = this.stack.Prev();
+      if (!base) {
+        base = MML.mi()
+      }
+      if (base.type === "msubsup" && base.data[base.sup]) {
+        TEX.Error(["DoubleExponentPrime",
+          "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 = ["", "\u2032", "\u2033", "\u2034", "\u2057"][sup.length] || sup;
+      this.Push(STACKITEM.prime(base, this.mmlToken(MML.mo(sup))));
+    },
+    mi2mo: function (mi) {
+      var mo = MML.mo();
+      mo.Append.apply(mo, mi.data);
+      var id;
+      for (id in mo.defaults) {
+        if (mo.defaults.hasOwnProperty(id) && mi[id] != null) {
+          mo[id] = mi[id]
+        }
+      }
+      for (id in MML.copyAttributes) {
+        if (MML.copyAttributes.hasOwnProperty(id) && mi[id] != null) {
+          mo[id] = mi[id]
+        }
+      }
+      return mo;
+    },
 
-    STACKITEM.cell = STACKITEM.Subclass({
-        type: "cell", isClose: true
-    });
+    /*
+     *  Handle comments
+     */
+    Comment: function (c) {
+      while (this.i < this.string.length && this.string.charAt(this.i) != "\n") {
+        this.i++
+      }
+    },
 
-    STACKITEM.mml = STACKITEM.Subclass({
-        type: "mml", isNotStack: true,
-        Add: function () {
-            this.data.push.apply(this.data, arguments);
-            return this
-        }
-    });
+    /*
+     *  Handle hash marks outside of definitions
+     */
+    Hash: function (c) {
+      TEX.Error(["CantUseHash1",
+        "You can't use 'macro parameter character #' in math mode"]);
+    },
 
-    STACKITEM.fn = STACKITEM.Subclass({
-        type: "fn",
-        checkItem: function (item) {
-            if (this.data[0]) {
-                if (item.type !== "mml" || !item.data[0]) {
-                    return [this.data[0], item]
-                }
-                if (item.data[0].isa(MML.mspace)) {
-                    return [this.data[0], item]
-                }
-                var mml = item.data[0];
-                if (mml.isEmbellished()) {
-                    mml = mml.CoreMO()
-                }
-                if ([0, 0, 1, 1, 0, 1, 1, 0, 0, 0][mml.Get("texClass")]) {
-                    return [this.data[0], item]
-                }
-                return [this.data[0], MML.mo(MML.entity("#x2061")).With({texClass: MML.TEXCLASS.NONE}), item];
-            }
-            return this.SUPER(arguments).checkItem.apply(this, arguments);
+    /*
+     *  Handle other characters (as <mo> elements)
+     */
+    Other: function (c) {
+      var def, 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)).With(def);
+      } else {
+        mo = MML.mo(c).With(def);
+      }
+      if (mo.autoDefault("stretchy", true)) {
+        mo.stretchy = false
+      }
+      if (mo.autoDefault("texClass", true) == "") {
+        mo = MML.TeXAtom(mo)
+      }
+      this.Push(this.mmlToken(mo));
+    },
 
-    STACKITEM.not = STACKITEM.Subclass({
-        type: "not",
-        checkItem: function (item) {
-            var mml, c;
-            if (item.type === "open" || item.type === "left") {
-                return true
-            }
-            if (item.type === "mml" && item.data[0].type.match(/^(mo|mi|mtext)$/)) {
-                mml = item.data[0], c = mml.data.join("");
-                if (c.length === 1 && !mml.movesupsub) {
-                    c = STACKITEM.not.remap[c.charCodeAt(0)];
-                    if (c) {
-                        mml.SetData(0, MML.chars(String.fromCharCode(c)))
-                    }
-                    else {
-                        mml.Append(MML.chars("\u0338"))
-                    }
-                    return item;
-                }
-            }
-            //  \mathrel{\rlap{\notChar}}
-            mml = MML.mpadded(MML.mtext("\u29F8")).With({width: 0});
-            mml = MML.TeXAtom(mml).With({texClass: MML.TEXCLASS.REL});
-            return [mml, item];
+    /************************************************************************/
+    /*
+     *   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
         }
-    });
-    STACKITEM.not.remap = {
-        0x2190: 0x219A, 0x2192: 0x219B, 0x2194: 0x21AE,
-        0x21D0: 0x21CD, 0x21D2: 0x21CF, 0x21D4: 0x21CE,
-        0x2208: 0x2209, 0x220B: 0x220C, 0x2223: 0x2224, 0x2225: 0x2226,
-        0x223C: 0x2241, 0x007E: 0x2241, 0x2243: 0x2244, 0x2245: 0x2247,
-        0x2248: 0x2249, 0x224D: 0x226D, 0x003D: 0x2260, 0x2261: 0x2262,
-        0x003C: 0x226E, 0x003E: 0x226F, 0x2264: 0x2270, 0x2265: 0x2271,
-        0x2272: 0x2274, 0x2273: 0x2275, 0x2276: 0x2278, 0x2277: 0x2279,
-        0x227A: 0x2280, 0x227B: 0x2281, 0x2282: 0x2284, 0x2283: 0x2285,
-        0x2286: 0x2288, 0x2287: 0x2289, 0x22A2: 0x22AC, 0x22A8: 0x22AD,
-        0x22A9: 0x22AE, 0x22AB: 0x22AF, 0x227C: 0x22E0, 0x227D: 0x22E1,
-        0x2291: 0x22E2, 0x2292: 0x22E3, 0x22B2: 0x22EA, 0x22B3: 0x22EB,
-        0x22B4: 0x22EC, 0x22B5: 0x22ED, 0x2203: 0x2204
-    };
-
-    STACKITEM.dots = STACKITEM.Subclass({
-        type: "dots",
-        checkItem: function (item) {
-            if (item.type === "open" || item.type === "left") {
-                return true
-            }
-            var dots = this.ldots;
-            if (item.type === "mml" && item.data[0].isEmbellished()) {
-                var tclass = item.data[0].CoreMO().Get("texClass");
-                if (tclass === MML.TEXCLASS.BIN || tclass === MML.TEXCLASS.REL) {
-                    dots = this.cdots
-                }
+      }));
+    },
+    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: 0
+      }));
+    },
+
+    LeftRight: function (name) {
+      this.Push(STACKITEM[name.substr(1)]().With({delim: this.GetDelimiter(name)}));
+    },
+
+    Middle: function (name) {
+      var delim = this.GetDelimiter(name);
+      if (this.stack.Top().type !== "left") {
+        TEX.Error(["MisplacedMiddle", "%1 must be within \\left and \\right", name])
+      }
+      this.Push(MML.mo(delim).With({stretchy: true}));
+    },
+
+    NamedFn: function (name, id) {
+      if (!id) {
+        id = name.substr(1)
+      }
+      ;
+      var mml = MML.mi(id).With({texClass: MML.TEXCLASS.OP});
+      this.Push(STACKITEM.fn(this.mmlToken(mml)));
+    },
+    NamedOp: function (name, id) {
+      if (!id) {
+        id = name.substr(1)
+      }
+      ;
+      id = id.replace(/&thinsp;/, "\u2006");
+      var mml = MML.mo(id).With({
+        movablelimits: true,
+        movesupsub: true,
+        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 || (op.Get("texClass") !== MML.TEXCLASS.OP && op.movesupsub == null)) {
+        TEX.Error(["MisplacedLimits", "%1 is allowed only on operators", name])
+      }
+      var top = this.stack.Top();
+      if (op.type === "munderover" && !limits) {
+        op = top.data[top.data.length - 1] = MML.msubsup.apply(MML.subsup, op.data);
+      } else if (op.type === "msubsup" && limits) {
+        op = top.data[top.data.length - 1] = MML.munderover.apply(MML.underover, op.data);
+      }
+      op.movesupsub = (limits ? true : false);
+      op.Core().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), arg = this.GetArgument(name);
+      if (arg === "\\frac") {
+        arg += "{" + this.GetArgument(arg) + "}{" + this.GetArgument(arg) + "}"
+      }
+      var mml = TEX.Parse(arg, this.stack.env).mml();
+      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(["MisplacedMoveRoot", "%1 can appear only within a root", name])
+      }
+      if (this.stack.global[id]) {
+        TEX.Error(["MultipleMoveRoot", "Multiple use of %1", name])
+      }
+      var n = this.GetArgument(name);
+      if (!n.match(/-?[0-9]+/)) {
+        TEX.Error(["IntegerArg", "The argument to %1 must be an integer", name])
+      }
+      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.TeXAtom(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
+      }
+      if (base.isa(MML.munderover) && base.isEmbellished()) {
+        base.Core().With({lspace: 0, rspace: 0}); // get spacing right for NativeMML
+        base = MML.mrow(MML.mo().With({rspace: 0}), base);  // add an empty <mi> so it's not embellished any more
+      }
+      var mml = MML.munderover(base, null, null);
+      mml.SetData(
+          mml[pos],
+          this.mmlToken(MML.mo(MML.entity("#x" + c)).With({
+            stretchy: true,
+            accent: (pos === "under")
+          }))
+      );
+      if (stack) {
+        mml = MML.TeXAtom(mml).With({
+          texClass: MML.TEXCLASS.OP,
+          movesupsub: true
+        })
+      }
+      this.Push(mml.With({subsupOK: true}));
+    },
+
+    Overset: function (name) {
+      var top = this.ParseArg(name), base = this.ParseArg(name);
+      this.Push(MML.mover(base, top));
+    },
+    Underset: function (name) {
+      var bot = this.ParseArg(name), base = this.ParseArg(name);
+      this.Push(MML.munder(base, bot));
+    },
+
+    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) {
+          def.mathvariant = MML.VARIANT.NORMAL;
+          mml = STACKITEM.fn(this.mmlToken(MML.mi(match[1]).With(def)));
+        } else {
+          mml = STACKITEM.fn(MML.TeXAtom(TEX.Parse(arg, this.stack.env).mml()).With(def));
+        }
+      } else {
+        mml = MML.TeXAtom(this.ParseArg(name)).With(def)
+      }
+      this.Push(mml);
+    },
+
+    MmlToken: function (name) {
+      var type = this.GetArgument(name),
+          attr = this.GetBrackets(name, "").replace(/^\s+/, ""),
+          data = this.GetArgument(name),
+          def = {attrNames: []}, match;
+      if (!MML[type] || !MML[type].prototype.isToken) {
+        TEX.Error(["NotMathMLToken", "%1 is not a token element", type])
+      }
+      while (attr !== "") {
+        match = attr.match(/^([a-z]+)\s*=\s*('[^']*'|"[^"]*"|[^ ,]*)\s*,?\s*/i);
+        if (!match) {
+          TEX.Error(["InvalidMathMLAttr", "Invalid MathML attribute: %1", attr])
+        }
+        if (MML[type].prototype.defaults[match[1]] == null && !this.MmlTokenAllow[match[1]]) {
+          TEX.Error(["UnknownAttrForElement",
+            "%1 is not a recognized attribute for %2",
+            match[1], type]);
+        }
+        var value = this.MmlFilterAttribute(match[1], match[2].replace(/^(['"])(.*)\1$/, "$2"));
+        if (value) {
+          if (value.toLowerCase() === "true") {
+            value = true
+          }
+          else if (value.toLowerCase() === "false") {
+            value = false
+          }
+          def[match[1]] = value;
+          def.attrNames.push(match[1]);
+        }
+        attr = attr.substr(match[0].length);
+      }
+      this.Push(this.mmlToken(MML[type](data).With(def)));
+    },
+    MmlFilterAttribute: function (name, value) {
+      return value
+    },
+    MmlTokenAllow: {
+      fontfamily: 1, fontsize: 1, fontweight: 1, fontstyle: 1,
+      color: 1, background: 1,
+      id: 1, "class": 1, href: 1, style: 1
+    },
+
+    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(MML.TeXAtom(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(MML.TeXAtom(smash));
+    },
+
+    Lap: function (name) {
+      var mml = MML.mpadded(this.ParseArg(name)).With({width: 0});
+      if (name === "\\llap") {
+        mml.lspace = "-1width"
+      }
+      this.Push(MML.TeXAtom(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}),
+        right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL})
+      }));
+    },
+
+    Hskip: function (name) {
+      this.Push(MML.mspace().With({
+        width: this.GetDimen(name),
+        mathsize: MML.SIZE.NORMAL
+      }));
+    },
+
+    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') {
+        if (parseFloat(w) && parseFloat(h) + parseFloat(d)) {
+          def.mathbackground = (this.stack.env.color || "black")
+        }
+        mml = MML.mpadded(MML.mrow()).With(def);
+      } 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, true);
+      this.Push(MML.TeXAtom(MML.mo(delim).With({
+        minsize: size, maxsize: size,
+        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({texClass: 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"}));
+    },
+
+    Not: function (name) {
+      this.Push(STACKITEM.not());
+    },
+
+    Dots: function (name) {
+      this.Push(STACKITEM.dots().With({
+        ldots: this.mmlToken(MML.mo(MML.entity("#x2026")).With({stretchy: false})),
+        cdots: this.mmlToken(MML.mo(MML.entity("#x22EF")).With({stretchy: false}))
+      }));
+    },
+
+    Require: function (name) {
+      var file = this.GetArgument(name)
+          .replace(/.*\//, "")            // remove any leading path
+          .replace(/[^a-z0-9_.-]/ig, ""); // remove illegal characters
+      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 (!AJAX.loaded[AJAX.fileURL(file)]) {
+        if (name != null) {
+          delete TEXDEF[array || 'macros'][name.replace(/^\\/, "")]
+        }
+        HUB.RestartAfter(AJAX.Require(file));
+      }
+    },
+
+    Macro: function (name, macro, argcount, def) {
+      if (argcount) {
+        var args = [];
+        if (def != null) {
+          var optional = this.GetBrackets(name);
+          args.push(optional == null ? def : optional);
+        }
+        for (var i = args.length; 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(["MaxMacroSub1",
+          "MathJax maximum macro substitution count exceeded; " +
+          "is there a recursive macro call?"]);
+      }
+    },
+
+    Matrix: function (name, open, close, align, spacing, vspacing, style, cases, numbered) {
+      var c = this.GetNext();
+      if (c === "") {
+        TEX.Error(["MissingArgFor", "Missing argument for %1", 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 (cases) {
+        array.isCases = true
+      }
+      if (numbered) {
+        array.isNumbered = true;
+        array.arraydef.side = numbered
+      }
+      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}));
+      if (this.stack.Top().isCases) {
+        var string = this.string;
+        var braces = 0, i = this.i, m = string.length;
+        while (i < m) {
+          var c = string.charAt(i);
+          if (c === "{") {
+            braces++;
+            i++
+          }
+          else if (c === "}") {
+            if (braces === 0) {
+              m = 0
+            } else {
+              braces--;
+              i++
+            }
+          }
+          else if (c === "&" && braces === 0) {
+            TEX.Error(["ExtraAlignTab", "Extra alignment tab in \\cases text"]);
+          } else if (c === "\\") {
+            if (string.substr(i).match(/^((\\cr)[^a-zA-Z]|\\\\)/)) {
+              m = 0
+            } else {
+              i += 2
             }
-            return [dots, item];
+          } else {
+            i++
+          }
         }
-    });
+        var text = string.substr(this.i, i - this.i);
+        if (!text.match(/^\s*\\text[^a-zA-Z]/)) {
+          this.Push.apply(this, this.InternalMath(text, 0));
+          this.i = i;
+        }
+      }
+    },
+
+    Cr: function (name) {
+      this.Push(STACKITEM.cell().With({isCR: true, name: name}));
+    },
+
+    CrLaTeX: function (name) {
+      var n;
+      if (this.string.charAt(this.i) === "[") {
+        n = this.GetBrackets(name, "").replace(/ /g, "").replace(/,/, ".");
+        if (n && !this.matchDimen(n)) {
+          TEX.Error(["BracketMustBeDimension",
+            "Bracket argument to %1 must be a dimension", name]);
+        }
+      }
+      this.Push(STACKITEM.cell().With({
+        isCR: true,
+        name: name,
+        linebreak: true
+      }));
+      var top = this.stack.Top();
+      if (top.isa(STACKITEM.array)) {
+        if (n && top.arraydef.rowspacing) {
+          var rows = top.arraydef.rowspacing.split(/ /);
+          if (!top.rowspacing) {
+            top.rowspacing = this.dimen2em(rows[0])
+          }
+          while (rows.length < top.table.length) {
+            rows.push(this.Em(top.rowspacing))
+          }
+          rows[top.table.length - 1] = this.Em(Math.max(0, top.rowspacing + this.dimen2em(n)));
+          top.arraydef.rowspacing = rows.join(' ');
+        }
+      } else {
+        if (n) {
+          this.Push(MML.mspace().With({depth: n}))
+        }
+        this.Push(MML.mspace().With({linebreak: MML.LINEBREAK.NEWLINE}));
+      }
+    },
+    emPerInch: 7.2,
+    pxPerInch: 72,
+    matchDimen: function (dim) {
+      return dim.match(/^(-?(?:\.\d+|\d+(?:\.\d*)?))(px|pt|em|ex|mu|pc|in|mm|cm)$/);
+    },
+    dimen2em: function (dim) {
+      var match = this.matchDimen(dim);
+      var m = parseFloat(match[1] || "1"), unit = match[2];
+      if (unit === "em") {
+        return m
+      }
+      if (unit === "ex") {
+        return m * .43
+      }
+      if (unit === "pt") {
+        return m / 10
+      }                    // 10 pt to an em
+      if (unit === "pc") {
+        return m * 1.2
+      }                   // 12 pt to a pc
+      if (unit === "px") {
+        return m * this.emPerInch / this.pxPerInch
+      }
+      if (unit === "in") {
+        return m * this.emPerInch
+      }
+      if (unit === "cm") {
+        return m * this.emPerInch / 2.54
+      } // 2.54 cm to an inch
+      if (unit === "mm") {
+        return m * this.emPerInch / 25.4
+      } // 10 mm to a cm
+      if (unit === "mu") {
+        return m / 18
+      }
+      return 0;
+    },
+    Em: function (m) {
+      if (Math.abs(m) < .0006) {
+        return "0em"
+      }
+      return m.toFixed(3).replace(/\.?0+$/, "") + "em";
+    },
+
+    HLine: function (name, style) {
+      if (style == null) {
+        style = "solid"
+      }
+      var top = this.stack.Top();
+      if (!top.isa(STACKITEM.array) || top.data.length) {
+        TEX.Error(["Misplaced", "Misplaced %1", name])
+      }
+      if (top.table.length == 0) {
+        top.frame.push("top");
+      } 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(' ');
+      }
+    },
 
+    HFill: function (name) {
+      var top = this.stack.Top();
+      if (top.isa(STACKITEM.array)) top.hfill.push(top.data.length);
+      else TEX.Error(["UnsupportedHFill", "Unsupported use of %1", name]);
+    },
 
-    var TEXDEF = {
-        //
-        //  Add new definitions without overriding user-defined ones
-        //
-        Add: function (src, dst, nouser) {
-            if (!dst) {
-                dst = this
-            }
-            for (var id in src) {
-                if (src.hasOwnProperty(id)) {
-                    if (typeof src[id] === 'object' && !(src[id] instanceof Array) &&
-                        (typeof dst[id] === 'object' || typeof dst[id] === 'function')) {
-                        this.Add(src[id], dst[id], src[id], nouser)
-                    }
-                    else if (!dst[id] || !dst[id].isUser || !nouser) {
-                        dst[id] = src[id]
-                    }
-                }
-            }
-            return dst;
-        }
-    };
-    var STARTUP = function () {
-        MML = MathJax.ElementJax.mml;
-        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',
-                '\u00A0': 'Space',
-                '\u2019': 'Prime'
-            },
-
-            remap: {
-                '-': '2212',
-                '*': '2217',
-                '`': '2018'   // map ` to back quote
-            },
-
-            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', {mathvariant: MML.VARIANT.NORMAL}],
-                aleph: ['2135', {mathvariant: MML.VARIANT.NORMAL}],
-                hbar: ['210F', {variantForm: true}],
-                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,
-                    variantForm: true
-                }],
-                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,
-                    variantForm: true
-                }],
-                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', {variantForm: true}],
-                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: '29F8',
-
-
-                // 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',
-                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', "-tex-mathit"], // needs 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:
+    /************************************************************************/
+    /*
+     *   LaTeX environments
+     */
 
-                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: ['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&thinsp;inf'],
-                limsup: ['NamedOp', 'lim&thinsp;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', '00AF'],
-                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',
-                middle: 'Middle',
-
-                llap: 'Lap',
-                rlap: 'Lap',
-                raise: 'RaiseLower',
-                lower: 'RaiseLower',
-                moveleft: 'MoveLeftRight',
-                moveright: 'MoveLeftRight',
-
-                ',': ['Spacer', MML.LENGTH.THINMATHSPACE],
-                ':': ['Spacer', MML.LENGTH.MEDIUMMATHSPACE],  // 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', "00B4"],  // or 0301 or 02CA
-                grave: ['Accent', "0060"],  // or 0300 or 02CB
-                ddot: ['Accent', "00A8"],  // or 0308
-                tilde: ['Accent', "007E"],  // or 0303 or 02DC
-                bar: ['Accent', "00AF"],  // or 0304 or 02C9
-                breve: ['Accent', "02D8"],  // or 0306
-                check: ['Accent', "02C7"],  // or 030C
-                hat: ['Accent', "005E"],  // or 0302 or 02C6
-                vec: ['Accent', "2192"],  // or 20D7
-                dot: ['Accent', "02D9"],  // or 0307
-                widetilde: ['Accent', "007E", 1], // or 0303 or 02DC
-                widehat: ['Accent', "005E", 1], // or 0302 or 02C6
-
-                matrix: 'Matrix',
-                array: 'Matrix',
-                pmatrix: ['Matrix', '(', ')'],
-                cases: ['Matrix', '{', '', "left left", null, ".1em", null, true],
-                eqalign: ['Matrix', null, null, "right left", MML.LENGTH.THICKMATHSPACE, ".5em", 'D'],
-                displaylines: ['Matrix', null, null, "center", null, ".5em", 'D'],
-                cr: 'Cr',
-                '\\': 'CrLaTeX',
-                newline: 'Cr',
-                hline: ['HLine', 'solid'],
-                hdashline: ['HLine', 'dashed'],
-//      noalign:            'HandleNoAlign',
-                eqalignno: ['Matrix', null, null, "right left", MML.LENGTH.THICKMATHSPACE, ".5em", 'D', null, "right"],
-                leqalignno: ['Matrix', null, null, "right left", MML.LENGTH.THICKMATHSPACE, ".5em", 'D', null, "left"],
-                hfill: 'HFill',
-                hfil: 'HFill',   // \hfil treated as \hfill for now
-                hfilll: 'HFill',   // \hfilll treated as \hfill for now
-
-                //  TeX substitution macros
-                bmod: ['Macro', '\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{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],
-                textsf: ['Macro', '\\mathord{\\sf\\text{#1}}', 1],
-                texttt: ['Macro', '\\mathord{\\tt\\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'],
-                ' ': ['Macro', '\\text{ }'],
-
-                //  Specially handled
-                not: 'Not',
-                dots: 'Dots',
-                space: 'Tilde',
-                '\u00A0': 'Tilde',
-
-
-                //  LaTeX
-                begin: 'BeginEnd',
-                end: 'BeginEnd',
-
-                newcommand: ['Extension', 'newcommand'],
-                renewcommand: ['Extension', 'newcommand'],
-                newenvironment: ['Extension', 'newcommand'],
-                renewenvironment: ['Extension', 'newcommand'],
-                def: ['Extension', 'newcommand'],
-                let: ['Extension', 'newcommand'],
-
-                verb: ['Extension', 'verb'],
-
-                boldsymbol: ['Extension', 'boldsymbol'],
-
-                tag: ['Extension', 'AMSmath'],
-                notag: ['Extension', 'AMSmath'],
-                label: ['Extension', 'AMSmath'],
-                ref: ['Extension', 'AMSmath'],
-                eqref: ['Extension', 'AMSmath'],
-                nonumber: ['Macro', '\\notag'],
-
-                //  Extensions to TeX
-                unicode: ['Extension', 'unicode'],
-                color: 'Color',
-
-                href: ['Extension', 'HTML'],
-                'class': ['Extension', 'HTML'],
-                style: ['Extension', 'HTML'],
-                cssId: ['Extension', 'HTML'],
-                bbox: ['Extension', 'bbox'],
-
-                mmlToken: 'MmlToken',
-
-                require: 'Require'
-
-            },
-
-            environment: {
-                array: ['AlignedArray'],
-                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, ".2em", 'T'],
-
-                equation: [null, 'Equation'],
-                'equation*': [null, 'Equation'],
-
-                eqnarray: ['ExtensionEnv', null, 'AMSmath'],
-                'eqnarray*': ['ExtensionEnv', null, 'AMSmath'],
-
-                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])
-                    }
-                    TEXDEF.macros[id].isUser = true;
-                }
-            }
+    BeginEnd: function (name) {
+      var env = this.GetArgument(name), isEnd = false;
+      if (env.match(/^\\end\\/)) {
+        isEnd = true;
+        env = env.substr(5)
+      } // special \end{} for \newenvironment environments
+      if (env.match(/\\/i)) {
+        TEX.Error(["InvalidEnv", "Invalid environment name '%1'", env])
+      }
+      var cmd = this.envFindName(env);
+      if (!cmd) {
+        TEX.Error(["UnknownEnv", "Unknown environment '%1'", env])
+      }
+      if (!(cmd instanceof Array)) {
+        cmd = [cmd]
+      }
+      var end = (cmd[1] instanceof Array ? cmd[1][0] : cmd[1]);
+      var mml = STACKITEM.begin().With({name: env, end: end, parse: this});
+      if (name === "\\end") {
+        if (!isEnd && cmd[1] instanceof Array && this[cmd[1][1]]) {
+          mml = this[cmd[1][1]].apply(this, [mml].concat(cmd.slice(2)));
+        } else {
+          mml = STACKITEM.end().With({name: env});
+        }
+      } else {
+        if (++this.macroCount > TEX.config.MAXMACROS) {
+          TEX.Error(["MaxMacroSub2",
+            "MathJax maximum substitution count exceeded; " +
+            "is there a recursive latex environment?"]);
+        }
+        if (cmd[0] && this[cmd[0]]) {
+          mml = this[cmd[0]].apply(this, [mml].concat(cmd.slice(2)))
         }
-    };
+      }
+      this.Push(mml);
+    },
+    envFindName: function (name) {
+      return TEXDEF.environment[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(/[|:]/)) {
+        if (lines.charAt(0).match(/[|:]/)) {
+          array.frame.push("left");
+          array.frame.dashed = lines.charAt(0) === ":"
+        }
+        if (lines.charAt(lines.length - 1).match(/[|:]/)) {
+          array.frame.push("right")
+        }
+        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
+      }
+      else if (style) {
+        array.arraydef.displaystyle = false
+      }
+      if (style === "S") {
+        array.arraydef.scriptlevel = 1
+      } // FIXME: should use mstyle?
+      if (raggedHeight) {
+        array.arraydef.useHeight = false
+      }
+      this.Push(begin);
+      return array;
+    },
+
+    AlignedArray: function (begin) {
+      var align = this.GetBrackets("\\begin{" + begin.name + "}");
+      return this.setArrayAlign(this.Array.apply(this, arguments), align);
+    },
+    setArrayAlign: function (array, align) {
+      align = this.trimSpaces(align || "");
+      if (align === "t") {
+        array.arraydef.align = "baseline 1"
+      }
+      else if (align === "b") {
+        array.arraydef.align = "baseline -1"
+      }
+      else if (align === "c") {
+        array.arraydef.align = "center"
+      }
+      else if (align) {
+        array.arraydef.align = align
+      } // FIXME: should be an error?
+      return array;
+    },
 
     /************************************************************************/
     /*
-     *   The TeX Parser
+     *   String handling routines
      */
 
-    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, !!env);
-            this.Parse();
-            this.Push(STACKITEM.stop());
-        },
-        Parse: function () {
-            var c, n;
-            while (this.i < this.string.length) {
-                c = this.string.charAt(this.i++);
-                n = c.charCodeAt(0);
-                if (n >= 0xD800 && n < 0xDC00) {
-                    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(), macro = this.csFindMacro(name);
-            if (macro) {
-                if (!(macro instanceof Array)) {
-                    macro = [macro]
-                }
-                var fn = macro[0];
-                if (!(fn instanceof Function)) {
-                    fn = this[fn]
-                }
-                fn.apply(this, [c + name].concat(macro.slice(1)));
-            } else if (TEXDEF.mathchar0mi[name]) {
-                this.csMathchar0mi(name, TEXDEF.mathchar0mi[name])
-            }
-            else if (TEXDEF.mathchar0mo[name]) {
-                this.csMathchar0mo(name, TEXDEF.mathchar0mo[name])
-            }
-            else if (TEXDEF.mathchar7[name]) {
-                this.csMathchar7(name, TEXDEF.mathchar7[name])
-            }
-            else if (TEXDEF.delimiter["\\" + name] != null) {
-                this.csDelimiter(name, TEXDEF.delimiter["\\" + name])
-            }
-            else {
-                this.csUndefined(c + name)
-            }
-        },
-        //
-        //  Look up a macro in the macros list
-        //  (overridden in begingroup extension)
-        //
-        csFindMacro: function (name) {
-            return TEXDEF.macros[name]
-        },
-        //
-        //  Handle normal mathchar (as an mi)
-        //
-        csMathchar0mi: function (name, mchar) {
-            var 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)));
-        },
-        //
-        //  Handle normal mathchar (as an mo)
-        //
-        csMathchar0mo: function (name, mchar) {
-            var 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)));
-        },
-        //
-        //  Handle mathchar in current family
-        //
-        csMathchar7: function (name, mchar) {
-            var 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)));
-        },
-        //
-        //  Handle delimiter
-        //
-        csDelimiter: function (name, delim) {
-            var 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)));
-        },
-        //
-        //  Handle undefined control sequence
-        //  (overridden in noUndefined extension)
-        //
-        csUndefined: function (name) {
-            TEX.Error(["UndefinedControlSequence", "Undefined control sequence %1", 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) {
-            if (this.GetNext().match(/\d/)) // don't treat numbers as a unit
-            {
-                this.string = this.string.substr(0, this.i + 1) + " " + this.string.substr(this.i + 1)
-            }
-            var primes, base, top = this.stack.Top();
-            if (top.type === "prime") {
-                base = top.data[0];
-                primes = top.data[1];
-                this.stack.Pop()
-            }
-            else {
-                base = this.stack.Prev();
-                if (!base) {
-                    base = MML.mi("")
-                }
-            }
-            if (base.isEmbellishedWrapper) {
-                base = base.data[0].data[0]
-            }
-            var movesupsub = base.movesupsub, position = base.sup;
-            if ((base.type === "msubsup" && base.data[base.sup]) ||
-                (base.type === "munderover" && base.data[base.over] && !base.subsupOK)) {
-                TEX.Error(["DoubleExponent", "Double exponent: use braces to clarify"])
-            }
-            if (base.type !== "msubsup") {
-                if (movesupsub) {
-                    if (base.type !== "munderover" || base.data[base.over]) {
-                        if (base.movablelimits && base.isa(MML.mi)) {
-                            base = this.mi2mo(base)
-                        }
-                        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, primes: primes, movesupsub: movesupsub
-            }));
-        },
-        Subscript: function (c) {
-            if (this.GetNext().match(/\d/)) // don't treat numbers as a unit
-            {
-                this.string = this.string.substr(0, this.i + 1) + " " + this.string.substr(this.i + 1)
-            }
-            var primes, base, top = this.stack.Top();
-            if (top.type === "prime") {
-                base = top.data[0];
-                primes = top.data[1];
-                this.stack.Pop()
-            }
-            else {
-                base = this.stack.Prev();
-                if (!base) {
-                    base = MML.mi("")
-                }
-            }
-            if (base.isEmbellishedWrapper) {
-                base = base.data[0].data[0]
-            }
-            var movesupsub = base.movesupsub, position = base.sub;
-            if ((base.type === "msubsup" && base.data[base.sub]) ||
-                (base.type === "munderover" && base.data[base.under] && !base.subsupOK)) {
-                TEX.Error(["DoubleSubscripts", "Double subscripts: use braces to clarify"])
-            }
-            if (base.type !== "msubsup") {
-                if (movesupsub) {
-                    if (base.type !== "munderover" || base.data[base.under]) {
-                        if (base.movablelimits && base.isa(MML.mi)) {
-                            base = this.mi2mo(base)
-                        }
-                        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, primes: primes, movesupsub: movesupsub
-            }));
-        },
-        PRIME: "\u2032", SMARTQUOTE: "\u2019",
-        Prime: function (c) {
-            var base = this.stack.Prev();
-            if (!base) {
-                base = MML.mi()
-            }
-            if (base.type === "msubsup" && base.data[base.sup]) {
-                TEX.Error(["DoubleExponentPrime",
-                    "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 = ["", "\u2032", "\u2033", "\u2034", "\u2057"][sup.length] || sup;
-            this.Push(STACKITEM.prime(base, this.mmlToken(MML.mo(sup))));
-        },
-        mi2mo: function (mi) {
-            var mo = MML.mo();
-            mo.Append.apply(mo, mi.data);
-            var id;
-            for (id in mo.defaults) {
-                if (mo.defaults.hasOwnProperty(id) && mi[id] != null) {
-                    mo[id] = mi[id]
-                }
-            }
-            for (id in MML.copyAttributes) {
-                if (MML.copyAttributes.hasOwnProperty(id) && mi[id] != null) {
-                    mo[id] = mi[id]
-                }
-            }
-            return mo;
-        },
-
-        /*
-         *  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(["CantUseHash1",
-                "You can't use 'macro parameter character #' in math mode"]);
-        },
-
-        /*
-         *  Handle other characters (as <mo> elements)
-         */
-        Other: function (c) {
-            var def, 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)).With(def);
-            } else {
-                mo = MML.mo(c).With(def);
-            }
-            if (mo.autoDefault("stretchy", true)) {
-                mo.stretchy = false
-            }
-            if (mo.autoDefault("texClass", true) == "") {
-                mo = MML.TeXAtom(mo)
-            }
-            this.Push(this.mmlToken(mo));
-        },
-
-        /************************************************************************/
-        /*
-         *   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: 0
-            }));
-        },
-
-        LeftRight: function (name) {
-            this.Push(STACKITEM[name.substr(1)]().With({delim: this.GetDelimiter(name)}));
-        },
-
-        Middle: function (name) {
-            var delim = this.GetDelimiter(name);
-            if (this.stack.Top().type !== "left") {
-                TEX.Error(["MisplacedMiddle", "%1 must be within \\left and \\right", name])
-            }
-            this.Push(MML.mo(delim).With({stretchy: true}));
-        },
+    /*
+     *  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;
+    },
 
-        NamedFn: function (name, id) {
-            if (!id) {
-                id = name.substr(1)
-            }
-            ;
-            var mml = MML.mi(id).With({texClass: MML.TEXCLASS.OP});
-            this.Push(STACKITEM.fn(this.mmlToken(mml)));
-        },
-        NamedOp: function (name, id) {
-            if (!id) {
-                id = name.substr(1)
-            }
-            ;
-            id = id.replace(/&thinsp;/, "\u2006");
-            var mml = MML.mo(id).With({
-                movablelimits: true,
-                movesupsub: true,
-                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 || (op.Get("texClass") !== MML.TEXCLASS.OP && op.movesupsub == null)) {
-                TEX.Error(["MisplacedLimits", "%1 is allowed only on operators", name])
-            }
-            var top = this.stack.Top();
-            if (op.type === "munderover" && !limits) {
-                op = top.data[top.data.length - 1] = MML.msubsup.apply(MML.subsup, op.data);
-            } else if (op.type === "msubsup" && limits) {
-                op = top.data[top.data.length - 1] = MML.munderover.apply(MML.underover, op.data);
-            }
-            op.movesupsub = (limits ? true : false);
-            op.Core().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), arg = this.GetArgument(name);
-            if (arg === "\\frac") {
-                arg += "{" + this.GetArgument(arg) + "}{" + this.GetArgument(arg) + "}"
-            }
-            var mml = TEX.Parse(arg, this.stack.env).mml();
-            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(["MisplacedMoveRoot", "%1 can appear only within a root", name])
-            }
-            if (this.stack.global[id]) {
-                TEX.Error(["MultipleMoveRoot", "Multiple use of %1", name])
-            }
-            var n = this.GetArgument(name);
-            if (!n.match(/-?[0-9]+/)) {
-                TEX.Error(["IntegerArg", "The argument to %1 must be an integer", name])
-            }
-            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.TeXAtom(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
-            }
-            if (base.isa(MML.munderover) && base.isEmbellished()) {
-                base.Core().With({lspace: 0, rspace: 0}); // get spacing right for NativeMML
-                base = MML.mrow(MML.mo().With({rspace: 0}), base);  // add an empty <mi> so it's not embellished any more
-            }
-            var mml = MML.munderover(base, null, null);
-            mml.SetData(
-                mml[pos],
-                this.mmlToken(MML.mo(MML.entity("#x" + c)).With({
-                    stretchy: true,
-                    accent: (pos === "under")
-                }))
-            );
-            if (stack) {
-                mml = MML.TeXAtom(mml).With({
-                    texClass: MML.TEXCLASS.OP,
-                    movesupsub: true
-                })
-            }
-            this.Push(mml.With({subsupOK: true}));
-        },
-
-        Overset: function (name) {
-            var top = this.ParseArg(name), base = this.ParseArg(name);
-            this.Push(MML.mover(base, top));
-        },
-        Underset: function (name) {
-            var bot = this.ParseArg(name), base = this.ParseArg(name);
-            this.Push(MML.munder(base, bot));
-        },
-
-        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) {
-                    def.mathvariant = MML.VARIANT.NORMAL;
-                    mml = STACKITEM.fn(this.mmlToken(MML.mi(match[1]).With(def)));
-                } else {
-                    mml = STACKITEM.fn(MML.TeXAtom(TEX.Parse(arg, this.stack.env).mml()).With(def));
-                }
-            } else {
-                mml = MML.TeXAtom(this.ParseArg(name)).With(def)
-            }
-            this.Push(mml);
-        },
-
-        MmlToken: function (name) {
-            var type = this.GetArgument(name),
-                attr = this.GetBrackets(name, "").replace(/^\s+/, ""),
-                data = this.GetArgument(name),
-                def = {attrNames: []}, match;
-            if (!MML[type] || !MML[type].prototype.isToken) {
-                TEX.Error(["NotMathMLToken", "%1 is not a token element", type])
-            }
-            while (attr !== "") {
-                match = attr.match(/^([a-z]+)\s*=\s*('[^']*'|"[^"]*"|[^ ,]*)\s*,?\s*/i);
-                if (!match) {
-                    TEX.Error(["InvalidMathMLAttr", "Invalid MathML attribute: %1", attr])
-                }
-                if (MML[type].prototype.defaults[match[1]] == null && !this.MmlTokenAllow[match[1]]) {
-                    TEX.Error(["UnknownAttrForElement",
-                        "%1 is not a recognized attribute for %2",
-                        match[1], type]);
-                }
-                var value = this.MmlFilterAttribute(match[1], match[2].replace(/^(['"])(.*)\1$/, "$2"));
-                if (value) {
-                    if (value.toLowerCase() === "true") {
-                        value = true
-                    }
-                    else if (value.toLowerCase() === "false") {
-                        value = false
-                    }
-                    def[match[1]] = value;
-                    def.attrNames.push(match[1]);
-                }
-                attr = attr.substr(match[0].length);
-            }
-            this.Push(this.mmlToken(MML[type](data).With(def)));
-        },
-        MmlFilterAttribute: function (name, value) {
-            return value
-        },
-        MmlTokenAllow: {
-            fontfamily: 1, fontsize: 1, fontweight: 1, fontstyle: 1,
-            color: 1, background: 1,
-            id: 1, "class": 1, href: 1, style: 1
-        },
-
-        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(MML.TeXAtom(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(MML.TeXAtom(smash));
-        },
+    /*
+     *  Trim spaces from a string
+     */
+    trimSpaces: function (text) {
+      if (typeof(text) != 'string') {
+        return text
+      }
+      return text.replace(/^\s+|\s+$/g, '');
+    },
 
-        Lap: function (name) {
-            var mml = MML.mpadded(this.ParseArg(name)).With({width: 0});
-            if (name === "\\llap") {
-                mml.lspace = "-1width"
-            }
-            this.Push(MML.TeXAtom(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}),
-                right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL})
-            }));
-        },
-
-        Hskip: function (name) {
-            this.Push(MML.mspace().With({
-                width: this.GetDimen(name),
-                mathsize: MML.SIZE.NORMAL
-            }));
-        },
-
-        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') {
-                if (parseFloat(w) && parseFloat(h) + parseFloat(d)) {
-                    def.mathbackground = (this.stack.env.color || "black")
-                }
-                mml = MML.mpadded(MML.mrow()).With(def);
-            } 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, true);
-            this.Push(MML.TeXAtom(MML.mo(delim).With({
-                minsize: size, maxsize: size,
-                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({texClass: 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"}));
-        },
-
-        Not: function (name) {
-            this.Push(STACKITEM.not());
-        },
-
-        Dots: function (name) {
-            this.Push(STACKITEM.dots().With({
-                ldots: this.mmlToken(MML.mo(MML.entity("#x2026")).With({stretchy: false})),
-                cdots: this.mmlToken(MML.mo(MML.entity("#x22EF")).With({stretchy: false}))
-            }));
-        },
-
-        Require: function (name) {
-            var file = this.GetArgument(name)
-                .replace(/.*\//, "")            // remove any leading path
-                .replace(/[^a-z0-9_.-]/ig, ""); // remove illegal characters
-            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 (!AJAX.loaded[AJAX.fileURL(file)]) {
-                if (name != null) {
-                    delete TEXDEF[array || 'macros'][name.replace(/^\\/, "")]
-                }
-                HUB.RestartAfter(AJAX.Require(file));
-            }
-        },
-
-        Macro: function (name, macro, argcount, def) {
-            if (argcount) {
-                var args = [];
-                if (def != null) {
-                    var optional = this.GetBrackets(name);
-                    args.push(optional == null ? def : optional);
-                }
-                for (var i = args.length; 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(["MaxMacroSub1",
-                    "MathJax maximum macro substitution count exceeded; " +
-                    "is there a recursive macro call?"]);
-            }
-        },
+    /*
+     *   Check if the next character is a space
+     */
+    nextIsSpace: function () {
+      return this.string.charAt(this.i).match(/\s/);
+    },
 
-        Matrix: function (name, open, close, align, spacing, vspacing, style, cases, numbered) {
-            var c = this.GetNext();
-            if (c === "") {
-                TEX.Error(["MissingArgFor", "Missing argument for %1", 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 (cases) {
-                array.isCases = true
-            }
-            if (numbered) {
-                array.isNumbered = true;
-                array.arraydef.side = numbered
-            }
-            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}));
-            if (this.stack.Top().isCases) {
-                var string = this.string;
-                var braces = 0, i = this.i, m = string.length;
-                while (i < m) {
-                    var c = string.charAt(i);
-                    if (c === "{") {
-                        braces++;
-                        i++
-                    }
-                    else if (c === "}") {
-                        if (braces === 0) {
-                            m = 0
-                        } else {
-                            braces--;
-                            i++
-                        }
-                    }
-                    else if (c === "&" && braces === 0) {
-                        TEX.Error(["ExtraAlignTab", "Extra alignment tab in \\cases text"]);
-                    } else if (c === "\\") {
-                        if (string.substr(i).match(/^((\\cr)[^a-zA-Z]|\\\\)/)) {
-                            m = 0
-                        } else {
-                            i += 2
-                        }
-                    } else {
-                        i++
-                    }
-                }
-                var text = string.substr(this.i, i - this.i);
-                if (!text.match(/^\s*\\text[^a-zA-Z]/)) {
-                    this.Push.apply(this, this.InternalMath(text, 0));
-                    this.i = i;
-                }
-            }
-        },
-
-        Cr: function (name) {
-            this.Push(STACKITEM.cell().With({isCR: true, name: name}));
-        },
-
-        CrLaTeX: function (name) {
-            var n;
-            if (this.string.charAt(this.i) === "[") {
-                n = this.GetBrackets(name, "").replace(/ /g, "").replace(/,/, ".");
-                if (n && !this.matchDimen(n)) {
-                    TEX.Error(["BracketMustBeDimension",
-                        "Bracket argument to %1 must be a dimension", name]);
-                }
-            }
-            this.Push(STACKITEM.cell().With({
-                isCR: true,
-                name: name,
-                linebreak: true
-            }));
-            var top = this.stack.Top();
-            if (top.isa(STACKITEM.array)) {
-                if (n && top.arraydef.rowspacing) {
-                    var rows = top.arraydef.rowspacing.split(/ /);
-                    if (!top.rowspacing) {
-                        top.rowspacing = this.dimen2em(rows[0])
-                    }
-                    while (rows.length < top.table.length) {
-                        rows.push(this.Em(top.rowspacing))
-                    }
-                    rows[top.table.length - 1] = this.Em(Math.max(0, top.rowspacing + this.dimen2em(n)));
-                    top.arraydef.rowspacing = rows.join(' ');
-                }
-            } else {
-                if (n) {
-                    this.Push(MML.mspace().With({depth: n}))
-                }
-                this.Push(MML.mspace().With({linebreak: MML.LINEBREAK.NEWLINE}));
-            }
-        },
-        emPerInch: 7.2,
-        pxPerInch: 72,
-        matchDimen: function (dim) {
-            return dim.match(/^(-?(?:\.\d+|\d+(?:\.\d*)?))(px|pt|em|ex|mu|pc|in|mm|cm)$/);
-        },
-        dimen2em: function (dim) {
-            var match = this.matchDimen(dim);
-            var m = parseFloat(match[1] || "1"), unit = match[2];
-            if (unit === "em") {
-                return m
-            }
-            if (unit === "ex") {
-                return m * .43
-            }
-            if (unit === "pt") {
-                return m / 10
-            }                    // 10 pt to an em
-            if (unit === "pc") {
-                return m * 1.2
-            }                   // 12 pt to a pc
-            if (unit === "px") {
-                return m * this.emPerInch / this.pxPerInch
-            }
-            if (unit === "in") {
-                return m * this.emPerInch
-            }
-            if (unit === "cm") {
-                return m * this.emPerInch / 2.54
-            } // 2.54 cm to an inch
-            if (unit === "mm") {
-                return m * this.emPerInch / 25.4
-            } // 10 mm to a cm
-            if (unit === "mu") {
-                return m / 18
-            }
-            return 0;
-        },
-        Em: function (m) {
-            if (Math.abs(m) < .0006) {
-                return "0em"
-            }
-            return m.toFixed(3).replace(/\.?0+$/, "") + "em";
-        },
+    /*
+     *  Get the next non-space character
+     */
+    GetNext: function () {
+      while (this.nextIsSpace()) {
+        this.i++
+      }
+      return this.string.charAt(this.i);
+    },
 
-        HLine: function (name, style) {
-            if (style == null) {
-                style = "solid"
-            }
-            var top = this.stack.Top();
-            if (!top.isa(STACKITEM.array) || top.data.length) {
-                TEX.Error(["Misplaced", "Misplaced %1", name])
-            }
-            if (top.table.length == 0) {
-                top.frame.push("top");
-            } 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(' ');
-            }
-        },
-
-        HFill: function (name) {
-            var top = this.stack.Top();
-            if (top.isa(STACKITEM.array)) top.hfill.push(top.data.length);
-            else TEX.Error(["UnsupportedHFill", "Unsupported use of %1", name]);
-        },
-
-
-        /************************************************************************/
-        /*
-         *   LaTeX environments
-         */
-
-        BeginEnd: function (name) {
-            var env = this.GetArgument(name), isEnd = false;
-            if (env.match(/^\\end\\/)) {
-                isEnd = true;
-                env = env.substr(5)
-            } // special \end{} for \newenvironment environments
-            if (env.match(/\\/i)) {
-                TEX.Error(["InvalidEnv", "Invalid environment name '%1'", env])
-            }
-            var cmd = this.envFindName(env);
-            if (!cmd) {
-                TEX.Error(["UnknownEnv", "Unknown environment '%1'", env])
-            }
-            if (!(cmd instanceof Array)) {
-                cmd = [cmd]
-            }
-            var end = (cmd[1] instanceof Array ? cmd[1][0] : cmd[1]);
-            var mml = STACKITEM.begin().With({
-                name: env,
-                end: end,
-                parse: this
-            });
-            if (name === "\\end") {
-                if (!isEnd && cmd[1] instanceof Array && this[cmd[1][1]]) {
-                    mml = this[cmd[1][1]].apply(this, [mml].concat(cmd.slice(2)));
-                } else {
-                    mml = STACKITEM.end().With({name: env});
-                }
-            } else {
-                if (++this.macroCount > TEX.config.MAXMACROS) {
-                    TEX.Error(["MaxMacroSub2",
-                        "MathJax maximum substitution count exceeded; " +
-                        "is there a recursive latex environment?"]);
-                }
-                if (cmd[0] && this[cmd[0]]) {
-                    mml = this[cmd[0]].apply(this, [mml].concat(cmd.slice(2)))
-                }
-            }
-            this.Push(mml);
-        },
-        envFindName: function (name) {
-            return TEXDEF.environment[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(/[|:]/)) {
-                if (lines.charAt(0).match(/[|:]/)) {
-                    array.frame.push("left");
-                    array.frame.dashed = lines.charAt(0) === ":"
-                }
-                if (lines.charAt(lines.length - 1).match(/[|:]/)) {
-                    array.frame.push("right")
-                }
-                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
-            }
-            else if (style) {
-                array.arraydef.displaystyle = false
-            }
-            if (style === "S") {
-                array.arraydef.scriptlevel = 1
-            } // FIXME: should use mstyle?
-            if (raggedHeight) {
-                array.arraydef.useHeight = false
-            }
-            this.Push(begin);
-            return array;
-        },
-
-        AlignedArray: function (begin) {
-            var align = this.GetBrackets("\\begin{" + begin.name + "}");
-            return this.setArrayAlign(this.Array.apply(this, arguments), align);
-        },
-        setArrayAlign: function (array, align) {
-            align = this.trimSpaces(align || "");
-            if (align === "t") {
-                array.arraydef.align = "baseline 1"
-            }
-            else if (align === "b") {
-                array.arraydef.align = "baseline -1"
-            }
-            else if (align === "c") {
-                array.arraydef.align = "center"
-            }
-            else if (align) {
-                array.arraydef.align = align
-            } // FIXME: should be an error?
-            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(/\s/);
-        },
-
-        /*
-         *  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 {
+    /*
+     *  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(["MissingArgFor", "Missing argument for %1", name])
+          }
+          return null;
+        case '}':
+          if (!noneOK) {
+            TEX.Error(["ExtraCloseMissingOpen",
+              "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++;
-                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(["MissingArgFor", "Missing argument for %1", name])
-                    }
-                    return null;
-                case '}':
-                    if (!noneOK) {
-                        TEX.Error(["ExtraCloseMissingOpen",
-                            "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) {
-                                    return this.string.slice(j, this.i - 1)
-                                }
-                                break;
-                        }
-                    }
-                    TEX.Error(["MissingCloseBrace", "Missing close brace"]);
-                    break;
-            }
-            return this.string.charAt(this.i++);
-        },
-
-        /*
-         *  Get an optional LaTeX argument in brackets
-         */
-        GetBrackets: function (name, def) {
-            if (this.GetNext() != '[') {
-                return def
-            }
-            ;
-            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(["ExtraCloseLooking",
-                                "Extra close brace while looking for %1", "']'"]);
-                        }
-                        break;
-                    case ']':
-                        if (parens == 0) {
-                            return this.string.slice(j, this.i - 1)
-                        }
-                        break;
-                }
-            }
-            TEX.Error(["MissingCloseBracket",
-                "Couldn't find closing ']' for argument to %1", name]);
-        },
-
-        /*
-         *  Get the name of a delimiter (check it in the delimiter list).
-         */
-        GetDelimiter: function (name, braceOK) {
-            while (this.nextIsSpace()) {
-                this.i++
-            }
-            var c = this.string.charAt(this.i);
+                break;
+              case '{':
+                parens++;
+                break;
+              case '}':
+                if (--parens == 0) {
+                  return this.string.slice(j, this.i - 1)
+                }
+                break;
+            }
+          }
+          TEX.Error(["MissingCloseBrace", "Missing close brace"]);
+          break;
+      }
+      return this.string.charAt(this.i++);
+    },
+
+    /*
+     *  Get an optional LaTeX argument in brackets
+     */
+    GetBrackets: function (name, def) {
+      if (this.GetNext() != '[') {
+        return def
+      }
+      ;
+      var j = ++this.i, parens = 0;
+      while (this.i < this.string.length) {
+        switch (this.string.charAt(this.i++)) {
+          case '{':
+            parens++;
+            break;
+          case '\\':
             this.i++;
-            if (this.i <= this.string.length) {
-                if (c == "\\") {
-                    c += this.GetCS(name)
-                }
-                else if (c === "{" && braceOK) {
-                    this.i--;
-                    c = this.GetArgument(name)
-                }
-                if (TEXDEF.delimiter[c] != null) {
-                    return this.convertDelimiter(c)
-                }
-            }
-            TEX.Error(["MissingOrUnrecognizedDelim",
-                "Missing or unrecognized delimiter for %1", 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, "").replace(/,/, ".")
-                }
-            } 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, "").replace(/,/, ".");
-                }
-            }
-            TEX.Error(["MissingDimOrUnits",
-                "Missing dimension or its units for %1", 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(["ExtraCloseLooking",
-                                "Extra close brace while looking for %1", token])
-                        }
-                        parens--;
-                        break;
-                }
-                if (parens == 0 && c == token) {
-                    return this.string.slice(j, k)
-                }
-            }
-            TEX.Error(["TokenNotFoundForCommand",
-                "Couldn't find %1 for %2", token, 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:  pass environment to TEX.Parse? @@@
-         */
-        InternalMath: function (text, level) {
-            var def = (this.stack.env.font ? {mathvariant: this.stack.env.font} : {});
-            var mml = [], i = 0, k = 0, c, match = '';
-            if (text.match(/\\?[${}\\]|\\\(|\\(eq)?ref\s*\{/)) {
-                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 === '}' && match === '}') {
-                        mml.push(MML.TeXAtom(TEX.Parse(text.slice(k, i), {}).mml().With(def)));
-                        match = '';
-                        k = i;
-                    } else if (c === '\\') {
-                        if (match === '' && text.substr(i).match(/^(eq)?ref\s*\{/)) {
-                            if (k < i - 1) mml.push(this.InternalText(text.slice(k, i - 1), def));
-                            match = '}';
-                            k = i - 1;
-                        } else {
-                            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;
-                            } else if (c.match(/[${}\\]/) && match === '') {
-                                i--;
-                                text = text.substr(0, i - 1) + text.substr(i); // remove \ from \$, \{, \}, or \\
-                            }
-                        }
-                    }
-                }
-                if (match !== '') TEX.Error(["MathNotTerminated", "Math not terminated in text box"]);
-            }
-            if (k < text.length) mml.push(this.InternalText(text.slice(k), def));
-            if (level != null) {
-                mml = [MML.mstyle.apply(MML, mml).With({
-                    displaystyle: false,
-                    scriptlevel: level
-                })];
-            } else if (mml.length > 1) {
-                mml = [MML.mrow.apply(MML, mml)];
-            }
-            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(["IllegalMacroParam",
-                                "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(["MaxBufferSize",
-                    "MathJax internal buffer size exceeded; is there a recursive macro call?"]);
-            }
-            return s1 + s2;
+            break;
+          case '}':
+            if (parens-- <= 0) {
+              TEX.Error(["ExtraCloseLooking",
+                "Extra close brace while looking for %1", "']'"]);
+            }
+            break;
+          case ']':
+            if (parens == 0) {
+              return this.string.slice(j, this.i - 1)
+            }
+            break;
         }
+      }
+      TEX.Error(["MissingCloseBracket",
+        "Couldn't find closing ']' for argument to %1", name]);
+    },
 
-    });
+    /*
+     *  Get the name of a delimiter (check it in the delimiter list).
+     */
+    GetDelimiter: function (name, braceOK) {
+      while (this.nextIsSpace()) {
+        this.i++
+      }
+      var c = this.string.charAt(this.i);
+      this.i++;
+      if (this.i <= this.string.length) {
+        if (c == "\\") {
+          c += this.GetCS(name)
+        }
+        else if (c === "{" && braceOK) {
+          this.i--;
+          c = this.GetArgument(name)
+        }
+        if (TEXDEF.delimiter[c] != null) {
+          return this.convertDelimiter(c)
+        }
+      }
+      TEX.Error(["MissingOrUnrecognizedDelim",
+        "Missing or unrecognized delimiter for %1", 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, "").replace(/,/, ".")
+        }
+      } 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, "").replace(/,/, ".");
+        }
+      }
+      TEX.Error(["MissingDimOrUnits",
+        "Missing dimension or its units for %1", name]);
+    },
 
-    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
-        },
-
-        sourceMenuTitle: /*_(MathMenu)*/ ["TeXCommands", "TeX Commands"],
-        annotationEncoding: "application/x-tex",
-
-        prefilterHooks: MathJax.Callback.Hooks(true),    // hooks to run before processing TeX
-        postfilterHooks: MathJax.Callback.Hooks(true),   // hooks to run after processing TeX
-
-        //
-        //  Check if AMSmath extension must be loaded and push
-        //    it on the extensions array, if needed
-        //
-        Config: function () {
-            this.SUPER(arguments).Config.apply(this, arguments);
-            if (this.config.equationNumbers.autoNumber !== "none") {
-                if (!this.config.extensions) {
-                    this.config.extensions = []
-                }
-                this.config.extensions.push("AMSmath.js");
-            }
-        },
-
-        //
-        //  Convert TeX to ElementJax
-        //
-        Translate: function (script) {
-            var mml, isError = false, math = MathJax.HTML.getScript(script);
-            var display = (script.type.replace(/\n/g, " ").match(/(;|\s|\n)mode\s*=\s*display(;|\s|\n|$)/) != null);
-            var data = {math: math, display: display, script: script};
-            var callback = this.prefilterHooks.Execute(data);
-            if (callback) return callback;
-            math = data.math;
-            try {
-                mml = TEX.Parse(math).mml();
-            } catch (err) {
-                if (!err.texError) {
-                    throw err
-                }
-                mml = this.formatError(err, math, display, script);
-                isError = true;
-            }
-            if (mml.isa(MML.mtable) && mml.displaystyle === "inherit") mml.displaystyle = display; // for tagged equations
-            if (mml.inferred) {
-                mml = MML.apply(MathJax.ElementJax, mml.data)
-            } else {
-                mml = MML(mml)
-            }
-            if (display) {
-                mml.root.display = "block"
-            }
-            if (isError) {
-                mml.texError = true
-            }
-            data.math = mml;
-            return this.postfilterHooks.Execute(data) || data.math;
-        },
-        prefilterMath: function (math, displaystyle, script) {
-            return math;
-        },
-        postfilterMath: function (math, displaystyle, script) {
-            this.combineRelations(math.root);
-            return math;
-        },
-        formatError: function (err, math, display, script) {
-            var message = err.message.replace(/\n.*/, "");
-            HUB.signal.Post(["TeX Jax - parse error", message, math, display, script]);
-            return MML.Error(message);
-        },
-
-        //
-        //  Produce an error and stop processing this equation
-        //
-        Error: function (message) {
-            //
-            //  Translate message if it is ["id","message",args]
-            //
-            if (message instanceof Array) {
-                message = _.apply(_, message)
-            }
-            throw HUB.Insert(Error(message), {texError: true});
-        },
-
-        //
-        //  Add a user-defined macro to the macro list
-        //
-        Macro: function (name, def, argn) {
-            TEXDEF.macros[name] = ['Macro'].concat([].slice.call(arguments, 1));
-            TEXDEF.macros[name].isUser = true;
-        },
-
-        /*
-         *  Create an mrow that has stretchy delimiters at either end, as needed
-         */
-        fenced: function (open, mml, close) {
-            var mrow = MML.mrow().With({
-                open: open,
-                close: close,
-                texClass: MML.TEXCLASS.INNER
-            });
-            mrow.Append(MML.mo(open).With({
-                fence: true,
-                stretchy: true,
-                texClass: MML.TEXCLASS.OPEN
-            }));
-            if (mml.type === "mrow") {
-                mrow.Append.apply(mrow, mml.data)
-            } else {
-                mrow.Append(mml)
-            }
-            mrow.Append(MML.mo(close).With({
-                fence: true,
-                stretchy: true,
-                texClass: MML.TEXCLASS.CLOSE
-            }));
-            return mrow;
-        },
-        /*
-         *  Create an mrow that has \mathchoice using \bigg and \big for the delimiters
-         */
-        fixedFence: function (open, mml, close) {
-            var mrow = MML.mrow().With({
-                open: open,
-                close: close,
-                texClass: MML.TEXCLASS.ORD
-            });
-            if (open) {
-                mrow.Append(this.mathPalette(open, "l"))
-            }
-            if (mml.type === "mrow") {
-                mrow.Append.apply(mrow, mml.data)
+    /*
+     *  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(["ExtraCloseLooking",
+                "Extra close brace while looking for %1", token])
+            }
+            parens--;
+            break;
+        }
+        if (parens == 0 && c == token) {
+          return this.string.slice(j, k)
+        }
+      }
+      TEX.Error(["TokenNotFoundForCommand",
+        "Couldn't find %1 for %2", token, 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:  pass environment to TEX.Parse? @@@
+     */
+    InternalMath: function (text, level) {
+      var def = (this.stack.env.font ? {mathvariant: this.stack.env.font} : {});
+      var mml = [], i = 0, k = 0, c, match = '';
+      if (text.match(/\\?[${}\\]|\\\(|\\(eq)?ref\s*\{/)) {
+        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 === '}' && match === '}') {
+            mml.push(MML.TeXAtom(TEX.Parse(text.slice(k, i), {}).mml().With(def)));
+            match = '';
+            k = i;
+          } else if (c === '\\') {
+            if (match === '' && text.substr(i).match(/^(eq)?ref\s*\{/)) {
+              if (k < i - 1) mml.push(this.InternalText(text.slice(k, i - 1), def));
+              match = '}';
+              k = i - 1;
             } else {
-                mrow.Append(mml)
-            }
-            if (close) {
-                mrow.Append(this.mathPalette(close, "r"))
-            }
-            return mrow;
-        },
-        mathPalette: function (fence, side) {
-            if (fence === '{' || fence === '}') {
-                fence = "\\" + fence
-            }
-            var D = '{\\bigg' + side + ' ' + fence + '}', T = '{\\big' + side + ' ' + fence + '}';
-            return TEX.Parse('\\mathchoice' + D + T + T + T).mml();
-        },
-
-        //
-        //  Combine adjacent <mo> elements that are relations
-        //    (since MathML treats the spacing very differently)
-        //
-        combineRelations: function (mml) {
-            var i, m, m1, m2;
-            for (i = 0, m = mml.data.length; i < m; i++) {
-                if (mml.data[i]) {
-                    if (mml.isa(MML.mrow)) {
-                        while (i + 1 < m && (m1 = mml.data[i]) && (m2 = mml.data[i + 1]) &&
-                        m1.isa(MML.mo) && m2.isa(MML.mo) &&
-                        m1.Get("texClass") === MML.TEXCLASS.REL &&
-                        m2.Get("texClass") === MML.TEXCLASS.REL) {
-                            if (m1.variantForm == m2.variantForm &&
-                                m1.Get("mathvariant") == m2.Get("mathvariant") && m1.style == m2.style &&
-                                m1["class"] == m2["class"] && !m1.id && !m2.id) {
-                                m1.Append.apply(m1, m2.data);
-                                mml.data.splice(i + 1, 1);
-                                m--;
-                            } else {
-                                m1.rspace = m2.lspace = "0pt";
-                                i++;
-                            }
-                        }
-                    }
-                    if (!mml.data[i].isToken) {
-                        this.combineRelations(mml.data[i])
-                    }
-                }
-            }
+              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;
+              } else if (c.match(/[${}\\]/) && match === '') {
+                i--;
+                text = text.substr(0, i - 1) + text.substr(i); // remove \ from \$, \{, \}, or \\
+              }
+            }
+          }
         }
-    });
+        if (match !== '') TEX.Error(["MathNotTerminated", "Math not terminated in text box"]);
+      }
+      if (k < text.length) mml.push(this.InternalText(text.slice(k), def));
+      if (level != null) {
+        mml = [MML.mstyle.apply(MML, mml).With({
+          displaystyle: false,
+          scriptlevel: level
+        })];
+      } else if (mml.length > 1) {
+        mml = [MML.mrow.apply(MML, mml)];
+      }
+      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(["IllegalMacroParam",
+                "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(["MaxBufferSize",
+          "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
+    },
+
+    sourceMenuTitle: /*_(MathMenu)*/ ["TeXCommands", "TeX Commands"],
+    annotationEncoding: "application/x-tex",
+
+    prefilterHooks: MathJax.Callback.Hooks(true),    // hooks to run before processing TeX
+    postfilterHooks: MathJax.Callback.Hooks(true),   // hooks to run after processing TeX
 
     //
-    //  Add the default filters
+    //  Check if AMSmath extension must be loaded and push
+    //    it on the extensions array, if needed
     //
-    TEX.prefilterHooks.Add(function (data) {
-        data.math = TEX.prefilterMath(data.math, data.display, data.script);
-    });
-    TEX.postfilterHooks.Add(function (data) {
-        data.math = TEX.postfilterMath(data.math, data.display, data.script);
-    });
+    Config: function () {
+      this.SUPER(arguments).Config.apply(this, arguments);
+      if (this.config.equationNumbers.autoNumber !== "none") {
+        if (!this.config.extensions) {
+          this.config.extensions = []
+        }
+        this.config.extensions.push("AMSmath.js");
+      }
+    },
 
-    TEX.loadComplete("jax.js");
+    //
+    //  Convert TeX to ElementJax
+    //
+    Translate: function (script) {
+      var mml, isError = false, math = MathJax.HTML.getScript(script);
+      var display = (script.type.replace(/\n/g, " ").match(/(;|\s|\n)mode\s*=\s*display(;|\s|\n|$)/) != null);
+      var data = {math: math, display: display, script: script};
+      var callback = this.prefilterHooks.Execute(data);
+      if (callback) return callback;
+      math = data.math;
+      try {
+        mml = TEX.Parse(math).mml();
+      } catch (err) {
+        if (!err.texError) {
+          throw err
+        }
+        mml = this.formatError(err, math, display, script);
+        isError = true;
+      }
+      if (mml.isa(MML.mtable) && mml.displaystyle === "inherit") mml.displaystyle = display; // for tagged equations
+      if (mml.inferred) {
+        mml = MML.apply(MathJax.ElementJax, mml.data)
+      } else {
+        mml = MML(mml)
+      }
+      if (display) {
+        mml.root.display = "block"
+      }
+      if (isError) {
+        mml.texError = true
+      }
+      data.math = mml;
+      return this.postfilterHooks.Execute(data) || data.math;
+    },
+    prefilterMath: function (math, displaystyle, script) {
+      return math;
+    },
+    postfilterMath: function (math, displaystyle, script) {
+      this.combineRelations(math.root);
+      return math;
+    },
+    formatError: function (err, math, display, script) {
+      var message = err.message.replace(/\n.*/, "");
+      HUB.signal.Post(["TeX Jax - parse error", message, math, display, script]);
+      return MML.Error(message);
+    },
+
+    //
+    //  Produce an error and stop processing this equation
+    //
+    Error: function (message) {
+      //
+      //  Translate message if it is ["id","message",args]
+      //
+      if (message instanceof Array) {
+        message = _.apply(_, message)
+      }
+      throw HUB.Insert(Error(message), {texError: true});
+    },
+
+    //
+    //  Add a user-defined macro to the macro list
+    //
+    Macro: function (name, def, argn) {
+      TEXDEF.macros[name] = ['Macro'].concat([].slice.call(arguments, 1));
+      TEXDEF.macros[name].isUser = true;
+    },
+
+    /*
+     *  Create an mrow that has stretchy delimiters at either end, as needed
+     */
+    fenced: function (open, mml, close) {
+      var mrow = MML.mrow().With({
+        open: open,
+        close: close,
+        texClass: MML.TEXCLASS.INNER
+      });
+      mrow.Append(MML.mo(open).With({
+        fence: true,
+        stretchy: true,
+        texClass: MML.TEXCLASS.OPEN
+      }));
+      if (mml.type === "mrow") {
+        mrow.Append.apply(mrow, mml.data)
+      } else {
+        mrow.Append(mml)
+      }
+      mrow.Append(MML.mo(close).With({
+        fence: true,
+        stretchy: true,
+        texClass: MML.TEXCLASS.CLOSE
+      }));
+      return mrow;
+    },
+    /*
+     *  Create an mrow that has \mathchoice using \bigg and \big for the delimiters
+     */
+    fixedFence: function (open, mml, close) {
+      var mrow = MML.mrow().With({
+        open: open,
+        close: close,
+        texClass: MML.TEXCLASS.ORD
+      });
+      if (open) {
+        mrow.Append(this.mathPalette(open, "l"))
+      }
+      if (mml.type === "mrow") {
+        mrow.Append.apply(mrow, mml.data)
+      } else {
+        mrow.Append(mml)
+      }
+      if (close) {
+        mrow.Append(this.mathPalette(close, "r"))
+      }
+      return mrow;
+    },
+    mathPalette: function (fence, side) {
+      if (fence === '{' || fence === '}') {
+        fence = "\\" + fence
+      }
+      var D = '{\\bigg' + side + ' ' + fence + '}', T = '{\\big' + side + ' ' + fence + '}';
+      return TEX.Parse('\\mathchoice' + D + T + T + T).mml();
+    },
+
+    //
+    //  Combine adjacent <mo> elements that are relations
+    //    (since MathML treats the spacing very differently)
+    //
+    combineRelations: function (mml) {
+      var i, m, m1, m2;
+      for (i = 0, m = mml.data.length; i < m; i++) {
+        if (mml.data[i]) {
+          if (mml.isa(MML.mrow)) {
+            while (i + 1 < m && (m1 = mml.data[i]) && (m2 = mml.data[i + 1]) &&
+            m1.isa(MML.mo) && m2.isa(MML.mo) &&
+            m1.Get("texClass") === MML.TEXCLASS.REL &&
+            m2.Get("texClass") === MML.TEXCLASS.REL) {
+              if (m1.variantForm == m2.variantForm &&
+                  m1.Get("mathvariant") == m2.Get("mathvariant") && m1.style == m2.style &&
+                  m1["class"] == m2["class"] && !m1.id && !m2.id) {
+                m1.Append.apply(m1, m2.data);
+                mml.data.splice(i + 1, 1);
+                m--;
+              } else {
+                m1.rspace = m2.lspace = "0pt";
+                i++;
+              }
+            }
+          }
+          if (!mml.data[i].isToken) {
+            this.combineRelations(mml.data[i])
+          }
+        }
+      }
+    }
+  });
+
+  //
+  //  Add the default filters
+  //
+  TEX.prefilterHooks.Add(function (data) {
+    data.math = TEX.prefilterMath(data.math, data.display, data.script);
+  });
+  TEX.postfilterHooks.Add(function (data) {
+    data.math = TEX.postfilterMath(data.math, data.display, data.script);
+  });
+
+  TEX.loadComplete("jax.js");
 
 })(MathJax.InputJax.TeX, MathJax.Hub, MathJax.Ajax);

+ 108 - 108
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/autoload/mglyph.js

@@ -25,119 +25,119 @@
  */
 
 MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function () {
-    var VERSION = "2.5.0";
-    var MML = MathJax.ElementJax.mml,
-        HTMLCSS = MathJax.OutputJax["HTML-CSS"],
-        LOCALE = MathJax.Localization;
+  var VERSION = "2.5.0";
+  var MML = MathJax.ElementJax.mml,
+      HTMLCSS = MathJax.OutputJax["HTML-CSS"],
+      LOCALE = MathJax.Localization;
 
-    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 = LOCALE._(["MathML", "BadMglyphFont"], "Bad font: %1", font.family)
-                            }
-                            err = MML.Error(values.alt, {mathsize: "75%"});
-                            this.Append(err);
-                            err.toHTML(span);
-                            this.data.pop();
-                            span.bbox = err.HTMLspanElement().bbox;
-                        }
-                    }
-                }
+  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 (!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.Error(
-                        LOCALE._(["MathML", "BadMglyph"], "Bad mglyph: %1", values.src),
-                        {mathsize: "75%"});
-                    this.Append(err);
-                    err.toHTML(span);
-                    this.data.pop();
-                    span.bbox = err.HTMLspanElement().bbox;
-                } else {
-                    var mu = this.HTMLgetMu(span);
-                    img = HTMLCSS.addElement(span, "img", {
-                        isMathJax: true,
-                        src: values.src,
-                        alt: values.alt,
-                        title: values.alt
-                    });
-                    if (values.width) {
-                        img.style.width = HTMLCSS.Em(HTMLCSS.length2em(values.width, mu, this.img.img.width / HTMLCSS.em));
-                    }
-                    if (values.height) {
-                        img.style.height = HTMLCSS.Em(HTMLCSS.length2em(values.height, mu, 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) {
-                        span.bbox.d = -HTMLCSS.length2em(values.valign, mu, this.img.img.height / HTMLCSS.em);
-                        img.style.verticalAlign = HTMLCSS.Em(-span.bbox.d);
-                        span.bbox.h -= span.bbox.d;
-                    }
-                }
+              if (values.alt === "") {
+                values.alt = LOCALE._(["MathML", "BadMglyphFont"], "Bad font: %1", font.family)
+              }
+              err = MML.Error(values.alt, {mathsize: "75%"});
+              this.Append(err);
+              err.toHTML(span);
+              this.data.pop();
+              span.bbox = err.HTMLspanElement().bbox;
             }
-            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")
+          }
+        }
+      } 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.Error(
+              LOCALE._(["MathML", "BadMglyph"], "Bad mglyph: %1", values.src),
+              {mathsize: "75%"});
+          this.Append(err);
+          err.toHTML(span);
+          this.data.pop();
+          span.bbox = err.HTMLspanElement().bbox;
+        } else {
+          var mu = this.HTMLgetMu(span);
+          img = HTMLCSS.addElement(span, "img", {
+            isMathJax: true,
+            src: values.src,
+            alt: values.alt,
+            title: values.alt
+          });
+          if (values.width) {
+            img.style.width = HTMLCSS.Em(HTMLCSS.length2em(values.width, mu, this.img.img.width / HTMLCSS.em));
+          }
+          if (values.height) {
+            img.style.height = HTMLCSS.Em(HTMLCSS.length2em(values.height, mu, 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) {
+            span.bbox.d = -HTMLCSS.length2em(values.valign, mu, 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
         }
-    }, {
-        GLYPH: {}    // global list of all loaded glyphs
-    });
+      }
+      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");
+  MathJax.Hub.Startup.signal.Post("HTML-CSS mglyph Ready");
+  MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir + "/mglyph.js");
 
 });
 

+ 968 - 968
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/autoload/multiline.js

@@ -25,1043 +25,1043 @@
  */
 
 MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function () {
-    var VERSION = "2.5.0";
-    var MML = MathJax.ElementJax.mml,
-        HTMLCSS = MathJax.OutputJax["HTML-CSS"];
+  var VERSION = "2.5.0";
+  var MML = MathJax.ElementJax.mml,
+      HTMLCSS = MathJax.OutputJax["HTML-CSS"];
 
-    //
-    //  Penalties for the various line breaks
-    //
-    var PENALTY = {
-        newline: 0,
-        nobreak: 1000000,
-        goodbreak: [-200],
-        badbreak: [+200],
-        auto: [0],
+  //
+  //  Penalties for the various line breaks
+  //
+  var PENALTY = {
+    newline: 0,
+    nobreak: 1000000,
+    goodbreak: [-200],
+    badbreak: [+200],
+    auto: [0],
 
-        toobig: 800,
-        nestfactor: 400,
-        spacefactor: -100,
-        spaceoffset: 2,
-        spacelimit: 1,  // spaces larger than this get a penalty boost
-        fence: 500,
-        close: 500
-    };
+    toobig: 800,
+    nestfactor: 400,
+    spacefactor: -100,
+    spaceoffset: 2,
+    spacelimit: 1,  // spaces larger than this get a penalty boost
+    fence: 500,
+    close: 500
+  };
 
-    var ENDVALUES = {linebreakstyle: "after"};
+  var ENDVALUES = {linebreakstyle: "after"};
 
 
-    /**************************************************************************/
+  /**************************************************************************/
 
-    MML.mbase.Augment({
-        HTMLlinebreakPenalty: PENALTY,
+  MML.mbase.Augment({
+    HTMLlinebreakPenalty: PENALTY,
 
-        /****************************************************************/
-        //
-        // Handle breaking an mrow into separate lines
-        //
-        HTMLmultiline: function (span) {
+    /****************************************************************/
+    //
+    // Handle breaking an mrow into separate lines
+    //
+    HTMLmultiline: function (span) {
 
-            //
-            //  Find the parent element and mark it as multiline
-            //
-            var parent = this;
-            while (parent.inferred || (parent.parent && parent.parent.type === "mrow" &&
-            parent.parent.data.length === 1)) {
-                parent = parent.parent
-            }
-            var isTop = ((parent.type === "math" && parent.Get("display") === "block") ||
-            parent.type === "mtd");
-            parent.isMultiline = true;
+      //
+      //  Find the parent element and mark it as multiline
+      //
+      var parent = this;
+      while (parent.inferred || (parent.parent && parent.parent.type === "mrow" &&
+      parent.parent.data.length === 1)) {
+        parent = parent.parent
+      }
+      var isTop = ((parent.type === "math" && parent.Get("display") === "block") ||
+      parent.type === "mtd");
+      parent.isMultiline = true;
 
-            //
-            //  Default values for the line-breaking parameters
-            //
-            var VALUES = this.getValues(
-                "linebreak", "linebreakstyle", "lineleading", "linebreakmultchar",
-                "indentalign", "indentshift",
-                "indentalignfirst", "indentshiftfirst",
-                "indentalignlast", "indentshiftlast"
-            );
-            if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) {
-                VALUES.linebreakstyle = this.Get("infixlinebreakstyle")
-            }
-            VALUES.lineleading = HTMLCSS.length2em(VALUES.lineleading, 1, 0.5);
+      //
+      //  Default values for the line-breaking parameters
+      //
+      var VALUES = this.getValues(
+          "linebreak", "linebreakstyle", "lineleading", "linebreakmultchar",
+          "indentalign", "indentshift",
+          "indentalignfirst", "indentshiftfirst",
+          "indentalignlast", "indentshiftlast"
+      );
+      if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) {
+        VALUES.linebreakstyle = this.Get("infixlinebreakstyle")
+      }
+      VALUES.lineleading = HTMLCSS.length2em(VALUES.lineleading, 1, 0.5);
 
-            //
-            //  Remove old color and break the span at its best line breaks
-            //
-            this.HTMLremoveColor(span);
-            var stack = HTMLCSS.createStack(span);
-            this.HTMLgetScale();
-            var state = {
-                    n: 0, Y: 0,
-                    scale: this.scale || 1,
-                    isTop: isTop,
-                    values: {},
-                    VALUES: VALUES
-                },
-                align = this.HTMLgetAlign(state, {}),
-                shift = this.HTMLgetShift(state, {}, align),
-                start = [],
-                end = {
-                    index: [], penalty: PENALTY.nobreak,
-                    w: 0, W: shift, shift: shift, scanW: shift,
-                    nest: 0
-                },
-                broken = false;
+      //
+      //  Remove old color and break the span at its best line breaks
+      //
+      this.HTMLremoveColor(span);
+      var stack = HTMLCSS.createStack(span);
+      this.HTMLgetScale();
+      var state = {
+            n: 0, Y: 0,
+            scale: this.scale || 1,
+            isTop: isTop,
+            values: {},
+            VALUES: VALUES
+          },
+          align = this.HTMLgetAlign(state, {}),
+          shift = this.HTMLgetShift(state, {}, align),
+          start = [],
+          end = {
+            index: [], penalty: PENALTY.nobreak,
+            w: 0, W: shift, shift: shift, scanW: shift,
+            nest: 0
+          },
+          broken = false;
 
-            while (this.HTMLbetterBreak(end, state) &&
-            (end.scanW >= HTMLCSS.linebreakWidth || end.penalty === PENALTY.newline)) {
-                this.HTMLaddLine(stack, start, end.index, state, end.values, broken);
-                start = end.index.slice(0);
-                broken = true;
-                align = this.HTMLgetAlign(state, end.values);
-                shift = this.HTMLgetShift(state, end.values, align);
-                if (align === MML.INDENTALIGN.CENTER) {
-                    shift = 0
-                }
-                end.W = end.shift = end.scanW = shift;
-                end.penalty = PENALTY.nobreak;
-            }
-            state.isLast = true;
-            this.HTMLaddLine(stack, start, [], state, ENDVALUES, broken);
+      while (this.HTMLbetterBreak(end, state) &&
+      (end.scanW >= HTMLCSS.linebreakWidth || end.penalty === PENALTY.newline)) {
+        this.HTMLaddLine(stack, start, end.index, state, end.values, broken);
+        start = end.index.slice(0);
+        broken = true;
+        align = this.HTMLgetAlign(state, end.values);
+        shift = this.HTMLgetShift(state, end.values, align);
+        if (align === MML.INDENTALIGN.CENTER) {
+          shift = 0
+        }
+        end.W = end.shift = end.scanW = shift;
+        end.penalty = PENALTY.nobreak;
+      }
+      state.isLast = true;
+      this.HTMLaddLine(stack, start, [], state, ENDVALUES, broken);
 
-            //
-            //  Make top-level spans 100% wide.
-            //  Finish up the space and add the color again
-            //
-            if (isTop) {
-                stack.style.width = "100%";
-                if (parent.type === "math") {
-                    span.bbox.width = "100%"
-                }
-            }
-            this.HTMLhandleSpace(span);
-            this.HTMLhandleColor(span);
-            span.bbox.isMultiline = true;
+      //
+      //  Make top-level spans 100% wide.
+      //  Finish up the space and add the color again
+      //
+      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;
-        },
+      return span;
+    },
 
-        /****************************************************************/
-        //
-        //  Locate the next linebreak that is better than the current one
-        //
-        HTMLbetterBreak: function (info, state) {
-            if (this.isToken) {
-                return false
-            }  // FIXME: handle breaking of token elements
-            if (this.isEmbellished()) {
-                info.embellished = this;
-                return this.CoreMO().HTMLbetterBreak(info, state);
-            }
-            if (this.linebreakContainer) {
-                return false
-            }
-            //
-            //  Get the current breakpoint position and other data
-            //
-            var index = info.index.slice(0), i = info.index.shift(),
-                m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
-            if (i == null) {
-                i = -1
-            }
-            ;
-            if (!broken) {
-                i++;
-                info.W += info.w;
-                info.w = 0
-            }
-            scanW = info.scanW = info.W;
-            info.nest++;
-            //
-            //  Look through the line for breakpoints,
-            //    (as long as we are not too far past the breaking width)
-            //
-            while (i < m && info.scanW < 1.33 * HTMLCSS.linebreakWidth) {
-                if (this.data[i]) {
-                    if (this.data[i].HTMLbetterBreak(info, state)) {
-                        better = true;
-                        index = [i].concat(info.index);
-                        W = info.W;
-                        w = info.w;
-                        if (info.penalty === PENALTY.newline) {
-                            info.index = index;
-                            if (info.nest) {
-                                info.nest--
-                            }
-                            return true;
-                        }
-                    }
-                    scanW = (broken ? info.scanW : this.HTMLaddWidth(i, info, scanW));
-                }
-                info.index = [];
-                i++;
-                broken = false;
-            }
-            if (info.nest) {
+    /****************************************************************/
+    //
+    //  Locate the next linebreak that is better than the current one
+    //
+    HTMLbetterBreak: function (info, state) {
+      if (this.isToken) {
+        return false
+      }  // FIXME: handle breaking of token elements
+      if (this.isEmbellished()) {
+        info.embellished = this;
+        return this.CoreMO().HTMLbetterBreak(info, state);
+      }
+      if (this.linebreakContainer) {
+        return false
+      }
+      //
+      //  Get the current breakpoint position and other data
+      //
+      var index = info.index.slice(0), i = info.index.shift(),
+          m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
+      if (i == null) {
+        i = -1
+      }
+      ;
+      if (!broken) {
+        i++;
+        info.W += info.w;
+        info.w = 0
+      }
+      scanW = info.scanW = info.W;
+      info.nest++;
+      //
+      //  Look through the line for breakpoints,
+      //    (as long as we are not too far past the breaking width)
+      //
+      while (i < m && info.scanW < 1.33 * HTMLCSS.linebreakWidth) {
+        if (this.data[i]) {
+          if (this.data[i].HTMLbetterBreak(info, state)) {
+            better = true;
+            index = [i].concat(info.index);
+            W = info.W;
+            w = info.w;
+            if (info.penalty === PENALTY.newline) {
+              info.index = index;
+              if (info.nest) {
                 info.nest--
+              }
+              return true;
             }
-            info.index = index;
-            if (better) {
-                info.W = W;
-                info.w = w
-            }
-            return better;
-        },
-        HTMLaddWidth: function (i, info, scanW) {
-            if (this.data[i]) {
-                var span = this.data[i].HTMLspanElement();
-                scanW += span.bbox.w;
-                if (span.style.paddingLeft) {
-                    scanW += HTMLCSS.unEm(span.style.paddingLeft)
-                }
-                if (span.style.paddingRight) {
-                    scanW += HTMLCSS.unEm(span.style.paddingRight)
-                }
-                info.W = info.scanW = scanW;
-                info.w = 0;
-            }
-            return scanW;
-        },
+          }
+          scanW = (broken ? info.scanW : this.HTMLaddWidth(i, info, scanW));
+        }
+        info.index = [];
+        i++;
+        broken = false;
+      }
+      if (info.nest) {
+        info.nest--
+      }
+      info.index = index;
+      if (better) {
+        info.W = W;
+        info.w = w
+      }
+      return better;
+    },
+    HTMLaddWidth: function (i, info, scanW) {
+      if (this.data[i]) {
+        var span = this.data[i].HTMLspanElement();
+        scanW += span.bbox.w;
+        if (span.style.paddingLeft) {
+          scanW += HTMLCSS.unEm(span.style.paddingLeft)
+        }
+        if (span.style.paddingRight) {
+          scanW += HTMLCSS.unEm(span.style.paddingRight)
+        }
+        info.W = info.scanW = scanW;
+        info.w = 0;
+      }
+      return scanW;
+    },
+
+    /****************************************************************/
+    //
+    //  Create a new line and move the required elements into it
+    //  Position it using proper alignment and indenting
+    //
+    HTMLaddLine: function (stack, start, end, state, values, broken) {
+      //
+      //  Create a box for the line, with empty BBox
+      //    fill it with the proper elements,
+      //    and clean up the bbox
+      //
+      line = HTMLCSS.createBox(stack);
+      line.bbox = this.HTMLemptyBBox({});
+      state.first = broken;
+      state.last = true;
+      this.HTMLmoveLine(start, end, line, state, values);
+      this.HTMLcleanBBox(line.bbox);
+      //
+      //  Get the alignment and shift values
+      //
+      var align = this.HTMLgetAlign(state, values),
+          shift = this.HTMLgetShift(state, values, align);
+      //
+      //  Set the Y offset based on previous depth, leading, and current height
+      //
+      if (state.n > 0) {
+        var LHD = HTMLCSS.FONTDATA.baselineskip * state.scale;
+        var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale;
+        state.Y -= Math.max(LHD, state.d + line.bbox.h + leading);
+      }
+      //
+      //  Place the new line
+      //
+      HTMLCSS.alignBox(line, align, state.Y, shift);
+      //
+      //  Save the values needed for the future
+      //
+      state.d = line.bbox.d;
+      state.values = values;
+      state.n++;
+    },
+
+    /****************************************************************/
+    //
+    //  Get alignment and shift values from the given data
+    //
+    HTMLgetAlign: function (state, values) {
+      var cur = values, prev = state.values, def = state.VALUES, align;
+      if (state.n === 0) {
+        align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst
+      }
+      else if (state.isLast) {
+        align = prev.indentalignlast || def.indentalignlast
+      }
+      else {
+        align = prev.indentalign || def.indentalign
+      }
+      if (align === MML.INDENTALIGN.INDENTALIGN) {
+        align = prev.indentalign || def.indentalign
+      }
+      if (align === MML.INDENTALIGN.AUTO) {
+        align = (state.isTop ? this.displayAlign : MML.INDENTALIGN.LEFT)
+      }
+      return align;
+    },
+    HTMLgetShift: function (state, values, align) {
+      var cur = values, prev = state.values, def = state.VALUES, shift;
+      if (state.n === 0) {
+        shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst
+      }
+      else if (state.isLast) {
+        shift = prev.indentshiftlast || def.indentshiftlast
+      }
+      else {
+        shift = prev.indentshift || def.indentshift
+      }
+      if (shift === MML.INDENTSHIFT.INDENTSHIFT) {
+        shift = prev.indentshift || def.indentshift
+      }
+      if (shift === "auto" || shift === "") {
+        shift = "0"
+      }
+      shift = HTMLCSS.length2em(shift, 1, HTMLCSS.cwidth);
+      if (state.isTop && this.displayIndent !== "0") {
+        var indent = HTMLCSS.length2em(this.displayIndent, 1, HTMLCSS.cwidth);
+        shift += (align === MML.INDENTALIGN.RIGHT ? -indent : indent);
+      }
+      return shift;
+    },
 
-        /****************************************************************/
+    /****************************************************************/
+    //
+    //  Move the selected elements into the new line's span,
+    //    moving whole items when possible, and parts of ones
+    //    that are split by a line break.
+    //
+    HTMLmoveLine: function (start, end, span, state, values) {
+      var i = start[0], j = end[0];
+      if (i == null) {
+        i = -1
+      }
+      ;
+      if (j == null) {
+        j = this.data.length - 1
+      }
+      if (i === j && start.length > 1) {
         //
-        //  Create a new line and move the required elements into it
-        //  Position it using proper alignment and indenting
+        //  If starting and ending in the same element move the subpiece to the new line
         //
-        HTMLaddLine: function (stack, start, end, state, values, broken) {
-            //
-            //  Create a box for the line, with empty BBox
-            //    fill it with the proper elements,
-            //    and clean up the bbox
-            //
-            line = HTMLCSS.createBox(stack);
-            line.bbox = this.HTMLemptyBBox({});
-            state.first = broken;
-            state.last = true;
-            this.HTMLmoveLine(start, end, line, state, values);
-            this.HTMLcleanBBox(line.bbox);
-            //
-            //  Get the alignment and shift values
-            //
-            var align = this.HTMLgetAlign(state, values),
-                shift = this.HTMLgetShift(state, values, align);
-            //
-            //  Set the Y offset based on previous depth, leading, and current height
-            //
-            if (state.n > 0) {
-                var LHD = HTMLCSS.FONTDATA.baselineskip * state.scale;
-                var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale;
-                state.Y -= Math.max(LHD, state.d + line.bbox.h + leading);
-            }
-            //
-            //  Place the new line
-            //
-            HTMLCSS.alignBox(line, align, state.Y, shift);
-            //
-            //  Save the values needed for the future
-            //
-            state.d = line.bbox.d;
-            state.values = values;
-            state.n++;
-        },
-
-        /****************************************************************/
+        this.data[i].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
+      } else {
         //
-        //  Get alignment and shift values from the given data
+        //  Otherwise, move the remainder of the initial item
+        //  and any others up to the last one
         //
-        HTMLgetAlign: function (state, values) {
-            var cur = values, prev = state.values, def = state.VALUES, align;
-            if (state.n === 0) {
-                align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst
-            }
-            else if (state.isLast) {
-                align = prev.indentalignlast || def.indentalignlast
+        var last = state.last;
+        state.last = false;
+        while (i < j) {
+          if (this.data[i]) {
+            if (start.length <= 1) {
+              this.data[i].HTMLmoveSpan(span, state, values)
             }
             else {
-                align = prev.indentalign || def.indentalign
-            }
-            if (align === MML.INDENTALIGN.INDENTALIGN) {
-                align = prev.indentalign || def.indentalign
-            }
-            if (align === MML.INDENTALIGN.AUTO) {
-                align = (state.isTop ? this.displayAlign : MML.INDENTALIGN.LEFT)
-            }
-            return align;
-        },
-        HTMLgetShift: function (state, values, align) {
-            var cur = values, prev = state.values, def = state.VALUES, shift;
-            if (state.n === 0) {
-                shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst
+              this.data[i].HTMLmoveSlice(start.slice(1), [], span, state, values, "paddingLeft")
             }
-            else if (state.isLast) {
-                shift = prev.indentshiftlast || def.indentshiftlast
-            }
-            else {
-                shift = prev.indentshift || def.indentshift
-            }
-            if (shift === MML.INDENTSHIFT.INDENTSHIFT) {
-                shift = prev.indentshift || def.indentshift
-            }
-            if (shift === "auto" || shift === "") {
-                shift = "0"
-            }
-            shift = HTMLCSS.length2em(shift, 1, HTMLCSS.cwidth);
-            if (state.isTop && this.displayIndent !== "0") {
-                var indent = HTMLCSS.length2em(this.displayIndent, 1, HTMLCSS.cwidth);
-                shift += (align === MML.INDENTALIGN.RIGHT ? -indent : indent);
-            }
-            return shift;
-        },
-
-        /****************************************************************/
+          }
+          i++;
+          state.first = false;
+          start = [];
+        }
         //
-        //  Move the selected elements into the new line's span,
-        //    moving whole items when possible, and parts of ones
-        //    that are split by a line break.
+        //  If the last item is complete, move it,
+        //    otherwise move the first part of it up to the split
         //
-        HTMLmoveLine: function (start, end, span, state, values) {
-            var i = start[0], j = end[0];
-            if (i == null) {
-                i = -1
-            }
-            ;
-            if (j == null) {
-                j = this.data.length - 1
-            }
-            if (i === j && start.length > 1) {
-                //
-                //  If starting and ending in the same element move the subpiece to the new line
-                //
-                this.data[i].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
-            } else {
-                //
-                //  Otherwise, move the remainder of the initial item
-                //  and any others up to the last one
-                //
-                var last = state.last;
-                state.last = false;
-                while (i < j) {
-                    if (this.data[i]) {
-                        if (start.length <= 1) {
-                            this.data[i].HTMLmoveSpan(span, state, values)
-                        }
-                        else {
-                            this.data[i].HTMLmoveSlice(start.slice(1), [], span, state, values, "paddingLeft")
-                        }
-                    }
-                    i++;
-                    state.first = false;
-                    start = [];
-                }
-                //
-                //  If the last item is complete, move it,
-                //    otherwise move the first part of it up to the split
-                //
-                state.last = last;
-                if (this.data[i]) {
-                    if (end.length <= 1) {
-                        this.data[i].HTMLmoveSpan(span, state, values)
-                    }
-                    else {
-                        this.data[i].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
-                    }
-                }
-            }
-        },
+        state.last = last;
+        if (this.data[i]) {
+          if (end.length <= 1) {
+            this.data[i].HTMLmoveSpan(span, state, values)
+          }
+          else {
+            this.data[i].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
+          }
+        }
+      }
+    },
 
-        /****************************************************************/
-        //
-        //  Split an element and copy the selected items into the new part
-        //
-        HTMLmoveSlice: function (start, end, span, state, values, padding) {
-            //
-            //  Get rid of color, if any (added back in later)
-            //  Create a new span for the slice of the element
-            //  Move the selected portion into the slice
-            //  If it is the last slice
-            //    Remove the original (now empty) span
-            //    Rename the Continue-0 span with the original name (for HTMLspanElement)
-            //    Add back the color
-            //
-            this.HTMLremoveColor();
-            var slice = this.HTMLcreateSliceSpan(span);
-            this.HTMLmoveLine(start, end, slice, state, values);
-            slice.style[padding] = "";
-            this.HTMLcombineBBoxes(slice, span.bbox);
-            this.HTMLcleanBBox(slice.bbox);
-            if (end.length === 0) {
-                span = this.HTMLspanElement();
-                span.parentNode.removeChild(span);
-                span.nextMathJaxSpan.id = span.id;
-                var n = 0;
-                while (span = span.nextMathJaxSpan) {
-                    var color = this.HTMLhandleColor(span);
-                    if (color) {
-                        color.id += "-MathJax-Continue-" + n;
-                        n++
-                    }
-                }
-            }
-            return slice;
-        },
+    /****************************************************************/
+    //
+    //  Split an element and copy the selected items into the new part
+    //
+    HTMLmoveSlice: function (start, end, span, state, values, padding) {
+      //
+      //  Get rid of color, if any (added back in later)
+      //  Create a new span for the slice of the element
+      //  Move the selected portion into the slice
+      //  If it is the last slice
+      //    Remove the original (now empty) span
+      //    Rename the Continue-0 span with the original name (for HTMLspanElement)
+      //    Add back the color
+      //
+      this.HTMLremoveColor();
+      var slice = this.HTMLcreateSliceSpan(span);
+      this.HTMLmoveLine(start, end, slice, state, values);
+      slice.style[padding] = "";
+      this.HTMLcombineBBoxes(slice, span.bbox);
+      this.HTMLcleanBBox(slice.bbox);
+      if (end.length === 0) {
+        span = this.HTMLspanElement();
+        span.parentNode.removeChild(span);
+        span.nextMathJaxSpan.id = span.id;
+        var n = 0;
+        while (span = span.nextMathJaxSpan) {
+          var color = this.HTMLhandleColor(span);
+          if (color) {
+            color.id += "-MathJax-Continue-" + n;
+            n++
+          }
+        }
+      }
+      return slice;
+    },
+
+    /****************************************************************/
+    //
+    //  Create a new span for an element that is split in two
+    //    Clone the original and update its ID.
+    //    Link the old span to the new one so we can find it later
+    //
+    HTMLcreateSliceSpan: function (span) {
+      var SPAN = this.HTMLspanElement(), n = 0;
+      var LAST = SPAN;
+      while (LAST.nextMathJaxSpan) {
+        LAST = LAST.nextMathJaxSpan;
+        n++
+      }
+      var SLICE = SPAN.cloneNode(false);
+      LAST.nextMathJaxSpan = SLICE;
+      SLICE.nextMathJaxSpan = null;
+      SLICE.id += "-MathJax-Continue-" + n;
+      SLICE.bbox = this.HTMLemptyBBox({});
+      return span.appendChild(SLICE);
+    },
 
-        /****************************************************************/
+    /****************************************************************/
+    //
+    //  Move an element from its original span to its new location in
+    //    a split element or the new line's span
+    //
+    HTMLmoveSpan: function (line, state, values) {
+      // FIXME:  handle linebreakstyle === "duplicate"
+      // FIXME:  handle linebreakmultchar
+      if (!(state.first || state.last) ||
+          (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) ||
+          (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) {
         //
-        //  Create a new span for an element that is split in two
-        //    Clone the original and update its ID.
-        //    Link the old span to the new one so we can find it later
+        //  Move color and span
         //
-        HTMLcreateSliceSpan: function (span) {
-            var SPAN = this.HTMLspanElement(), n = 0;
-            var LAST = SPAN;
-            while (LAST.nextMathJaxSpan) {
-                LAST = LAST.nextMathJaxSpan;
-                n++
-            }
-            var SLICE = SPAN.cloneNode(false);
-            LAST.nextMathJaxSpan = SLICE;
-            SLICE.nextMathJaxSpan = null;
-            SLICE.id += "-MathJax-Continue-" + n;
-            SLICE.bbox = this.HTMLemptyBBox({});
-            return span.appendChild(SLICE);
-        },
-
-        /****************************************************************/
+        var color = document.getElementById("MathJax-Color-" + this.spanID + HTMLCSS.idPostfix);
+        if (color) {
+          line.appendChild(color)
+        }
+        var span = this.HTMLspanElement();
+        line.appendChild(span);
         //
-        //  Move an element from its original span to its new location in
-        //    a split element or the new line's span
+        //  If it is last, remove right padding
+        //  If it is first, remove left padding and recolor
         //
-        HTMLmoveSpan: function (line, state, values) {
-            // FIXME:  handle linebreakstyle === "duplicate"
-            // FIXME:  handle linebreakmultchar
-            if (!(state.first || state.last) ||
-                (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) ||
-                (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) {
-                //
-                //  Move color and span
-                //
-                var color = document.getElementById("MathJax-Color-" + this.spanID + HTMLCSS.idPostfix);
-                if (color) {
-                    line.appendChild(color)
-                }
-                var span = this.HTMLspanElement();
-                line.appendChild(span);
-                //
-                //  If it is last, remove right padding
-                //  If it is first, remove left padding and recolor
-                //
-                if (state.last) {
-                    span.style.paddingRight = ""
-                }
-                if (state.first || state.nextIsFirst) {
-                    span.style.paddingLeft = "";
-                    if (color) {
-                        this.HTMLremoveColor(span);
-                        this.HTMLhandleColor(span)
-                    }
-                }
-                if (state.first && span.bbox.w === 0) {
-                    state.nextIsFirst = true
-                }
-                else {
-                    delete state.nextIsFirst
-                }
-                //
-                //  Update bounding box
-                //
-                this.HTMLcombineBBoxes(this, line.bbox);
-            }
+        if (state.last) {
+          span.style.paddingRight = ""
         }
-    });
+        if (state.first || state.nextIsFirst) {
+          span.style.paddingLeft = "";
+          if (color) {
+            this.HTMLremoveColor(span);
+            this.HTMLhandleColor(span)
+          }
+        }
+        if (state.first && span.bbox.w === 0) {
+          state.nextIsFirst = true
+        }
+        else {
+          delete state.nextIsFirst
+        }
+        //
+        //  Update bounding box
+        //
+        this.HTMLcombineBBoxes(this, line.bbox);
+      }
+    }
+  });
 
-    /**************************************************************************/
+  /**************************************************************************/
 
-    MML.mfenced.Augment({
-        HTMLbetterBreak: function (info, state) {
-            //
-            //  Get the current breakpoint position and other data
-            //
-            var index = info.index.slice(0), i = info.index.shift(),
-                m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
-            if (i == null) {
-                i = -1
-            }
-            ;
-            if (!broken) {
-                i++;
-                info.W += info.w;
-                info.w = 0
-            }
-            scanW = info.scanW = info.W;
-            info.nest++;
-            //
-            //  Create indices that include the delimiters and separators
-            //
-            if (!this.dataI) {
-                this.dataI = [];
-                if (this.data.open) {
-                    this.dataI.push("open")
-                }
-                if (m) {
-                    this.dataI.push(0)
-                }
-                for (var j = 1; j < m; j++) {
-                    if (this.data["sep" + j]) {
-                        this.dataI.push("sep" + j)
-                    }
-                    this.dataI.push(j);
-                }
-                if (this.data.close) {
-                    this.dataI.push("close")
-                }
-            }
-            m = this.dataI.length;
-            //
-            //  Look through the line for breakpoints, including the open, close, and separators
-            //    (as long as we are not too far past the breaking width)
-            //
-            while (i < m && info.scanW < 1.33 * HTMLCSS.linebreakWidth) {
-                var k = this.dataI[i];
-                if (this.data[k]) {
-                    if (this.data[k].HTMLbetterBreak(info, state)) {
-                        better = true;
-                        index = [i].concat(info.index);
-                        W = info.W;
-                        w = info.w;
-                        if (info.penalty === PENALTY.newline) {
-                            info.index = index;
-                            if (info.nest) {
-                                info.nest--
-                            }
-                            return true
-                        }
-                    }
-                    scanW = (broken ? info.scanW : this.HTMLaddWidth(i, info, scanW));
-                }
-                info.index = [];
-                i++;
-                broken = false;
-            }
-            if (info.nest) {
+  MML.mfenced.Augment({
+    HTMLbetterBreak: function (info, state) {
+      //
+      //  Get the current breakpoint position and other data
+      //
+      var index = info.index.slice(0), i = info.index.shift(),
+          m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
+      if (i == null) {
+        i = -1
+      }
+      ;
+      if (!broken) {
+        i++;
+        info.W += info.w;
+        info.w = 0
+      }
+      scanW = info.scanW = info.W;
+      info.nest++;
+      //
+      //  Create indices that include the delimiters and separators
+      //
+      if (!this.dataI) {
+        this.dataI = [];
+        if (this.data.open) {
+          this.dataI.push("open")
+        }
+        if (m) {
+          this.dataI.push(0)
+        }
+        for (var j = 1; j < m; j++) {
+          if (this.data["sep" + j]) {
+            this.dataI.push("sep" + j)
+          }
+          this.dataI.push(j);
+        }
+        if (this.data.close) {
+          this.dataI.push("close")
+        }
+      }
+      m = this.dataI.length;
+      //
+      //  Look through the line for breakpoints, including the open, close, and separators
+      //    (as long as we are not too far past the breaking width)
+      //
+      while (i < m && info.scanW < 1.33 * HTMLCSS.linebreakWidth) {
+        var k = this.dataI[i];
+        if (this.data[k]) {
+          if (this.data[k].HTMLbetterBreak(info, state)) {
+            better = true;
+            index = [i].concat(info.index);
+            W = info.W;
+            w = info.w;
+            if (info.penalty === PENALTY.newline) {
+              info.index = index;
+              if (info.nest) {
                 info.nest--
+              }
+              return true
             }
-            info.index = index;
-            if (better) {
-                info.W = W;
-                info.w = w
-            }
-            return better;
-        },
+          }
+          scanW = (broken ? info.scanW : this.HTMLaddWidth(i, info, scanW));
+        }
+        info.index = [];
+        i++;
+        broken = false;
+      }
+      if (info.nest) {
+        info.nest--
+      }
+      info.index = index;
+      if (better) {
+        info.W = W;
+        info.w = w
+      }
+      return better;
+    },
 
-        HTMLmoveLine: function (start, end, span, state, values) {
-            var i = start[0], j = end[0];
-            if (i == null) {
-                i = -1
-            }
-            ;
-            if (j == null) {
-                j = this.dataI.length - 1
+    HTMLmoveLine: function (start, end, span, state, values) {
+      var i = start[0], j = end[0];
+      if (i == null) {
+        i = -1
+      }
+      ;
+      if (j == null) {
+        j = this.dataI.length - 1
+      }
+      if (i === j && start.length > 1) {
+        //
+        //  If starting and ending in the same element move the subpiece to the new line
+        //
+        this.data[this.dataI[i]].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
+      } else {
+        //
+        //  Otherwise, move the remainder of the initial item
+        //  and any others (including open and separators) up to the last one
+        //
+        var last = state.last;
+        state.last = false;
+        var k = this.dataI[i];
+        while (i < j) {
+          if (this.data[k]) {
+            if (start.length <= 1) {
+              this.data[k].HTMLmoveSpan(span, state, values)
             }
-            if (i === j && start.length > 1) {
-                //
-                //  If starting and ending in the same element move the subpiece to the new line
-                //
-                this.data[this.dataI[i]].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
-            } else {
-                //
-                //  Otherwise, move the remainder of the initial item
-                //  and any others (including open and separators) up to the last one
-                //
-                var last = state.last;
-                state.last = false;
-                var k = this.dataI[i];
-                while (i < j) {
-                    if (this.data[k]) {
-                        if (start.length <= 1) {
-                            this.data[k].HTMLmoveSpan(span, state, values)
-                        }
-                        else {
-                            this.data[k].HTMLmoveSlice(start.slice(1), [], span, state, values, "paddingLeft")
-                        }
-                    }
-                    i++;
-                    k = this.dataI[i];
-                    state.first = false;
-                    start = [];
-                }
-                //
-                //  If the last item is complete, move it
-                //
-                state.last = last;
-                if (this.data[k]) {
-                    if (end.length <= 1) {
-                        this.data[k].HTMLmoveSpan(span, state, values)
-                    }
-                    else {
-                        this.data[k].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
-                    }
-                }
+            else {
+              this.data[k].HTMLmoveSlice(start.slice(1), [], span, state, values, "paddingLeft")
             }
+          }
+          i++;
+          k = this.dataI[i];
+          state.first = false;
+          start = [];
         }
+        //
+        //  If the last item is complete, move it
+        //
+        state.last = last;
+        if (this.data[k]) {
+          if (end.length <= 1) {
+            this.data[k].HTMLmoveSpan(span, state, values)
+          }
+          else {
+            this.data[k].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
+          }
+        }
+      }
+    }
 
-    });
-
-    /**************************************************************************/
+  });
 
-    MML.msubsup.Augment({
-        HTMLbetterBreak: function (info, state) {
-            if (!this.data[this.base]) {
-                return false
-            }
-            //
-            //  Get the current breakpoint position and other data
-            //
-            var index = info.index.slice(0), i = info.index.shift(),
-                W, w, scanW, broken = (info.index.length > 0), better = false;
-            if (!broken) {
-                info.W += info.w;
-                info.w = 0
-            }
-            scanW = info.scanW = info.W;
-            //
-            //  Record the width of the base and the super- and subscripts
-            //
-            if (i == null) {
-                this.HTMLbaseW = this.data[this.base].HTMLspanElement().bbox.w;
-                this.HTMLdw = this.HTMLspanElement().bbox.w - this.HTMLbaseW;
-            }
-            //
-            //  Check if the base can be broken
-            //
-            if (this.data[this.base].HTMLbetterBreak(info, state)) {
-                better = true;
-                index = [this.base].concat(info.index);
-                W = info.W;
-                w = info.w;
-                if (info.penalty === PENALTY.newline) {
-                    better = broken = true
-                }
-            }
-            //
-            //  Add in the base if it is unbroken, and add the scripts
-            //
-            if (!broken) {
-                this.HTMLaddWidth(this.base, info, scanW)
-            }
-            info.scanW += this.HTMLdw;
-            info.W = info.scanW;
-            info.index = [];
-            if (better) {
-                info.W = W;
-                info.w = w;
-                info.index = index
-            }
-            return better;
-        },
+  /**************************************************************************/
 
-        HTMLmoveLine: function (start, end, span, state, values) {
-            //
-            //  Move the proper part of the base
-            //
-            if (this.data[this.base]) {
-                if (start.length > 1) {
-                    this.data[this.base].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
-                } else {
-                    if (end.length <= 1) {
-                        this.data[this.base].HTMLmoveSpan(span, state, values)
-                    }
-                    else {
-                        this.data[this.base].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
-                    }
-                }
-            }
-            //
-            //  If this is the end, check for super and subscripts, and move those
-            //  by moving the stack that contains them, and shifting by the amount of the
-            //  base that has been removed.  Remove the empty base box from the stack.
-            //
-            if (end.length === 0) {
-                var s = this.data[this.sup] || this.data[this.sub];
-                if (s && this.HTMLnotEmpty(s)) {
-                    var box = s.HTMLspanElement().parentNode, stack = box.parentNode;
-                    if (this.data[this.base]) {
-                        stack.removeChild(stack.firstChild)
-                    }
-                    for (box = stack.firstChild; box; box = box.nextSibling) {
-                        box.style.left = HTMLCSS.Em(HTMLCSS.unEm(box.style.left) - this.HTMLbaseW)
-                    }
-                    stack.bbox.w -= this.HTMLbaseW;
-                    stack.style.width = HTMLCSS.Em(stack.bbox.w);
-                    this.HTMLcombineBBoxes(stack, span.bbox);
-                    span.appendChild(stack);
-                }
-            }
+  MML.msubsup.Augment({
+    HTMLbetterBreak: function (info, state) {
+      if (!this.data[this.base]) {
+        return false
+      }
+      //
+      //  Get the current breakpoint position and other data
+      //
+      var index = info.index.slice(0), i = info.index.shift(),
+          W, w, scanW, broken = (info.index.length > 0), better = false;
+      if (!broken) {
+        info.W += info.w;
+        info.w = 0
+      }
+      scanW = info.scanW = info.W;
+      //
+      //  Record the width of the base and the super- and subscripts
+      //
+      if (i == null) {
+        this.HTMLbaseW = this.data[this.base].HTMLspanElement().bbox.w;
+        this.HTMLdw = this.HTMLspanElement().bbox.w - this.HTMLbaseW;
+      }
+      //
+      //  Check if the base can be broken
+      //
+      if (this.data[this.base].HTMLbetterBreak(info, state)) {
+        better = true;
+        index = [this.base].concat(info.index);
+        W = info.W;
+        w = info.w;
+        if (info.penalty === PENALTY.newline) {
+          better = broken = true
         }
+      }
+      //
+      //  Add in the base if it is unbroken, and add the scripts
+      //
+      if (!broken) {
+        this.HTMLaddWidth(this.base, info, scanW)
+      }
+      info.scanW += this.HTMLdw;
+      info.W = info.scanW;
+      info.index = [];
+      if (better) {
+        info.W = W;
+        info.w = w;
+        info.index = index
+      }
+      return better;
+    },
 
-    });
-
-    /**************************************************************************/
+    HTMLmoveLine: function (start, end, span, state, values) {
+      //
+      //  Move the proper part of the base
+      //
+      if (this.data[this.base]) {
+        if (start.length > 1) {
+          this.data[this.base].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
+        } else {
+          if (end.length <= 1) {
+            this.data[this.base].HTMLmoveSpan(span, state, values)
+          }
+          else {
+            this.data[this.base].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
+          }
+        }
+      }
+      //
+      //  If this is the end, check for super and subscripts, and move those
+      //  by moving the stack that contains them, and shifting by the amount of the
+      //  base that has been removed.  Remove the empty base box from the stack.
+      //
+      if (end.length === 0) {
+        var s = this.data[this.sup] || this.data[this.sub];
+        if (s && this.HTMLnotEmpty(s)) {
+          var box = s.HTMLspanElement().parentNode, stack = box.parentNode;
+          if (this.data[this.base]) {
+            stack.removeChild(stack.firstChild)
+          }
+          for (box = stack.firstChild; box; box = box.nextSibling) {
+            box.style.left = HTMLCSS.Em(HTMLCSS.unEm(box.style.left) - this.HTMLbaseW)
+          }
+          stack.bbox.w -= this.HTMLbaseW;
+          stack.style.width = HTMLCSS.Em(stack.bbox.w);
+          this.HTMLcombineBBoxes(stack, span.bbox);
+          span.appendChild(stack);
+        }
+      }
+    }
 
-    MML.mmultiscripts.Augment({
-        HTMLbetterBreak: function (info, state) {
-            if (!this.data[this.base]) {
-                return false
-            }
-            //
-            //  Get the current breakpoint position and other data
-            //
-            var index = info.index.slice(0);
-            info.index.shift();
-            var W, w, scanW, broken = (info.index.length > 0), better = false;
-            if (!broken) {
-                info.W += info.w;
-                info.w = 0
-            }
-            info.scanW = info.W;
-            //
-            //  Get the bounding boxes and the width of the scripts
-            //
-            var bbox = this.HTMLspanElement().bbox,
-                base = this.data[this.base].HTMLspanElement().bbox;
-            var dw = bbox.w - base.w;
-            //
-            //  Add in the prescripts
-            //
-            info.scanW += bbox.dx;
-            scanW = info.scanW;
-            //
-            //  Check if the base can be broken
-            //
-            if (this.data[this.base].HTMLbetterBreak(info, state)) {
-                better = true;
-                index = [this.base].concat(info.index);
-                W = info.W;
-                w = info.w;
-                if (info.penalty === PENALTY.newline) {
-                    better = broken = true
-                }
-            }
-            //
-            //  Add in the base if it is unbroken, and add the scripts
-            //
-            if (!broken) {
-                this.HTMLaddWidth(this.base, info, scanW)
-            }
-            info.scanW += dw;
-            info.W = info.scanW;
-            info.index = [];
-            if (better) {
-                info.W = W;
-                info.w = w;
-                info.index = index
-            }
-            return better;
-        },
+  });
 
-        HTMLmoveLine: function (start, end, span, state, values) {
-            var SPAN = this.HTMLspanElement(), data = SPAN.bbox,
-                stack = SPAN.firstChild, BOX = {};
-            if (HTMLCSS.msiePaddingWidthBug) {
-                stack = stack.nextSibling
-            }
-            var box = stack.firstChild;
+  /**************************************************************************/
 
-            //
-            //  Get the boxes for the scripts (if any)
-            //
-            while (box) {
-                if (box.bbox && box.bbox.name) {
-                    BOX[box.bbox.name] = box
-                }
-                box = box.nextSibling;
-            }
-            //
-            //  If this is the start, move the prescripts, if any.
-            //
-            if (start.length < 1) {
-                if (BOX.presub || BOX.presup) {
-                    var STACK = HTMLCSS.createStack(span);
-                    if (BOX.presup) {
-                        HTMLCSS.addBox(STACK, BOX.presup);
-                        HTMLCSS.placeBox(BOX.presup, data.dx - BOX.presup.bbox.w, data.u);
-                    }
-                    if (BOX.presub) {
-                        HTMLCSS.addBox(STACK, BOX.presub);
-                        HTMLCSS.placeBox(BOX.presub, data.dx + data.delta - BOX.presub.bbox.w, -data.v);
-                    }
-                    this.HTMLcombineBBoxes(STACK, span.bbox);
-                    span.appendChild(STACK);
-                    STACK.style.width = HTMLCSS.Em(data.dx);
-                }
-            }
-            //
-            //  Move the proper part of the base
-            //
-            if (this.data[this.base]) {
-                if (start.length > 1) {
-                    this.data[this.base].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
-                } else {
-                    if (end.length <= 1) {
-                        this.data[this.base].HTMLmoveSpan(span, state, values)
-                    }
-                    else {
-                        this.data[this.base].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
-                    }
-                }
-            }
-            //
-            //  If this is the end, check for super and subscripts, and move those
-            //  by moving the stack that contains them, and shifting by the amount of the
-            //  base that has been removed.  Remove the empty base box from the stack.
-            //
-            if (end.length === 0) {
-                if (this.data[this.base]) {
-                    stack.removeChild(stack.firstChild)
-                }
-                for (box = stack.firstChild; box; box = box.nextSibling) {
-                    box.style.left = HTMLCSS.Em(HTMLCSS.unEm(box.style.left) - data.px)
-                }
-                stack.bbox.w -= data.px;
-                stack.style.width = HTMLCSS.Em(stack.bbox.w);
-                this.HTMLcombineBBoxes(stack, span.bbox);
-                span.appendChild(stack);
-            }
+  MML.mmultiscripts.Augment({
+    HTMLbetterBreak: function (info, state) {
+      if (!this.data[this.base]) {
+        return false
+      }
+      //
+      //  Get the current breakpoint position and other data
+      //
+      var index = info.index.slice(0);
+      info.index.shift();
+      var W, w, scanW, broken = (info.index.length > 0), better = false;
+      if (!broken) {
+        info.W += info.w;
+        info.w = 0
+      }
+      info.scanW = info.W;
+      //
+      //  Get the bounding boxes and the width of the scripts
+      //
+      var bbox = this.HTMLspanElement().bbox,
+          base = this.data[this.base].HTMLspanElement().bbox;
+      var dw = bbox.w - base.w;
+      //
+      //  Add in the prescripts
+      //
+      info.scanW += bbox.dx;
+      scanW = info.scanW;
+      //
+      //  Check if the base can be broken
+      //
+      if (this.data[this.base].HTMLbetterBreak(info, state)) {
+        better = true;
+        index = [this.base].concat(info.index);
+        W = info.W;
+        w = info.w;
+        if (info.penalty === PENALTY.newline) {
+          better = broken = true
         }
+      }
+      //
+      //  Add in the base if it is unbroken, and add the scripts
+      //
+      if (!broken) {
+        this.HTMLaddWidth(this.base, info, scanW)
+      }
+      info.scanW += dw;
+      info.W = info.scanW;
+      info.index = [];
+      if (better) {
+        info.W = W;
+        info.w = w;
+        info.index = index
+      }
+      return better;
+    },
 
-    });
-
-    /**************************************************************************/
+    HTMLmoveLine: function (start, end, span, state, values) {
+      var SPAN = this.HTMLspanElement(), data = SPAN.bbox,
+          stack = SPAN.firstChild, BOX = {};
+      if (HTMLCSS.msiePaddingWidthBug) {
+        stack = stack.nextSibling
+      }
+      var box = stack.firstChild;
 
-    MML.mo.Augment({
-        //
-        //  Override the method for checking line breaks to properly handle <mo>
-        //
-        HTMLbetterBreak: function (info, state) {
-            if (info.values && info.values.id === this.spanID) {
-                return false
-            }
-            var values = this.getValues(
-                "linebreak", "linebreakstyle", "lineleading", "linebreakmultchar",
-                "indentalign", "indentshift",
-                "indentalignfirst", "indentshiftfirst",
-                "indentalignlast", "indentshiftlast",
-                "texClass", "fence"
-            );
-            if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) {
-                values.linebreakstyle = this.Get("infixlinebreakstyle")
-            }
-            //
-            //  Adjust nesting by TeX class (helps output that does not include
-            //  mrows for nesting, but can leave these unbalanced.
-            //
-            if (values.texClass === MML.TEXCLASS.OPEN) {
-                info.nest++
-            }
-            if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) {
-                info.nest--
-            }
-            //
-            //  Get the default penalty for this location
-            //
-            var W = info.scanW, mo = (info.embellished || this);
-            delete info.embellished;
-            var span = mo.HTMLspanElement(), w = span.bbox.w;
-            if (span.style.paddingLeft) {
-                w += HTMLCSS.unEm(span.style.paddingLeft)
-            }
-            if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {
-                W += w;
-                w = 0
-            }
-            if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) {
-                return false
-            } // don't break at zero width (FIXME?)
-            var offset = HTMLCSS.linebreakWidth - W;
-            // Adjust offest for explicit first-line indent and align
-            if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst ||
-                values.indentalignfirst !== state.VALUES.indentalignfirst)) {
-                var align = this.HTMLgetAlign(state, values),
-                    shift = this.HTMLgetShift(state, values, align);
-                offset += (info.shift - shift);
-            }
-            //
-            var penalty = Math.floor(offset / HTMLCSS.linebreakWidth * 1000);
-            if (penalty < 0) {
-                penalty = PENALTY.toobig - 3 * penalty
-            }
-            if (values.fence) {
-                penalty += PENALTY.fence
-            }
-            if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER &&
-                values.texClass === MML.TEXCLASS.OPEN) ||
-                values.texClass === MML.TEXCLASS.CLOSE) {
-                penalty += PENALTY.close
-            }
-            penalty += info.nest * PENALTY.nestfactor;
-            //
-            //  Get the penalty for this type of break and
-            //    use it to modify the default penalty
-            //
-            var linebreak = PENALTY[values.linebreak || MML.LINEBREAK.AUTO];
-            if (!(linebreak instanceof Array)) {
-                //  for breaks past the width, don't modify penalty
-                if (offset >= 0) {
-                    penalty = linebreak * info.nest
-                }
-            } else {
-                penalty = Math.max(1, penalty + linebreak[0] * info.nest)
-            }
-            //
-            //  If the penalty is no better than the current one, return false
-            //  Otherwise save the data for this breakpoint and return true
-            //
-            if (penalty >= info.penalty) {
-                return false
-            }
-            info.penalty = penalty;
-            info.values = values;
-            info.W = W;
-            info.w = w;
-            values.lineleading = HTMLCSS.length2em(values.lineleading, 1, state.VALUES.lineleading);
-            values.id = this.spanID;
-            return true;
+      //
+      //  Get the boxes for the scripts (if any)
+      //
+      while (box) {
+        if (box.bbox && box.bbox.name) {
+          BOX[box.bbox.name] = box
         }
-    });
+        box = box.nextSibling;
+      }
+      //
+      //  If this is the start, move the prescripts, if any.
+      //
+      if (start.length < 1) {
+        if (BOX.presub || BOX.presup) {
+          var STACK = HTMLCSS.createStack(span);
+          if (BOX.presup) {
+            HTMLCSS.addBox(STACK, BOX.presup);
+            HTMLCSS.placeBox(BOX.presup, data.dx - BOX.presup.bbox.w, data.u);
+          }
+          if (BOX.presub) {
+            HTMLCSS.addBox(STACK, BOX.presub);
+            HTMLCSS.placeBox(BOX.presub, data.dx + data.delta - BOX.presub.bbox.w, -data.v);
+          }
+          this.HTMLcombineBBoxes(STACK, span.bbox);
+          span.appendChild(STACK);
+          STACK.style.width = HTMLCSS.Em(data.dx);
+        }
+      }
+      //
+      //  Move the proper part of the base
+      //
+      if (this.data[this.base]) {
+        if (start.length > 1) {
+          this.data[this.base].HTMLmoveSlice(start.slice(1), end.slice(1), span, state, values, "paddingLeft");
+        } else {
+          if (end.length <= 1) {
+            this.data[this.base].HTMLmoveSpan(span, state, values)
+          }
+          else {
+            this.data[this.base].HTMLmoveSlice([], end.slice(1), span, state, values, "paddingRight")
+          }
+        }
+      }
+      //
+      //  If this is the end, check for super and subscripts, and move those
+      //  by moving the stack that contains them, and shifting by the amount of the
+      //  base that has been removed.  Remove the empty base box from the stack.
+      //
+      if (end.length === 0) {
+        if (this.data[this.base]) {
+          stack.removeChild(stack.firstChild)
+        }
+        for (box = stack.firstChild; box; box = box.nextSibling) {
+          box.style.left = HTMLCSS.Em(HTMLCSS.unEm(box.style.left) - data.px)
+        }
+        stack.bbox.w -= data.px;
+        stack.style.width = HTMLCSS.Em(stack.bbox.w);
+        this.HTMLcombineBBoxes(stack, span.bbox);
+        span.appendChild(stack);
+      }
+    }
 
-    /**************************************************************************/
+  });
 
-    MML.mspace.Augment({
-        //
-        //  Override the method for checking line breaks to properly handle <mspace>
-        //
-        HTMLbetterBreak: function (info, state) {
-            if (info.values && info.values.id === this.spanID) {
-                return false
-            }
-            var values = this.getValues("linebreak");
-            var linebreakValue = values.linebreak;
-            if (!linebreakValue || this.hasDimAttr()) {
-                // The MathML spec says that the linebreak attribute should be ignored
-                // if any dimensional attribute is set.
-                linebreakValue = MML.LINEBREAK.AUTO;
-            }
-            //
-            //  Get the default penalty for this location
-            //
-            var W = info.scanW, span = this.HTMLspanElement(), w = span.bbox.w;
-            if (span.style.paddingLeft) {
-                w += HTMLCSS.unEm(span.style.paddingLeft)
-            }
-            if (W - info.shift === 0) {
-                return false
-            } // don't break at zero width (FIXME?)
-            var offset = HTMLCSS.linebreakWidth - W;
-            //
-            var penalty = Math.floor(offset / HTMLCSS.linebreakWidth * 1000);
-            if (penalty < 0) {
-                penalty = PENALTY.toobig - 3 * penalty
-            }
-            penalty += info.nest * PENALTY.nestfactor;
-            //
-            //  Get the penalty for this type of break and
-            //    use it to modify the default penalty
-            //
-            var linebreak = PENALTY[linebreakValue];
-            if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit && !this.mathbackground && !this.background) {
-                linebreak = [(w + PENALTY.spaceoffset) * PENALTY.spacefactor]
-            }
-            if (!(linebreak instanceof Array)) {
-                //  for breaks past the width, don't modify penalty
-                if (offset >= 0) {
-                    penalty = linebreak * info.nest
-                }
-            } else {
-                penalty = Math.max(1, penalty + linebreak[0] * info.nest)
-            }
-            //
-            //  If the penalty is no better than the current one, return false
-            //  Otherwise save the data for this breakpoint and return true
-            //
-            if (penalty >= info.penalty) {
-                return false
-            }
-            info.penalty = penalty;
-            info.values = values;
-            info.W = W;
-            info.w = w;
-            values.lineleading = state.VALUES.lineleading;
-            values.linebreakstyle = "before";
-            values.id = this.spanID;
-            return true;
-        }
-    });
+  /**************************************************************************/
 
+  MML.mo.Augment({
     //
-    //  Hook into the mathchoice extension
+    //  Override the method for checking line breaks to properly handle <mo>
     //
-    MathJax.Hub.Register.StartupHook("TeX mathchoice Ready", function () {
-        MML.TeXmathchoice.Augment({
-            HTMLbetterBreak: function (info, state) {
-                return this.Core().HTMLbetterBreak(info, state);
-            },
-            HTMLmoveLine: function (start, end, span, state, values) {
-                return this.Core().HTMLmoveSlice(start, end, span, state, values);
-            }
-        });
-    });
+    HTMLbetterBreak: function (info, state) {
+      if (info.values && info.values.id === this.spanID) {
+        return false
+      }
+      var values = this.getValues(
+          "linebreak", "linebreakstyle", "lineleading", "linebreakmultchar",
+          "indentalign", "indentshift",
+          "indentalignfirst", "indentshiftfirst",
+          "indentalignlast", "indentshiftlast",
+          "texClass", "fence"
+      );
+      if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) {
+        values.linebreakstyle = this.Get("infixlinebreakstyle")
+      }
+      //
+      //  Adjust nesting by TeX class (helps output that does not include
+      //  mrows for nesting, but can leave these unbalanced.
+      //
+      if (values.texClass === MML.TEXCLASS.OPEN) {
+        info.nest++
+      }
+      if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) {
+        info.nest--
+      }
+      //
+      //  Get the default penalty for this location
+      //
+      var W = info.scanW, mo = (info.embellished || this);
+      delete info.embellished;
+      var span = mo.HTMLspanElement(), w = span.bbox.w;
+      if (span.style.paddingLeft) {
+        w += HTMLCSS.unEm(span.style.paddingLeft)
+      }
+      if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {
+        W += w;
+        w = 0
+      }
+      if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) {
+        return false
+      } // don't break at zero width (FIXME?)
+      var offset = HTMLCSS.linebreakWidth - W;
+      // Adjust offest for explicit first-line indent and align
+      if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst ||
+          values.indentalignfirst !== state.VALUES.indentalignfirst)) {
+        var align = this.HTMLgetAlign(state, values),
+            shift = this.HTMLgetShift(state, values, align);
+        offset += (info.shift - shift);
+      }
+      //
+      var penalty = Math.floor(offset / HTMLCSS.linebreakWidth * 1000);
+      if (penalty < 0) {
+        penalty = PENALTY.toobig - 3 * penalty
+      }
+      if (values.fence) {
+        penalty += PENALTY.fence
+      }
+      if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER &&
+          values.texClass === MML.TEXCLASS.OPEN) ||
+          values.texClass === MML.TEXCLASS.CLOSE) {
+        penalty += PENALTY.close
+      }
+      penalty += info.nest * PENALTY.nestfactor;
+      //
+      //  Get the penalty for this type of break and
+      //    use it to modify the default penalty
+      //
+      var linebreak = PENALTY[values.linebreak || MML.LINEBREAK.AUTO];
+      if (!(linebreak instanceof Array)) {
+        //  for breaks past the width, don't modify penalty
+        if (offset >= 0) {
+          penalty = linebreak * info.nest
+        }
+      } else {
+        penalty = Math.max(1, penalty + linebreak[0] * info.nest)
+      }
+      //
+      //  If the penalty is no better than the current one, return false
+      //  Otherwise save the data for this breakpoint and return true
+      //
+      if (penalty >= info.penalty) {
+        return false
+      }
+      info.penalty = penalty;
+      info.values = values;
+      info.W = W;
+      info.w = w;
+      values.lineleading = HTMLCSS.length2em(values.lineleading, 1, state.VALUES.lineleading);
+      values.id = this.spanID;
+      return true;
+    }
+  });
+
+  /**************************************************************************/
 
+  MML.mspace.Augment({
     //
-    //  Have maction process only the selected item
+    //  Override the method for checking line breaks to properly handle <mspace>
     //
-    MML.maction.Augment({
-        HTMLbetterBreak: function (info, state) {
-            return this.Core().HTMLbetterBreak(info, state);
-        },
-        HTMLmoveLine: function (start, end, span, state, values) {
-            return this.Core().HTMLmoveSlice(start, end, span, state, values);
-        },
-        //
-        //  Split and move the hit boxes as well
-        //
-        HTMLmoveSlice: function (start, end, span, state, values, padding) {
-            var hitbox = document.getElementById("MathJax-HitBox-" + this.spanID + HTMLCSS.idPostfix);
-            if (hitbox) {
-                hitbox.parentNode.removeChild(hitbox)
-            }
-            var slice = this.SUPER(arguments).HTMLmoveSlice.apply(this, arguments);
-            if (end.length === 0) {
-                span = this.HTMLspanElement();
-                var n = 0;
-                while (span) {
-                    hitbox = this.HTMLhandleHitBox(span, "-Continue-" + n);
-                    span = span.nextMathJaxSpan;
-                    n++;
-                }
-            }
-            return slice;
+    HTMLbetterBreak: function (info, state) {
+      if (info.values && info.values.id === this.spanID) {
+        return false
+      }
+      var values = this.getValues("linebreak");
+      var linebreakValue = values.linebreak;
+      if (!linebreakValue || this.hasDimAttr()) {
+        // The MathML spec says that the linebreak attribute should be ignored
+        // if any dimensional attribute is set.
+        linebreakValue = MML.LINEBREAK.AUTO;
+      }
+      //
+      //  Get the default penalty for this location
+      //
+      var W = info.scanW, span = this.HTMLspanElement(), w = span.bbox.w;
+      if (span.style.paddingLeft) {
+        w += HTMLCSS.unEm(span.style.paddingLeft)
+      }
+      if (W - info.shift === 0) {
+        return false
+      } // don't break at zero width (FIXME?)
+      var offset = HTMLCSS.linebreakWidth - W;
+      //
+      var penalty = Math.floor(offset / HTMLCSS.linebreakWidth * 1000);
+      if (penalty < 0) {
+        penalty = PENALTY.toobig - 3 * penalty
+      }
+      penalty += info.nest * PENALTY.nestfactor;
+      //
+      //  Get the penalty for this type of break and
+      //    use it to modify the default penalty
+      //
+      var linebreak = PENALTY[linebreakValue];
+      if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit && !this.mathbackground && !this.background) {
+        linebreak = [(w + PENALTY.spaceoffset) * PENALTY.spacefactor]
+      }
+      if (!(linebreak instanceof Array)) {
+        //  for breaks past the width, don't modify penalty
+        if (offset >= 0) {
+          penalty = linebreak * info.nest
         }
+      } else {
+        penalty = Math.max(1, penalty + linebreak[0] * info.nest)
+      }
+      //
+      //  If the penalty is no better than the current one, return false
+      //  Otherwise save the data for this breakpoint and return true
+      //
+      if (penalty >= info.penalty) {
+        return false
+      }
+      info.penalty = penalty;
+      info.values = values;
+      info.W = W;
+      info.w = w;
+      values.lineleading = state.VALUES.lineleading;
+      values.linebreakstyle = "before";
+      values.id = this.spanID;
+      return true;
+    }
+  });
+
+  //
+  //  Hook into the mathchoice extension
+  //
+  MathJax.Hub.Register.StartupHook("TeX mathchoice Ready", function () {
+    MML.TeXmathchoice.Augment({
+      HTMLbetterBreak: function (info, state) {
+        return this.Core().HTMLbetterBreak(info, state);
+      },
+      HTMLmoveLine: function (start, end, span, state, values) {
+        return this.Core().HTMLmoveSlice(start, end, span, state, values);
+      }
     });
+  });
 
+  //
+  //  Have maction process only the selected item
+  //
+  MML.maction.Augment({
+    HTMLbetterBreak: function (info, state) {
+      return this.Core().HTMLbetterBreak(info, state);
+    },
+    HTMLmoveLine: function (start, end, span, state, values) {
+      return this.Core().HTMLmoveSlice(start, end, span, state, values);
+    },
     //
-    //  Have semantics only do the first element
-    //  (FIXME:  do we need to do anything special about annotation-xml?)
+    //  Split and move the hit boxes as well
     //
-    MML.semantics.Augment({
-        HTMLbetterBreak: function (info, state) {
-            return (this.data[0] ? this.data[0].HTMLbetterBreak(info, state) : false);
-        },
-        HTMLmoveLine: function (start, end, span, state, values) {
-            return (this.data[0] ? this.data[0].HTMLmoveSlice(start, end, span, state, values) : null);
+    HTMLmoveSlice: function (start, end, span, state, values, padding) {
+      var hitbox = document.getElementById("MathJax-HitBox-" + this.spanID + HTMLCSS.idPostfix);
+      if (hitbox) {
+        hitbox.parentNode.removeChild(hitbox)
+      }
+      var slice = this.SUPER(arguments).HTMLmoveSlice.apply(this, arguments);
+      if (end.length === 0) {
+        span = this.HTMLspanElement();
+        var n = 0;
+        while (span) {
+          hitbox = this.HTMLhandleHitBox(span, "-Continue-" + n);
+          span = span.nextMathJaxSpan;
+          n++;
         }
-    });
+      }
+      return slice;
+    }
+  });
+
+  //
+  //  Have semantics only do the first element
+  //  (FIXME:  do we need to do anything special about annotation-xml?)
+  //
+  MML.semantics.Augment({
+    HTMLbetterBreak: function (info, state) {
+      return (this.data[0] ? this.data[0].HTMLbetterBreak(info, state) : false);
+    },
+    HTMLmoveLine: function (start, end, span, state, values) {
+      return (this.data[0] ? this.data[0].HTMLmoveSlice(start, end, span, state, values) : null);
+    }
+  });
 
-    /**************************************************************************/
+  /**************************************************************************/
 
-    MathJax.Hub.Startup.signal.Post("HTML-CSS multiline Ready");
-    MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir + "/multiline.js");
+  MathJax.Hub.Startup.signal.Post("HTML-CSS multiline Ready");
+  MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir + "/multiline.js");
 
 });
 

+ 518 - 518
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Main/Regular/Main.js

@@ -18,524 +18,524 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['AsanaMathJax_Main'] = {
-    directory: 'Main/Regular',
-    family: 'AsanaMathJax_Main',
-    testString: '\u00A3\u00A5\u00A7\u00A8\u00AC\u00AE\u00B1\u00B5\u00B7\u00D7\u00F0\u00F7\u0131\u02C6\u02C7',
-    0x20: [0, 0, 249, 0, 0],
-    0x21: [694, 5, 277, 81, 197],
-    0x22: [709, -469, 370, 52, 319],
-    0x23: [684, 0, 499, 4, 495],
-    0x24: [731, 116, 499, 30, 471],
-    0x25: [709, 20, 839, 39, 802],
-    0x26: [689, 20, 777, 43, 753],
-    0x27: [709, -446, 277, 45, 233],
-    0x28: [726, 215, 332, 60, 301],
-    0x29: [726, 215, 332, 32, 273],
-    0x2A: [442, -95, 388, 32, 359],
-    0x2B: [538, 0, 668, 65, 604],
-    0x2C: [123, 155, 249, 16, 218],
-    0x2D: [287, -215, 332, 18, 314],
-    0x2E: [111, 5, 249, 67, 183],
-    0x2F: [714, 169, 286, -37, 297],
-    0x30: [689, 20, 499, 29, 465],
-    0x31: [700, 3, 499, 60, 418],
-    0x32: [689, 3, 499, 16, 468],
-    0x33: [689, 20, 499, 15, 462],
-    0x34: [697, 3, 499, 2, 472],
-    0x35: [690, 20, 499, 13, 459],
-    0x36: [689, 20, 499, 32, 468],
-    0x37: [689, 1, 499, 44, 497],
-    0x38: [689, 20, 499, 30, 464],
-    0x39: [689, 20, 499, 20, 457],
-    0x3A: [456, 5, 249, 66, 182],
-    0x3B: [456, 153, 249, 16, 218],
-    0x3C: [528, 0, 668, 65, 604],
-    0x3D: [406, -134, 668, 65, 604],
-    0x3E: [528, 0, 668, 65, 604],
-    0x3F: [694, 5, 443, 43, 395],
-    0x40: [694, 20, 746, 24, 724],
-    0x41: [700, 3, 777, 15, 756],
-    0x42: [692, 3, 610, 26, 576],
-    0x43: [709, 20, 708, 22, 670],
-    0x44: [692, 3, 793, 22, 751],
-    0x45: [692, 3, 610, 22, 572],
-    0x46: [692, 3, 555, 22, 536],
-    0x47: [709, 20, 762, 22, 728],
-    0x48: [692, 3, 831, 22, 810],
-    0x49: [692, 3, 336, 22, 315],
-    0x4A: [692, 195, 332, -15, 311],
-    0x4B: [692, 3, 725, 22, 719],
-    0x4C: [692, 3, 610, 22, 586],
-    0x4D: [692, 13, 945, 16, 926],
-    0x4E: [692, 6, 830, 17, 813],
-    0x4F: [709, 20, 785, 22, 764],
-    0x50: [692, 3, 603, 22, 580],
-    0x51: [709, 176, 785, 22, 764],
-    0x52: [692, 3, 667, 22, 669],
-    0x53: [709, 20, 524, 24, 503],
-    0x54: [692, 3, 612, 18, 595],
-    0x55: [692, 20, 777, 12, 759],
-    0x56: [692, 9, 721, 8, 706],
-    0x57: [700, 9, 1000, 8, 984],
-    0x58: [700, 3, 666, 14, 648],
-    0x59: [705, 3, 666, 9, 654],
-    0x5A: [692, 3, 666, 15, 638],
-    0x5B: [726, 184, 332, 79, 288],
-    0x5C: [714, 169, 286, -9, 324],
-    0x5D: [726, 184, 332, 45, 254],
-    0x5E: [689, -283, 605, 51, 554],
-    0x5F: [-75, 125, 499, 0, 500],
-    0x60: [709, -446, 277, 45, 233],
-    0x61: [469, 12, 499, 32, 471],
-    0x62: [726, 28, 552, -15, 508],
-    0x63: [497, 20, 443, 25, 413],
-    0x64: [726, 12, 610, 34, 579],
-    0x65: [469, 20, 478, 26, 448],
-    0x66: [737, 3, 332, 23, 341],
-    0x67: [469, 283, 555, 32, 544],
-    0x68: [726, 3, 581, 6, 572],
-    0x69: [687, 3, 290, 21, 271],
-    0x6A: [688, 283, 233, -40, 167],
-    0x6B: [726, 12, 555, 21, 549],
-    0x6C: [726, 3, 290, 21, 271],
-    0x6D: [469, 3, 882, 16, 869],
-    0x6E: [469, 3, 581, 6, 572],
-    0x6F: [469, 20, 545, 32, 514],
-    0x70: [477, 281, 600, 8, 556],
-    0x71: [477, 281, 600, 45, 593],
-    0x72: [469, 3, 394, 21, 374],
-    0x73: [469, 20, 423, 30, 391],
-    0x74: [621, 12, 325, 22, 319],
-    0x75: [469, 12, 602, 18, 581],
-    0x76: [459, 7, 564, 6, 539],
-    0x77: [469, 7, 833, 6, 808],
-    0x78: [469, 3, 515, 20, 496],
-    0x79: [459, 283, 555, 12, 544],
-    0x7A: [462, 3, 499, 16, 466],
-    0x7B: [726, 175, 332, 58, 289],
-    0x7C: [713, 172, 210, 76, 135],
-    0x7D: [726, 175, 332, 44, 275],
-    0x7E: [341, -182, 605, 51, 555],
-    0xA3: [694, 13, 499, 12, 478],
-    0xA5: [701, 3, 499, 5, 496],
-    0xA7: [709, 219, 499, 26, 465],
-    0xA8: [637, -537, 332, 17, 316],
-    0xAC: [360, -88, 673, 65, 608],
-    0xAE: [705, 164, 906, 18, 889],
-    0xB1: [541, 0, 668, 65, 604],
-    0xB5: [473, 286, 610, 89, 567],
-    0xB7: [319, -203, 249, 67, 183],
-    0xD7: [547, 5, 668, 59, 611],
-    0xF0: [728, 20, 545, 32, 504],
-    0xF7: [512, -10, 605, 51, 555],
-    0x131: [469, 3, 290, 21, 271],
-    0x2C6: [677, -510, 312, 0, 312],
-    0x2C7: [677, -510, 312, 0, 312],
-    0x2C9: [591, -538, 338, 13, 325],
-    0x2D8: [699, -534, 269, -4, 273],
-    0x2D9: [676, -568, 333, 112, 220],
-    0x2DA: [717, -535, 267, 36, 231],
-    0x2DC: [682, -571, 329, -5, 334],
-    0x300: [677, -506, 0, -302, -78],
-    0x301: [677, -506, 0, -255, -31],
-    0x302: [677, -510, 0, -312, 0],
-    0x303: [640, -535, 0, -330, 0],
-    0x304: [591, -538, 0, -332, -20],
-    0x306: [664, -506, 0, -307, -25],
-    0x307: [637, -537, 0, -175, -75],
-    0x308: [637, -537, 0, -318, -17],
-    0x30A: [718, -518, 0, -235, -35],
-    0x30C: [677, -510, 0, -322, -10],
-    0x338: [714, 169, 0, -408, 0],
-    0x382: [0, 0, 768, 0, 0],
-    0x391: [700, 3, 777, 15, 756],
-    0x392: [692, 3, 610, 26, 576],
-    0x393: [692, 3, 555, 22, 536],
-    0x394: [697, 4, 688, 27, 662],
-    0x395: [692, 3, 610, 22, 572],
-    0x396: [692, 3, 666, 15, 638],
-    0x397: [692, 3, 831, 22, 810],
-    0x398: [709, 20, 785, 22, 764],
-    0x399: [692, 3, 336, 22, 315],
-    0x39A: [692, 3, 725, 22, 719],
-    0x39B: [697, 4, 753, 17, 729],
-    0x39C: [692, 13, 945, 16, 926],
-    0x39D: [692, 20, 830, 17, 813],
-    0x39E: [689, 4, 692, 42, 651],
-    0x39F: [709, 20, 785, 22, 764],
-    0x3A0: [689, 4, 812, 25, 788],
-    0x3A1: [692, 3, 603, 22, 580],
-    0x3A3: [689, 4, 684, 45, 643],
-    0x3A4: [692, 3, 612, 18, 595],
-    0x3A5: [691, 4, 733, 3, 735],
-    0x3A6: [689, 4, 755, 23, 723],
-    0x3A7: [700, 3, 666, 14, 648],
-    0x3A8: [689, 4, 870, 18, 852],
-    0x3A9: [704, 6, 824, 34, 791],
-    0x3B1: [473, 16, 594, 44, 571],
-    0x3B2: [680, 283, 512, 68, 460],
-    0x3B3: [473, 273, 581, -31, 489],
-    0x3B4: [702, 16, 497, 56, 468],
-    0x3B5: [468, 13, 480, 69, 436],
-    0x3B6: [712, 149, 504, 61, 509],
-    0x3B7: [473, 275, 531, -11, 464],
-    0x3B8: [702, 16, 613, 83, 555],
-    0x3B9: [473, 16, 310, 94, 305],
-    0x3BA: [473, 16, 571, 13, 553],
-    0x3BB: [702, 16, 618, 86, 616],
-    0x3BC: [473, 286, 610, 89, 567],
-    0x3BD: [473, 7, 497, -24, 443],
-    0x3BE: [701, 148, 547, 65, 507],
-    0x3BF: [469, 20, 545, 32, 514],
-    0x3C0: [467, 15, 653, 27, 628],
-    0x3C1: [473, 284, 566, 83, 490],
-    0x3C2: [463, 155, 501, 43, 430],
-    0x3C3: [474, 15, 552, 35, 487],
-    0x3C4: [463, 16, 519, 35, 439],
-    0x3C5: [471, 12, 547, 13, 490],
-    0x3C6: [485, 277, 681, 8, 606],
-    0x3C7: [479, 193, 608, 51, 548],
-    0x3C8: [682, 281, 695, 6, 626],
-    0x3C9: [463, 12, 715, 36, 659],
-    0x3D0: [701, 13, 562, 30, 492],
-    0x3D1: [702, 15, 620, 62, 583],
-    0x3D5: [705, 289, 665, 27, 613],
-    0x3D6: [529, 12, 715, 41, 671],
-    0x3DC: [692, 3, 555, 22, 536],
-    0x3DD: [495, 233, 514, 23, 495],
-    0x3F0: [510, 16, 705, 48, 659],
-    0x3F1: [474, 260, 478, 72, 461],
-    0x3F4: [709, 20, 785, 22, 764],
-    0x3F5: [466, 12, 480, 46, 439],
-    0x2013: [277, -219, 499, 0, 500],
-    0x2014: [277, -219, 1000, 0, 1000],
-    0x2016: [713, 172, 420, 76, 345],
-    0x2018: [709, -446, 277, 45, 233],
-    0x2019: [709, -446, 277, 45, 233],
-    0x201C: [709, -446, 510, 45, 466],
-    0x201D: [709, -446, 510, 45, 466],
-    0x2020: [694, 5, 499, 34, 466],
-    0x2021: [694, 249, 499, 34, 466],
-    0x2026: [111, 5, 746, 100, 647],
-    0x2032: [495, -47, 364, 53, 313],
-    0x2033: [495, -47, 599, 53, 548],
-    0x2034: [495, -47, 834, 53, 783],
-    0x2035: [495, -47, 364, 53, 313],
-    0x203E: [1726, -1614, 1024, 0, 1024],
-    0x2044: [558, 279, 313, 0, 314],
-    0x2057: [495, -47, 1069, 53, 1018],
-    0x20D7: [790, -519, 557, 0, 558],
-    0x210F: [733, 9, 499, 10, 471],
-    0x2111: [721, 4, 645, 12, 594],
-    0x2113: [713, 13, 470, 16, 455],
-    0x2118: [504, 203, 656, 58, 617],
-    0x211C: [717, 4, 748, 17, 702],
-    0x2127: [704, 6, 824, 34, 791],
-    0x2132: [692, 3, 555, 22, 536],
-    0x2135: [746, 13, 672, 32, 641],
-    0x2136: [734, 0, 675, 31, 635],
-    0x2137: [734, 0, 331, 26, 306],
-    0x2138: [734, 0, 559, 36, 526],
-    0x2141: [727, 9, 778, 53, 708],
-    0x2190: [486, -55, 1013, 65, 949],
-    0x2191: [713, 172, 524, 47, 478],
-    0x2192: [486, -55, 1013, 65, 949],
-    0x2193: [713, 172, 524, 47, 478],
-    0x2194: [486, -55, 1013, 65, 949],
-    0x2195: [712, 172, 524, 47, 478],
-    0x2196: [713, 172, 1013, 65, 949],
-    0x2197: [713, 172, 1013, 65, 949],
-    0x2198: [713, 172, 1013, 65, 949],
-    0x2199: [713, 172, 1013, 65, 949],
-    0x219A: [486, -55, 1013, 65, 949],
-    0x219B: [486, -55, 1013, 65, 949],
-    0x219E: [486, -55, 1013, 65, 949],
-    0x21A0: [486, -55, 1013, 65, 949],
-    0x21A2: [486, -55, 1150, 65, 1075],
-    0x21A3: [486, -55, 1150, 76, 1085],
-    0x21A6: [486, -55, 1013, 36, 978],
-    0x21A9: [494, -55, 1013, 65, 949],
-    0x21AA: [494, -55, 1013, 65, 949],
-    0x21AB: [493, -55, 1013, 65, 949],
-    0x21AC: [493, -55, 1013, 65, 949],
-    0x21AD: [486, -55, 1211, 34, 1178],
-    0x21AE: [486, -55, 1013, 65, 949],
-    0x21B0: [753, 0, 506, 65, 442],
-    0x21B1: [753, 0, 506, 65, 442],
-    0x21B6: [458, 0, 1124, 34, 1115],
-    0x21B7: [458, 0, 1124, 34, 1115],
-    0x21BA: [751, 0, 987, 114, 875],
-    0x21BB: [751, 0, 987, 114, 875],
-    0x21BC: [394, -149, 1013, 64, 950],
-    0x21BD: [394, -148, 1013, 64, 950],
-    0x21BE: [714, 171, 524, 233, 478],
-    0x21BF: [714, 171, 524, 47, 293],
-    0x21C0: [394, -149, 1013, 64, 950],
-    0x21C1: [394, -148, 1013, 64, 950],
-    0x21C2: [714, 171, 524, 233, 478],
-    0x21C3: [714, 171, 524, 47, 293],
-    0x21C4: [665, 124, 1013, 65, 949],
-    0x21C6: [665, 124, 1013, 65, 949],
-    0x21C7: [665, 124, 1013, 65, 949],
-    0x21C8: [714, 171, 883, 47, 837],
-    0x21C9: [665, 124, 1013, 65, 949],
-    0x21CA: [714, 171, 883, 47, 837],
-    0x21CB: [594, 52, 1013, 65, 949],
-    0x21CC: [594, 52, 1013, 65, 949],
-    0x21CD: [537, -6, 1013, 65, 949],
-    0x21CE: [537, -6, 1013, 59, 954],
-    0x21CF: [537, -6, 1013, 65, 949],
-    0x21D0: [539, -7, 1013, 65, 949],
-    0x21D1: [713, 172, 578, 24, 555],
-    0x21D2: [539, -7, 1013, 65, 949],
-    0x21D3: [713, 172, 578, 24, 555],
-    0x21D4: [537, -5, 1013, 59, 954],
-    0x21D5: [718, 176, 578, 24, 556],
-    0x21DA: [607, 67, 1013, 65, 949],
-    0x21DB: [608, 66, 1013, 65, 949],
-    0x21DD: [485, -54, 1149, 34, 1116],
-    0x21E0: [485, -54, 1063, 65, 998],
-    0x21E2: [485, -54, 1063, 65, 998],
-    0x2200: [697, 15, 617, 26, 592],
-    0x2201: [906, 146, 753, 114, 640],
-    0x2202: [750, 11, 494, 35, 460],
-    0x2203: [697, 0, 617, 46, 572],
-    0x2204: [836, 141, 617, 46, 572],
-    0x2205: [591, 13, 733, 65, 668],
-    0x2207: [697, 4, 688, 27, 662],
-    0x2208: [533, -8, 563, 55, 509],
-    0x2209: [648, 107, 563, 55, 509],
-    0x220B: [533, -8, 563, 55, 509],
-    0x220D: [482, 3, 511, 65, 446],
-    0x2212: [299, -243, 605, 51, 555],
-    0x2213: [541, 0, 668, 65, 604],
-    0x2214: [629, 89, 668, 65, 604],
-    0x2215: [726, 119, 605, 87, 519],
-    0x2216: [501, -50, 799, 101, 699],
-    0x2217: [446, -99, 388, 31, 358],
-    0x2218: [417, -124, 388, 47, 342],
-    0x2219: [319, -203, 249, 67, 183],
-    0x221A: [1079, 59, 760, 63, 793],
-    0x221D: [466, -75, 668, 65, 604],
-    0x221E: [463, -65, 897, 55, 843],
-    0x2220: [577, 0, 535, 65, 471],
-    0x2221: [577, 0, 535, 65, 471],
-    0x2222: [515, -26, 535, 65, 471],
-    0x2223: [714, 171, 437, 189, 248],
-    0x2224: [714, 171, 437, 0, 438],
-    0x2225: [714, 171, 641, 186, 456],
-    0x2226: [714, 171, 641, 0, 642],
-    0x2227: [585, 0, 687, 65, 623],
-    0x2228: [585, 0, 687, 65, 623],
-    0x2229: [603, 0, 687, 65, 623],
-    0x222A: [603, 0, 687, 65, 623],
-    0x222B: [885, 442, 768, 54, 694],
-    0x2234: [524, 6, 661, 65, 597],
-    0x2235: [524, 6, 661, 65, 597],
-    0x223C: [355, -186, 668, 58, 610],
-    0x223D: [355, -186, 668, 58, 610],
-    0x2240: [593, 4, 277, 57, 221],
-    0x2241: [491, -51, 668, 56, 614],
-    0x2242: [434, -106, 668, 65, 604],
-    0x2243: [400, -107, 668, 65, 604],
-    0x2245: [587, -134, 668, 65, 604],
-    0x2246: [605, -18, 668, 65, 604],
-    0x2248: [465, -79, 668, 56, 614],
-    0x224A: [534, -62, 668, 65, 604],
-    0x224D: [478, -63, 668, 54, 616],
-    0x224E: [479, -62, 668, 65, 604],
-    0x224F: [479, -134, 668, 65, 604],
-    0x2250: [503, -38, 668, 65, 604],
-    0x2251: [599, 58, 668, 65, 604],
-    0x2252: [599, 58, 668, 65, 604],
-    0x2253: [599, 58, 668, 65, 604],
-    0x2256: [404, -131, 668, 65, 604],
-    0x2257: [649, -134, 668, 65, 604],
-    0x225C: [640, -134, 687, 65, 623],
-    0x2260: [596, 55, 668, 65, 604],
-    0x2261: [479, -62, 668, 65, 604],
-    0x2264: [604, 61, 669, 65, 604],
-    0x2265: [604, 61, 669, 65, 604],
-    0x2266: [672, 131, 668, 65, 604],
-    0x2267: [672, 131, 668, 65, 604],
-    0x2268: [672, 183, 668, 65, 604],
-    0x2269: [672, 183, 668, 65, 604],
-    0x226A: [535, -5, 965, 55, 912],
-    0x226B: [535, -5, 965, 55, 912],
-    0x226C: [705, 179, 430, 65, 366],
-    0x226E: [648, 107, 668, 65, 604],
-    0x226F: [648, 107, 668, 65, 604],
-    0x2270: [712, 171, 668, 65, 604],
-    0x2271: [712, 171, 668, 65, 604],
-    0x2272: [604, 118, 668, 65, 604],
-    0x2273: [604, 118, 668, 65, 604],
-    0x2276: [626, 85, 668, 65, 604],
-    0x2277: [626, 85, 668, 65, 604],
-    0x227A: [553, 14, 668, 65, 604],
-    0x227B: [553, 14, 668, 65, 604],
-    0x227C: [632, 91, 668, 65, 604],
-    0x227D: [632, 91, 668, 65, 604],
-    0x227E: [621, 118, 668, 65, 604],
-    0x227F: [621, 118, 668, 65, 604],
-    0x2280: [648, 107, 668, 65, 604],
-    0x2281: [648, 107, 668, 65, 604],
-    0x2282: [533, -8, 668, 55, 615],
-    0x2283: [533, -8, 668, 55, 615],
-    0x2286: [602, 61, 668, 55, 615],
-    0x2287: [602, 61, 668, 55, 615],
-    0x2288: [712, 171, 668, 55, 615],
-    0x2289: [712, 171, 668, 55, 615],
-    0x228A: [602, 114, 668, 55, 615],
-    0x228B: [602, 114, 668, 55, 615],
-    0x228E: [603, 0, 687, 65, 623],
-    0x228F: [533, -8, 668, 55, 615],
-    0x2290: [533, -8, 668, 55, 615],
-    0x2291: [602, 61, 668, 55, 615],
-    0x2292: [602, 61, 668, 55, 615],
-    0x2293: [576, 0, 687, 65, 623],
-    0x2294: [576, 0, 687, 65, 623],
-    0x2295: [587, 46, 668, 18, 652],
-    0x2296: [587, 46, 668, 18, 652],
-    0x2297: [587, 46, 668, 18, 652],
-    0x2298: [587, 46, 668, 18, 652],
-    0x2299: [587, 46, 668, 18, 652],
-    0x229A: [587, 46, 668, 18, 652],
-    0x229B: [587, 46, 668, 18, 652],
-    0x229D: [587, 46, 668, 18, 652],
-    0x229E: [541, 0, 668, 64, 605],
-    0x229F: [541, 0, 668, 64, 605],
-    0x22A0: [541, 0, 668, 64, 605],
-    0x22A1: [541, 0, 668, 64, 605],
-    0x22A2: [599, 20, 748, 85, 664],
-    0x22A3: [599, 20, 748, 85, 664],
-    0x22A4: [579, 0, 748, 65, 684],
-    0x22A5: [579, 0, 748, 65, 684],
-    0x22A8: [541, 0, 490, 65, 425],
-    0x22A9: [541, 0, 618, 65, 554],
-    0x22AA: [541, 0, 746, 65, 682],
-    0x22AC: [541, 0, 490, -47, 425],
-    0x22AD: [592, 50, 490, 204, 776],
-    0x22AE: [541, 0, 618, -47, 554],
-    0x22AF: [541, 0, 748, -47, 684],
-    0x22B2: [535, -6, 669, 65, 604],
-    0x22B3: [535, -6, 669, 65, 604],
-    0x22B4: [604, 61, 669, 65, 604],
-    0x22B5: [604, 61, 669, 65, 604],
-    0x22B8: [446, -94, 1016, 65, 952],
-    0x22BA: [579, 0, 748, 125, 625],
-    0x22BB: [639, 99, 687, 65, 623],
-    0x22BC: [639, 99, 687, 65, 623],
-    0x22C4: [453, -89, 273, 22, 253],
-    0x22C5: [329, -213, 249, 67, 183],
-    0x22C6: [577, 37, 708, 32, 678],
-    0x22C8: [515, -23, 758, 65, 694],
-    0x22C9: [515, -23, 758, 65, 694],
-    0x22CA: [518, -26, 758, 65, 694],
-    0x22CB: [714, 36, 858, 55, 804],
-    0x22CC: [714, 36, 858, 55, 804],
-    0x22CD: [434, -106, 668, 58, 611],
-    0x22CE: [541, -2, 668, 52, 617],
-    0x22CF: [541, -2, 668, 52, 617],
-    0x22D0: [533, -8, 668, 55, 615],
-    0x22D1: [533, -8, 668, 55, 615],
-    0x22D2: [603, 0, 687, 65, 623],
-    0x22D3: [603, 0, 687, 65, 623],
-    0x22D4: [771, 0, 687, 65, 623],
-    0x22D6: [535, -5, 668, 65, 604],
-    0x22D7: [535, -5, 668, 65, 604],
-    0x22D8: [536, -6, 1278, 55, 1224],
-    0x22D9: [536, -6, 1278, 55, 1224],
-    0x22DA: [831, 289, 668, 65, 604],
-    0x22DB: [831, 289, 668, 65, 604],
-    0x22DE: [632, 91, 668, 65, 604],
-    0x22DF: [632, 91, 668, 65, 604],
-    0x22E0: [648, 107, 668, 65, 604],
-    0x22E1: [648, 107, 668, 65, 604],
-    0x22E6: [604, 118, 668, 65, 604],
-    0x22E7: [604, 118, 668, 65, 604],
-    0x22E8: [621, 118, 668, 65, 604],
-    0x22E9: [621, 118, 668, 65, 604],
-    0x22EA: [648, 107, 668, 65, 604],
-    0x22EB: [648, 107, 668, 65, 604],
-    0x22EC: [712, 171, 668, 65, 604],
-    0x22ED: [712, 171, 668, 65, 604],
-    0x22EE: [674, 142, 249, 67, 183],
-    0x22EF: [329, -213, 1000, 109, 891],
-    0x22F1: [568, 16, 774, 95, 680],
-    0x2308: [713, 172, 390, 93, 355],
-    0x2309: [713, 172, 390, 36, 298],
-    0x230A: [713, 172, 390, 93, 355],
-    0x230B: [713, 172, 390, 36, 298],
-    0x2322: [333, -164, 691, 65, 627],
-    0x2323: [333, -164, 691, 65, 627],
-    0x23B4: [755, -545, 601, 0, 602],
-    0x23B5: [-165, 375, 601, 0, 602],
-    0x23DC: [786, -545, 1069, 64, 1006],
-    0x23DD: [-545, 786, 1069, 64, 1006],
-    0x23DE: [776, -545, 1029, 64, 966],
-    0x23DF: [-545, 776, 1029, 64, 966],
-    0x23E0: [755, -545, 1029, 65, 965],
-    0x23E1: [-545, 755, 1029, 65, 965],
-    0x25A0: [541, 0, 669, 64, 605],
-    0x25A1: [560, 0, 688, 65, 623],
-    0x25B2: [577, 0, 667, 44, 623],
-    0x25B3: [577, 0, 667, 44, 623],
-    0x25B6: [578, 1, 667, 45, 622],
-    0x25BC: [577, 0, 667, 44, 623],
-    0x25BD: [577, 0, 667, 44, 623],
-    0x25C0: [578, 1, 667, 45, 622],
-    0x2660: [592, 0, 570, 44, 526],
-    0x2661: [591, 7, 636, 44, 593],
-    0x2662: [642, 101, 559, 44, 516],
-    0x2663: [584, 0, 607, 44, 564],
-    0x266D: [668, 122, 436, 69, 387],
-    0x266E: [758, 216, 396, 63, 347],
-    0x266F: [775, 234, 422, 53, 384],
-    0x2713: [742, 7, 782, 44, 749],
-    0x2720: [682, 95, 876, 49, 827],
-    0x27E8: [713, 172, 381, 53, 329],
-    0x27E9: [713, 172, 381, 53, 329],
-    0x27EE: [726, 223, 245, 61, 213],
-    0x27EF: [726, 223, 245, 32, 184],
-    0x27F5: [488, -57, 1513, 65, 1444],
-    0x27F6: [488, -57, 1513, 65, 1444],
-    0x27F7: [486, -55, 1513, 65, 1449],
-    0x27F8: [537, -5, 1513, 65, 1449],
-    0x27F9: [537, -5, 1513, 65, 1449],
-    0x27FA: [537, -5, 1513, 59, 1454],
-    0x27FC: [486, -55, 1513, 36, 1478],
-    0x2997: [709, 191, 384, 87, 298],
-    0x2998: [709, 191, 384, 87, 298],
-    0x29EB: [642, 101, 559, 44, 516],
-    0x29F5: [714, 169, 463, 65, 399],
-    0x29F8: [1021, 510, 402, 0, 403],
-    0x29F9: [1021, 510, 402, 0, 403],
-    0x2A3F: [617, 76, 812, 25, 788],
-    0x2A5E: [636, 262, 687, 65, 623],
-    0x2A7D: [615, 74, 668, 65, 604],
-    0x2A7E: [615, 74, 668, 65, 604],
-    0x2A85: [672, 187, 668, 65, 604],
-    0x2A86: [672, 187, 668, 65, 604],
-    0x2A87: [604, 114, 668, 65, 604],
-    0x2A88: [604, 114, 668, 65, 604],
-    0x2A89: [672, 187, 668, 65, 604],
-    0x2A8A: [672, 187, 668, 65, 604],
-    0x2A8B: [831, 289, 668, 65, 604],
-    0x2A8C: [831, 289, 668, 65, 604],
-    0x2A95: [615, 74, 668, 65, 604],
-    0x2A96: [615, 74, 668, 65, 604],
-    0x2AAF: [623, 81, 668, 65, 604],
-    0x2AB0: [620, 84, 668, 65, 604],
-    0x2AB5: [680, 191, 668, 65, 604],
-    0x2AB6: [680, 191, 668, 65, 604],
-    0x2AB7: [688, 187, 668, 65, 604],
-    0x2AB8: [688, 187, 668, 65, 604],
-    0x2AB9: [688, 187, 668, 65, 604],
-    0x2ABA: [688, 187, 668, 65, 604],
-    0x2AC5: [669, 131, 668, 55, 615],
-    0x2AC6: [669, 131, 668, 55, 615],
-    0x2ACB: [669, 183, 668, 55, 615],
-    0x2ACC: [669, 183, 668, 55, 615]
+  directory: 'Main/Regular',
+  family: 'AsanaMathJax_Main',
+  testString: '\u00A3\u00A5\u00A7\u00A8\u00AC\u00AE\u00B1\u00B5\u00B7\u00D7\u00F0\u00F7\u0131\u02C6\u02C7',
+  0x20: [0, 0, 249, 0, 0],
+  0x21: [694, 5, 277, 81, 197],
+  0x22: [709, -469, 370, 52, 319],
+  0x23: [684, 0, 499, 4, 495],
+  0x24: [731, 116, 499, 30, 471],
+  0x25: [709, 20, 839, 39, 802],
+  0x26: [689, 20, 777, 43, 753],
+  0x27: [709, -446, 277, 45, 233],
+  0x28: [726, 215, 332, 60, 301],
+  0x29: [726, 215, 332, 32, 273],
+  0x2A: [442, -95, 388, 32, 359],
+  0x2B: [538, 0, 668, 65, 604],
+  0x2C: [123, 155, 249, 16, 218],
+  0x2D: [287, -215, 332, 18, 314],
+  0x2E: [111, 5, 249, 67, 183],
+  0x2F: [714, 169, 286, -37, 297],
+  0x30: [689, 20, 499, 29, 465],
+  0x31: [700, 3, 499, 60, 418],
+  0x32: [689, 3, 499, 16, 468],
+  0x33: [689, 20, 499, 15, 462],
+  0x34: [697, 3, 499, 2, 472],
+  0x35: [690, 20, 499, 13, 459],
+  0x36: [689, 20, 499, 32, 468],
+  0x37: [689, 1, 499, 44, 497],
+  0x38: [689, 20, 499, 30, 464],
+  0x39: [689, 20, 499, 20, 457],
+  0x3A: [456, 5, 249, 66, 182],
+  0x3B: [456, 153, 249, 16, 218],
+  0x3C: [528, 0, 668, 65, 604],
+  0x3D: [406, -134, 668, 65, 604],
+  0x3E: [528, 0, 668, 65, 604],
+  0x3F: [694, 5, 443, 43, 395],
+  0x40: [694, 20, 746, 24, 724],
+  0x41: [700, 3, 777, 15, 756],
+  0x42: [692, 3, 610, 26, 576],
+  0x43: [709, 20, 708, 22, 670],
+  0x44: [692, 3, 793, 22, 751],
+  0x45: [692, 3, 610, 22, 572],
+  0x46: [692, 3, 555, 22, 536],
+  0x47: [709, 20, 762, 22, 728],
+  0x48: [692, 3, 831, 22, 810],
+  0x49: [692, 3, 336, 22, 315],
+  0x4A: [692, 195, 332, -15, 311],
+  0x4B: [692, 3, 725, 22, 719],
+  0x4C: [692, 3, 610, 22, 586],
+  0x4D: [692, 13, 945, 16, 926],
+  0x4E: [692, 6, 830, 17, 813],
+  0x4F: [709, 20, 785, 22, 764],
+  0x50: [692, 3, 603, 22, 580],
+  0x51: [709, 176, 785, 22, 764],
+  0x52: [692, 3, 667, 22, 669],
+  0x53: [709, 20, 524, 24, 503],
+  0x54: [692, 3, 612, 18, 595],
+  0x55: [692, 20, 777, 12, 759],
+  0x56: [692, 9, 721, 8, 706],
+  0x57: [700, 9, 1000, 8, 984],
+  0x58: [700, 3, 666, 14, 648],
+  0x59: [705, 3, 666, 9, 654],
+  0x5A: [692, 3, 666, 15, 638],
+  0x5B: [726, 184, 332, 79, 288],
+  0x5C: [714, 169, 286, -9, 324],
+  0x5D: [726, 184, 332, 45, 254],
+  0x5E: [689, -283, 605, 51, 554],
+  0x5F: [-75, 125, 499, 0, 500],
+  0x60: [709, -446, 277, 45, 233],
+  0x61: [469, 12, 499, 32, 471],
+  0x62: [726, 28, 552, -15, 508],
+  0x63: [497, 20, 443, 25, 413],
+  0x64: [726, 12, 610, 34, 579],
+  0x65: [469, 20, 478, 26, 448],
+  0x66: [737, 3, 332, 23, 341],
+  0x67: [469, 283, 555, 32, 544],
+  0x68: [726, 3, 581, 6, 572],
+  0x69: [687, 3, 290, 21, 271],
+  0x6A: [688, 283, 233, -40, 167],
+  0x6B: [726, 12, 555, 21, 549],
+  0x6C: [726, 3, 290, 21, 271],
+  0x6D: [469, 3, 882, 16, 869],
+  0x6E: [469, 3, 581, 6, 572],
+  0x6F: [469, 20, 545, 32, 514],
+  0x70: [477, 281, 600, 8, 556],
+  0x71: [477, 281, 600, 45, 593],
+  0x72: [469, 3, 394, 21, 374],
+  0x73: [469, 20, 423, 30, 391],
+  0x74: [621, 12, 325, 22, 319],
+  0x75: [469, 12, 602, 18, 581],
+  0x76: [459, 7, 564, 6, 539],
+  0x77: [469, 7, 833, 6, 808],
+  0x78: [469, 3, 515, 20, 496],
+  0x79: [459, 283, 555, 12, 544],
+  0x7A: [462, 3, 499, 16, 466],
+  0x7B: [726, 175, 332, 58, 289],
+  0x7C: [713, 172, 210, 76, 135],
+  0x7D: [726, 175, 332, 44, 275],
+  0x7E: [341, -182, 605, 51, 555],
+  0xA3: [694, 13, 499, 12, 478],
+  0xA5: [701, 3, 499, 5, 496],
+  0xA7: [709, 219, 499, 26, 465],
+  0xA8: [637, -537, 332, 17, 316],
+  0xAC: [360, -88, 673, 65, 608],
+  0xAE: [705, 164, 906, 18, 889],
+  0xB1: [541, 0, 668, 65, 604],
+  0xB5: [473, 286, 610, 89, 567],
+  0xB7: [319, -203, 249, 67, 183],
+  0xD7: [547, 5, 668, 59, 611],
+  0xF0: [728, 20, 545, 32, 504],
+  0xF7: [512, -10, 605, 51, 555],
+  0x131: [469, 3, 290, 21, 271],
+  0x2C6: [677, -510, 312, 0, 312],
+  0x2C7: [677, -510, 312, 0, 312],
+  0x2C9: [591, -538, 338, 13, 325],
+  0x2D8: [699, -534, 269, -4, 273],
+  0x2D9: [676, -568, 333, 112, 220],
+  0x2DA: [717, -535, 267, 36, 231],
+  0x2DC: [682, -571, 329, -5, 334],
+  0x300: [677, -506, 0, -302, -78],
+  0x301: [677, -506, 0, -255, -31],
+  0x302: [677, -510, 0, -312, 0],
+  0x303: [640, -535, 0, -330, 0],
+  0x304: [591, -538, 0, -332, -20],
+  0x306: [664, -506, 0, -307, -25],
+  0x307: [637, -537, 0, -175, -75],
+  0x308: [637, -537, 0, -318, -17],
+  0x30A: [718, -518, 0, -235, -35],
+  0x30C: [677, -510, 0, -322, -10],
+  0x338: [714, 169, 0, -408, 0],
+  0x382: [0, 0, 768, 0, 0],
+  0x391: [700, 3, 777, 15, 756],
+  0x392: [692, 3, 610, 26, 576],
+  0x393: [692, 3, 555, 22, 536],
+  0x394: [697, 4, 688, 27, 662],
+  0x395: [692, 3, 610, 22, 572],
+  0x396: [692, 3, 666, 15, 638],
+  0x397: [692, 3, 831, 22, 810],
+  0x398: [709, 20, 785, 22, 764],
+  0x399: [692, 3, 336, 22, 315],
+  0x39A: [692, 3, 725, 22, 719],
+  0x39B: [697, 4, 753, 17, 729],
+  0x39C: [692, 13, 945, 16, 926],
+  0x39D: [692, 20, 830, 17, 813],
+  0x39E: [689, 4, 692, 42, 651],
+  0x39F: [709, 20, 785, 22, 764],
+  0x3A0: [689, 4, 812, 25, 788],
+  0x3A1: [692, 3, 603, 22, 580],
+  0x3A3: [689, 4, 684, 45, 643],
+  0x3A4: [692, 3, 612, 18, 595],
+  0x3A5: [691, 4, 733, 3, 735],
+  0x3A6: [689, 4, 755, 23, 723],
+  0x3A7: [700, 3, 666, 14, 648],
+  0x3A8: [689, 4, 870, 18, 852],
+  0x3A9: [704, 6, 824, 34, 791],
+  0x3B1: [473, 16, 594, 44, 571],
+  0x3B2: [680, 283, 512, 68, 460],
+  0x3B3: [473, 273, 581, -31, 489],
+  0x3B4: [702, 16, 497, 56, 468],
+  0x3B5: [468, 13, 480, 69, 436],
+  0x3B6: [712, 149, 504, 61, 509],
+  0x3B7: [473, 275, 531, -11, 464],
+  0x3B8: [702, 16, 613, 83, 555],
+  0x3B9: [473, 16, 310, 94, 305],
+  0x3BA: [473, 16, 571, 13, 553],
+  0x3BB: [702, 16, 618, 86, 616],
+  0x3BC: [473, 286, 610, 89, 567],
+  0x3BD: [473, 7, 497, -24, 443],
+  0x3BE: [701, 148, 547, 65, 507],
+  0x3BF: [469, 20, 545, 32, 514],
+  0x3C0: [467, 15, 653, 27, 628],
+  0x3C1: [473, 284, 566, 83, 490],
+  0x3C2: [463, 155, 501, 43, 430],
+  0x3C3: [474, 15, 552, 35, 487],
+  0x3C4: [463, 16, 519, 35, 439],
+  0x3C5: [471, 12, 547, 13, 490],
+  0x3C6: [485, 277, 681, 8, 606],
+  0x3C7: [479, 193, 608, 51, 548],
+  0x3C8: [682, 281, 695, 6, 626],
+  0x3C9: [463, 12, 715, 36, 659],
+  0x3D0: [701, 13, 562, 30, 492],
+  0x3D1: [702, 15, 620, 62, 583],
+  0x3D5: [705, 289, 665, 27, 613],
+  0x3D6: [529, 12, 715, 41, 671],
+  0x3DC: [692, 3, 555, 22, 536],
+  0x3DD: [495, 233, 514, 23, 495],
+  0x3F0: [510, 16, 705, 48, 659],
+  0x3F1: [474, 260, 478, 72, 461],
+  0x3F4: [709, 20, 785, 22, 764],
+  0x3F5: [466, 12, 480, 46, 439],
+  0x2013: [277, -219, 499, 0, 500],
+  0x2014: [277, -219, 1000, 0, 1000],
+  0x2016: [713, 172, 420, 76, 345],
+  0x2018: [709, -446, 277, 45, 233],
+  0x2019: [709, -446, 277, 45, 233],
+  0x201C: [709, -446, 510, 45, 466],
+  0x201D: [709, -446, 510, 45, 466],
+  0x2020: [694, 5, 499, 34, 466],
+  0x2021: [694, 249, 499, 34, 466],
+  0x2026: [111, 5, 746, 100, 647],
+  0x2032: [495, -47, 364, 53, 313],
+  0x2033: [495, -47, 599, 53, 548],
+  0x2034: [495, -47, 834, 53, 783],
+  0x2035: [495, -47, 364, 53, 313],
+  0x203E: [1726, -1614, 1024, 0, 1024],
+  0x2044: [558, 279, 313, 0, 314],
+  0x2057: [495, -47, 1069, 53, 1018],
+  0x20D7: [790, -519, 557, 0, 558],
+  0x210F: [733, 9, 499, 10, 471],
+  0x2111: [721, 4, 645, 12, 594],
+  0x2113: [713, 13, 470, 16, 455],
+  0x2118: [504, 203, 656, 58, 617],
+  0x211C: [717, 4, 748, 17, 702],
+  0x2127: [704, 6, 824, 34, 791],
+  0x2132: [692, 3, 555, 22, 536],
+  0x2135: [746, 13, 672, 32, 641],
+  0x2136: [734, 0, 675, 31, 635],
+  0x2137: [734, 0, 331, 26, 306],
+  0x2138: [734, 0, 559, 36, 526],
+  0x2141: [727, 9, 778, 53, 708],
+  0x2190: [486, -55, 1013, 65, 949],
+  0x2191: [713, 172, 524, 47, 478],
+  0x2192: [486, -55, 1013, 65, 949],
+  0x2193: [713, 172, 524, 47, 478],
+  0x2194: [486, -55, 1013, 65, 949],
+  0x2195: [712, 172, 524, 47, 478],
+  0x2196: [713, 172, 1013, 65, 949],
+  0x2197: [713, 172, 1013, 65, 949],
+  0x2198: [713, 172, 1013, 65, 949],
+  0x2199: [713, 172, 1013, 65, 949],
+  0x219A: [486, -55, 1013, 65, 949],
+  0x219B: [486, -55, 1013, 65, 949],
+  0x219E: [486, -55, 1013, 65, 949],
+  0x21A0: [486, -55, 1013, 65, 949],
+  0x21A2: [486, -55, 1150, 65, 1075],
+  0x21A3: [486, -55, 1150, 76, 1085],
+  0x21A6: [486, -55, 1013, 36, 978],
+  0x21A9: [494, -55, 1013, 65, 949],
+  0x21AA: [494, -55, 1013, 65, 949],
+  0x21AB: [493, -55, 1013, 65, 949],
+  0x21AC: [493, -55, 1013, 65, 949],
+  0x21AD: [486, -55, 1211, 34, 1178],
+  0x21AE: [486, -55, 1013, 65, 949],
+  0x21B0: [753, 0, 506, 65, 442],
+  0x21B1: [753, 0, 506, 65, 442],
+  0x21B6: [458, 0, 1124, 34, 1115],
+  0x21B7: [458, 0, 1124, 34, 1115],
+  0x21BA: [751, 0, 987, 114, 875],
+  0x21BB: [751, 0, 987, 114, 875],
+  0x21BC: [394, -149, 1013, 64, 950],
+  0x21BD: [394, -148, 1013, 64, 950],
+  0x21BE: [714, 171, 524, 233, 478],
+  0x21BF: [714, 171, 524, 47, 293],
+  0x21C0: [394, -149, 1013, 64, 950],
+  0x21C1: [394, -148, 1013, 64, 950],
+  0x21C2: [714, 171, 524, 233, 478],
+  0x21C3: [714, 171, 524, 47, 293],
+  0x21C4: [665, 124, 1013, 65, 949],
+  0x21C6: [665, 124, 1013, 65, 949],
+  0x21C7: [665, 124, 1013, 65, 949],
+  0x21C8: [714, 171, 883, 47, 837],
+  0x21C9: [665, 124, 1013, 65, 949],
+  0x21CA: [714, 171, 883, 47, 837],
+  0x21CB: [594, 52, 1013, 65, 949],
+  0x21CC: [594, 52, 1013, 65, 949],
+  0x21CD: [537, -6, 1013, 65, 949],
+  0x21CE: [537, -6, 1013, 59, 954],
+  0x21CF: [537, -6, 1013, 65, 949],
+  0x21D0: [539, -7, 1013, 65, 949],
+  0x21D1: [713, 172, 578, 24, 555],
+  0x21D2: [539, -7, 1013, 65, 949],
+  0x21D3: [713, 172, 578, 24, 555],
+  0x21D4: [537, -5, 1013, 59, 954],
+  0x21D5: [718, 176, 578, 24, 556],
+  0x21DA: [607, 67, 1013, 65, 949],
+  0x21DB: [608, 66, 1013, 65, 949],
+  0x21DD: [485, -54, 1149, 34, 1116],
+  0x21E0: [485, -54, 1063, 65, 998],
+  0x21E2: [485, -54, 1063, 65, 998],
+  0x2200: [697, 15, 617, 26, 592],
+  0x2201: [906, 146, 753, 114, 640],
+  0x2202: [750, 11, 494, 35, 460],
+  0x2203: [697, 0, 617, 46, 572],
+  0x2204: [836, 141, 617, 46, 572],
+  0x2205: [591, 13, 733, 65, 668],
+  0x2207: [697, 4, 688, 27, 662],
+  0x2208: [533, -8, 563, 55, 509],
+  0x2209: [648, 107, 563, 55, 509],
+  0x220B: [533, -8, 563, 55, 509],
+  0x220D: [482, 3, 511, 65, 446],
+  0x2212: [299, -243, 605, 51, 555],
+  0x2213: [541, 0, 668, 65, 604],
+  0x2214: [629, 89, 668, 65, 604],
+  0x2215: [726, 119, 605, 87, 519],
+  0x2216: [501, -50, 799, 101, 699],
+  0x2217: [446, -99, 388, 31, 358],
+  0x2218: [417, -124, 388, 47, 342],
+  0x2219: [319, -203, 249, 67, 183],
+  0x221A: [1079, 59, 760, 63, 793],
+  0x221D: [466, -75, 668, 65, 604],
+  0x221E: [463, -65, 897, 55, 843],
+  0x2220: [577, 0, 535, 65, 471],
+  0x2221: [577, 0, 535, 65, 471],
+  0x2222: [515, -26, 535, 65, 471],
+  0x2223: [714, 171, 437, 189, 248],
+  0x2224: [714, 171, 437, 0, 438],
+  0x2225: [714, 171, 641, 186, 456],
+  0x2226: [714, 171, 641, 0, 642],
+  0x2227: [585, 0, 687, 65, 623],
+  0x2228: [585, 0, 687, 65, 623],
+  0x2229: [603, 0, 687, 65, 623],
+  0x222A: [603, 0, 687, 65, 623],
+  0x222B: [885, 442, 768, 54, 694],
+  0x2234: [524, 6, 661, 65, 597],
+  0x2235: [524, 6, 661, 65, 597],
+  0x223C: [355, -186, 668, 58, 610],
+  0x223D: [355, -186, 668, 58, 610],
+  0x2240: [593, 4, 277, 57, 221],
+  0x2241: [491, -51, 668, 56, 614],
+  0x2242: [434, -106, 668, 65, 604],
+  0x2243: [400, -107, 668, 65, 604],
+  0x2245: [587, -134, 668, 65, 604],
+  0x2246: [605, -18, 668, 65, 604],
+  0x2248: [465, -79, 668, 56, 614],
+  0x224A: [534, -62, 668, 65, 604],
+  0x224D: [478, -63, 668, 54, 616],
+  0x224E: [479, -62, 668, 65, 604],
+  0x224F: [479, -134, 668, 65, 604],
+  0x2250: [503, -38, 668, 65, 604],
+  0x2251: [599, 58, 668, 65, 604],
+  0x2252: [599, 58, 668, 65, 604],
+  0x2253: [599, 58, 668, 65, 604],
+  0x2256: [404, -131, 668, 65, 604],
+  0x2257: [649, -134, 668, 65, 604],
+  0x225C: [640, -134, 687, 65, 623],
+  0x2260: [596, 55, 668, 65, 604],
+  0x2261: [479, -62, 668, 65, 604],
+  0x2264: [604, 61, 669, 65, 604],
+  0x2265: [604, 61, 669, 65, 604],
+  0x2266: [672, 131, 668, 65, 604],
+  0x2267: [672, 131, 668, 65, 604],
+  0x2268: [672, 183, 668, 65, 604],
+  0x2269: [672, 183, 668, 65, 604],
+  0x226A: [535, -5, 965, 55, 912],
+  0x226B: [535, -5, 965, 55, 912],
+  0x226C: [705, 179, 430, 65, 366],
+  0x226E: [648, 107, 668, 65, 604],
+  0x226F: [648, 107, 668, 65, 604],
+  0x2270: [712, 171, 668, 65, 604],
+  0x2271: [712, 171, 668, 65, 604],
+  0x2272: [604, 118, 668, 65, 604],
+  0x2273: [604, 118, 668, 65, 604],
+  0x2276: [626, 85, 668, 65, 604],
+  0x2277: [626, 85, 668, 65, 604],
+  0x227A: [553, 14, 668, 65, 604],
+  0x227B: [553, 14, 668, 65, 604],
+  0x227C: [632, 91, 668, 65, 604],
+  0x227D: [632, 91, 668, 65, 604],
+  0x227E: [621, 118, 668, 65, 604],
+  0x227F: [621, 118, 668, 65, 604],
+  0x2280: [648, 107, 668, 65, 604],
+  0x2281: [648, 107, 668, 65, 604],
+  0x2282: [533, -8, 668, 55, 615],
+  0x2283: [533, -8, 668, 55, 615],
+  0x2286: [602, 61, 668, 55, 615],
+  0x2287: [602, 61, 668, 55, 615],
+  0x2288: [712, 171, 668, 55, 615],
+  0x2289: [712, 171, 668, 55, 615],
+  0x228A: [602, 114, 668, 55, 615],
+  0x228B: [602, 114, 668, 55, 615],
+  0x228E: [603, 0, 687, 65, 623],
+  0x228F: [533, -8, 668, 55, 615],
+  0x2290: [533, -8, 668, 55, 615],
+  0x2291: [602, 61, 668, 55, 615],
+  0x2292: [602, 61, 668, 55, 615],
+  0x2293: [576, 0, 687, 65, 623],
+  0x2294: [576, 0, 687, 65, 623],
+  0x2295: [587, 46, 668, 18, 652],
+  0x2296: [587, 46, 668, 18, 652],
+  0x2297: [587, 46, 668, 18, 652],
+  0x2298: [587, 46, 668, 18, 652],
+  0x2299: [587, 46, 668, 18, 652],
+  0x229A: [587, 46, 668, 18, 652],
+  0x229B: [587, 46, 668, 18, 652],
+  0x229D: [587, 46, 668, 18, 652],
+  0x229E: [541, 0, 668, 64, 605],
+  0x229F: [541, 0, 668, 64, 605],
+  0x22A0: [541, 0, 668, 64, 605],
+  0x22A1: [541, 0, 668, 64, 605],
+  0x22A2: [599, 20, 748, 85, 664],
+  0x22A3: [599, 20, 748, 85, 664],
+  0x22A4: [579, 0, 748, 65, 684],
+  0x22A5: [579, 0, 748, 65, 684],
+  0x22A8: [541, 0, 490, 65, 425],
+  0x22A9: [541, 0, 618, 65, 554],
+  0x22AA: [541, 0, 746, 65, 682],
+  0x22AC: [541, 0, 490, -47, 425],
+  0x22AD: [592, 50, 490, 204, 776],
+  0x22AE: [541, 0, 618, -47, 554],
+  0x22AF: [541, 0, 748, -47, 684],
+  0x22B2: [535, -6, 669, 65, 604],
+  0x22B3: [535, -6, 669, 65, 604],
+  0x22B4: [604, 61, 669, 65, 604],
+  0x22B5: [604, 61, 669, 65, 604],
+  0x22B8: [446, -94, 1016, 65, 952],
+  0x22BA: [579, 0, 748, 125, 625],
+  0x22BB: [639, 99, 687, 65, 623],
+  0x22BC: [639, 99, 687, 65, 623],
+  0x22C4: [453, -89, 273, 22, 253],
+  0x22C5: [329, -213, 249, 67, 183],
+  0x22C6: [577, 37, 708, 32, 678],
+  0x22C8: [515, -23, 758, 65, 694],
+  0x22C9: [515, -23, 758, 65, 694],
+  0x22CA: [518, -26, 758, 65, 694],
+  0x22CB: [714, 36, 858, 55, 804],
+  0x22CC: [714, 36, 858, 55, 804],
+  0x22CD: [434, -106, 668, 58, 611],
+  0x22CE: [541, -2, 668, 52, 617],
+  0x22CF: [541, -2, 668, 52, 617],
+  0x22D0: [533, -8, 668, 55, 615],
+  0x22D1: [533, -8, 668, 55, 615],
+  0x22D2: [603, 0, 687, 65, 623],
+  0x22D3: [603, 0, 687, 65, 623],
+  0x22D4: [771, 0, 687, 65, 623],
+  0x22D6: [535, -5, 668, 65, 604],
+  0x22D7: [535, -5, 668, 65, 604],
+  0x22D8: [536, -6, 1278, 55, 1224],
+  0x22D9: [536, -6, 1278, 55, 1224],
+  0x22DA: [831, 289, 668, 65, 604],
+  0x22DB: [831, 289, 668, 65, 604],
+  0x22DE: [632, 91, 668, 65, 604],
+  0x22DF: [632, 91, 668, 65, 604],
+  0x22E0: [648, 107, 668, 65, 604],
+  0x22E1: [648, 107, 668, 65, 604],
+  0x22E6: [604, 118, 668, 65, 604],
+  0x22E7: [604, 118, 668, 65, 604],
+  0x22E8: [621, 118, 668, 65, 604],
+  0x22E9: [621, 118, 668, 65, 604],
+  0x22EA: [648, 107, 668, 65, 604],
+  0x22EB: [648, 107, 668, 65, 604],
+  0x22EC: [712, 171, 668, 65, 604],
+  0x22ED: [712, 171, 668, 65, 604],
+  0x22EE: [674, 142, 249, 67, 183],
+  0x22EF: [329, -213, 1000, 109, 891],
+  0x22F1: [568, 16, 774, 95, 680],
+  0x2308: [713, 172, 390, 93, 355],
+  0x2309: [713, 172, 390, 36, 298],
+  0x230A: [713, 172, 390, 93, 355],
+  0x230B: [713, 172, 390, 36, 298],
+  0x2322: [333, -164, 691, 65, 627],
+  0x2323: [333, -164, 691, 65, 627],
+  0x23B4: [755, -545, 601, 0, 602],
+  0x23B5: [-165, 375, 601, 0, 602],
+  0x23DC: [786, -545, 1069, 64, 1006],
+  0x23DD: [-545, 786, 1069, 64, 1006],
+  0x23DE: [776, -545, 1029, 64, 966],
+  0x23DF: [-545, 776, 1029, 64, 966],
+  0x23E0: [755, -545, 1029, 65, 965],
+  0x23E1: [-545, 755, 1029, 65, 965],
+  0x25A0: [541, 0, 669, 64, 605],
+  0x25A1: [560, 0, 688, 65, 623],
+  0x25B2: [577, 0, 667, 44, 623],
+  0x25B3: [577, 0, 667, 44, 623],
+  0x25B6: [578, 1, 667, 45, 622],
+  0x25BC: [577, 0, 667, 44, 623],
+  0x25BD: [577, 0, 667, 44, 623],
+  0x25C0: [578, 1, 667, 45, 622],
+  0x2660: [592, 0, 570, 44, 526],
+  0x2661: [591, 7, 636, 44, 593],
+  0x2662: [642, 101, 559, 44, 516],
+  0x2663: [584, 0, 607, 44, 564],
+  0x266D: [668, 122, 436, 69, 387],
+  0x266E: [758, 216, 396, 63, 347],
+  0x266F: [775, 234, 422, 53, 384],
+  0x2713: [742, 7, 782, 44, 749],
+  0x2720: [682, 95, 876, 49, 827],
+  0x27E8: [713, 172, 381, 53, 329],
+  0x27E9: [713, 172, 381, 53, 329],
+  0x27EE: [726, 223, 245, 61, 213],
+  0x27EF: [726, 223, 245, 32, 184],
+  0x27F5: [488, -57, 1513, 65, 1444],
+  0x27F6: [488, -57, 1513, 65, 1444],
+  0x27F7: [486, -55, 1513, 65, 1449],
+  0x27F8: [537, -5, 1513, 65, 1449],
+  0x27F9: [537, -5, 1513, 65, 1449],
+  0x27FA: [537, -5, 1513, 59, 1454],
+  0x27FC: [486, -55, 1513, 36, 1478],
+  0x2997: [709, 191, 384, 87, 298],
+  0x2998: [709, 191, 384, 87, 298],
+  0x29EB: [642, 101, 559, 44, 516],
+  0x29F5: [714, 169, 463, 65, 399],
+  0x29F8: [1021, 510, 402, 0, 403],
+  0x29F9: [1021, 510, 402, 0, 403],
+  0x2A3F: [617, 76, 812, 25, 788],
+  0x2A5E: [636, 262, 687, 65, 623],
+  0x2A7D: [615, 74, 668, 65, 604],
+  0x2A7E: [615, 74, 668, 65, 604],
+  0x2A85: [672, 187, 668, 65, 604],
+  0x2A86: [672, 187, 668, 65, 604],
+  0x2A87: [604, 114, 668, 65, 604],
+  0x2A88: [604, 114, 668, 65, 604],
+  0x2A89: [672, 187, 668, 65, 604],
+  0x2A8A: [672, 187, 668, 65, 604],
+  0x2A8B: [831, 289, 668, 65, 604],
+  0x2A8C: [831, 289, 668, 65, 604],
+  0x2A95: [615, 74, 668, 65, 604],
+  0x2A96: [615, 74, 668, 65, 604],
+  0x2AAF: [623, 81, 668, 65, 604],
+  0x2AB0: [620, 84, 668, 65, 604],
+  0x2AB5: [680, 191, 668, 65, 604],
+  0x2AB6: [680, 191, 668, 65, 604],
+  0x2AB7: [688, 187, 668, 65, 604],
+  0x2AB8: [688, 187, 668, 65, 604],
+  0x2AB9: [688, 187, 668, 65, 604],
+  0x2ABA: [688, 187, 668, 65, 604],
+  0x2AC5: [669, 131, 668, 55, 615],
+  0x2AC6: [669, 131, 668, 55, 615],
+  0x2ACB: [669, 183, 668, 55, 615],
+  0x2ACC: [669, 183, 668, 55, 615]
 };
 
 MathJax.Callback.Queue(

+ 65 - 65
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Marks/Regular/Main.js

@@ -18,71 +18,71 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['AsanaMathJax_Marks'] = {
-    directory: 'Marks/Regular',
-    family: 'AsanaMathJax_Marks',
-    testString: '\u02DB\u0305\u0332\u0333\u033F\u0342\u2015\u2017\u201A\u201B\u201E\u2022\u2024\u2025\u2030',
-    0x20: [0, 0, 249, 0, 0],
-    0x2DB: [0, 188, 333, 63, 269],
-    0x305: [587, -542, 0, -433, 0],
-    0x332: [-130, 175, 0, -433, 0],
-    0x333: [-130, 283, 0, -433, 0],
-    0x33F: [695, -542, 0, -433, 0],
-    0x342: [729, -653, 0, -324, -31],
-    0x2015: [271, -213, 1000, 0, 1000],
-    0x2017: [-75, 225, 499, 0, 500],
-    0x201A: [100, 165, 403, 141, 334],
-    0x201B: [709, -446, 277, 45, 233],
-    0x201E: [100, 165, 605, 141, 536],
-    0x2022: [466, -75, 522, 65, 458],
-    0x2024: [111, 5, 315, 100, 216],
-    0x2025: [111, 5, 530, 100, 431],
-    0x2030: [709, 20, 1143, 123, 1021],
-    0x2036: [495, -47, 599, 53, 548],
-    0x2037: [495, -47, 834, 53, 783],
-    0x203B: [547, 5, 668, 59, 614],
-    0x203C: [694, 5, 973, 81, 394],
-    0x203F: [96, 58, 834, 36, 798],
-    0x2040: [642, -488, 834, 36, 798],
-    0x2045: [726, 184, 332, 79, 288],
-    0x2046: [726, 184, 332, 45, 254],
-    0x2050: [688, 0, 980, 43, 937],
-    0x205D: [623, 3, 226, 55, 171],
-    0x205E: [630, 3, 226, 55, 171],
-    0x20D0: [791, -636, 557, 0, 558],
-    0x20D1: [791, -636, 557, 0, 558],
-    0x20D2: [813, 31, 416, 252, 312],
-    0x20D3: [1014, 0, 987, 679, 738],
-    0x20D4: [780, -492, 680, 0, 681],
-    0x20D5: [780, -492, 680, 0, 681],
-    0x20D6: [790, -519, 557, 0, 558],
-    0x20D8: [417, -124, 388, 47, 342],
-    0x20D9: [542, -236, 447, 47, 401],
-    0x20DA: [541, -235, 447, 47, 401],
-    0x20DB: [694, -578, 519, 27, 493],
-    0x20DC: [694, -578, 694, 27, 668],
-    0x20DD: [825, 218, 0, -1045, 0],
-    0x20DE: [705, 164, 0, -870, 1],
-    0x20DF: [1114, 117, 0, -1230, 0],
-    0x20E0: [705, 164, 0, -872, -1],
-    0x20E1: [790, -519, 556, 0, 557],
-    0x20E2: [655, 55, 0, -1255, 0],
-    0x20E3: [960, 259, 0, -1219, 0],
-    0x20E4: [896, 62, 0, -849, 0],
-    0x20E5: [714, 169, 0, -333, 0],
-    0x20E6: [713, 172, 0, -345, -76],
-    0x20E7: [710, 15, 0, -283, 283],
-    0x20E8: [-142, 258, 519, 27, 493],
-    0x20E9: [723, -514, 629, 0, 630],
-    0x20EA: [486, -55, 1013, 65, 949],
-    0x20EB: [714, 169, 0, -609, -65],
-    0x20EC: [673, -518, 557, 0, 558],
-    0x20ED: [673, -518, 557, 0, 558],
-    0x20EE: [-83, 354, 556, 0, 557],
-    0x20EF: [-83, 354, 556, 0, 557],
-    0x3014: [709, 191, 384, 87, 298],
-    0x3015: [709, 191, 384, 87, 298],
-    0x3018: [709, 191, 384, 87, 298],
-    0x3019: [730, 212, 384, 77, 308]
+  directory: 'Marks/Regular',
+  family: 'AsanaMathJax_Marks',
+  testString: '\u02DB\u0305\u0332\u0333\u033F\u0342\u2015\u2017\u201A\u201B\u201E\u2022\u2024\u2025\u2030',
+  0x20: [0, 0, 249, 0, 0],
+  0x2DB: [0, 188, 333, 63, 269],
+  0x305: [587, -542, 0, -433, 0],
+  0x332: [-130, 175, 0, -433, 0],
+  0x333: [-130, 283, 0, -433, 0],
+  0x33F: [695, -542, 0, -433, 0],
+  0x342: [729, -653, 0, -324, -31],
+  0x2015: [271, -213, 1000, 0, 1000],
+  0x2017: [-75, 225, 499, 0, 500],
+  0x201A: [100, 165, 403, 141, 334],
+  0x201B: [709, -446, 277, 45, 233],
+  0x201E: [100, 165, 605, 141, 536],
+  0x2022: [466, -75, 522, 65, 458],
+  0x2024: [111, 5, 315, 100, 216],
+  0x2025: [111, 5, 530, 100, 431],
+  0x2030: [709, 20, 1143, 123, 1021],
+  0x2036: [495, -47, 599, 53, 548],
+  0x2037: [495, -47, 834, 53, 783],
+  0x203B: [547, 5, 668, 59, 614],
+  0x203C: [694, 5, 973, 81, 394],
+  0x203F: [96, 58, 834, 36, 798],
+  0x2040: [642, -488, 834, 36, 798],
+  0x2045: [726, 184, 332, 79, 288],
+  0x2046: [726, 184, 332, 45, 254],
+  0x2050: [688, 0, 980, 43, 937],
+  0x205D: [623, 3, 226, 55, 171],
+  0x205E: [630, 3, 226, 55, 171],
+  0x20D0: [791, -636, 557, 0, 558],
+  0x20D1: [791, -636, 557, 0, 558],
+  0x20D2: [813, 31, 416, 252, 312],
+  0x20D3: [1014, 0, 987, 679, 738],
+  0x20D4: [780, -492, 680, 0, 681],
+  0x20D5: [780, -492, 680, 0, 681],
+  0x20D6: [790, -519, 557, 0, 558],
+  0x20D8: [417, -124, 388, 47, 342],
+  0x20D9: [542, -236, 447, 47, 401],
+  0x20DA: [541, -235, 447, 47, 401],
+  0x20DB: [694, -578, 519, 27, 493],
+  0x20DC: [694, -578, 694, 27, 668],
+  0x20DD: [825, 218, 0, -1045, 0],
+  0x20DE: [705, 164, 0, -870, 1],
+  0x20DF: [1114, 117, 0, -1230, 0],
+  0x20E0: [705, 164, 0, -872, -1],
+  0x20E1: [790, -519, 556, 0, 557],
+  0x20E2: [655, 55, 0, -1255, 0],
+  0x20E3: [960, 259, 0, -1219, 0],
+  0x20E4: [896, 62, 0, -849, 0],
+  0x20E5: [714, 169, 0, -333, 0],
+  0x20E6: [713, 172, 0, -345, -76],
+  0x20E7: [710, 15, 0, -283, 283],
+  0x20E8: [-142, 258, 519, 27, 493],
+  0x20E9: [723, -514, 629, 0, 630],
+  0x20EA: [486, -55, 1013, 65, 949],
+  0x20EB: [714, 169, 0, -609, -65],
+  0x20EC: [673, -518, 557, 0, 558],
+  0x20ED: [673, -518, 557, 0, 558],
+  0x20EE: [-83, 354, 556, 0, 557],
+  0x20EF: [-83, 354, 556, 0, 557],
+  0x3014: [709, 191, 384, 87, 298],
+  0x3015: [709, 191, 384, 87, 298],
+  0x3018: [709, 191, 384, 87, 298],
+  0x3019: [730, 212, 384, 77, 308]
 };
 
 MathJax.Callback.Queue(

+ 67 - 67
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Monospace/Regular/Main.js

@@ -18,73 +18,73 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['AsanaMathJax_Monospace'] = {
-    directory: 'Monospace/Regular',
-    family: 'AsanaMathJax_Monospace',
-    testString: '\u00A0\uD835\uDE70\uD835\uDE71\uD835\uDE72\uD835\uDE73\uD835\uDE74\uD835\uDE75\uD835\uDE76\uD835\uDE77\uD835\uDE78\uD835\uDE79\uD835\uDE7A\uD835\uDE7B\uD835\uDE7C\uD835\uDE7D',
-    0x20: [0, 0, 524, 0, 0],
-    0xA0: [0, 0, 524, 0, 0],
-    0x1D670: [623, 0, 524, 27, 497],
-    0x1D671: [611, 0, 524, 23, 482],
-    0x1D672: [622, 11, 524, 40, 484],
-    0x1D673: [611, 0, 524, 19, 485],
-    0x1D674: [611, 0, 524, 26, 502],
-    0x1D675: [611, 0, 524, 28, 490],
-    0x1D676: [622, 11, 524, 38, 496],
-    0x1D677: [611, 0, 524, 22, 502],
-    0x1D678: [611, 0, 524, 79, 446],
-    0x1D679: [611, 11, 524, 71, 478],
-    0x1D67A: [611, 0, 524, 26, 495],
-    0x1D67B: [611, 0, 524, 32, 488],
-    0x1D67C: [611, 0, 524, 17, 507],
-    0x1D67D: [611, 0, 524, 28, 496],
-    0x1D67E: [622, 11, 524, 56, 468],
-    0x1D67F: [611, 0, 524, 26, 480],
-    0x1D680: [622, 139, 524, 56, 468],
-    0x1D681: [611, 11, 524, 22, 522],
-    0x1D682: [622, 11, 524, 52, 472],
-    0x1D683: [611, 0, 524, 26, 498],
-    0x1D684: [611, 11, 524, 4, 520],
-    0x1D685: [611, 8, 524, 18, 506],
-    0x1D686: [611, 8, 524, 11, 513],
-    0x1D687: [611, 0, 524, 27, 496],
-    0x1D688: [611, 0, 524, 19, 505],
-    0x1D689: [611, 0, 524, 48, 481],
-    0x1D68A: [440, 6, 524, 55, 524],
-    0x1D68B: [611, 6, 524, 12, 488],
-    0x1D68C: [440, 6, 524, 73, 466],
-    0x1D68D: [611, 6, 524, 36, 512],
-    0x1D68E: [440, 6, 524, 55, 464],
-    0x1D68F: [617, 0, 524, 42, 437],
-    0x1D690: [442, 229, 524, 29, 509],
-    0x1D691: [611, 0, 524, 12, 512],
-    0x1D692: [612, 0, 524, 78, 455],
-    0x1D693: [612, 228, 524, 48, 368],
-    0x1D694: [611, 0, 524, 21, 508],
-    0x1D695: [611, 0, 524, 58, 467],
-    0x1D696: [437, 0, 524, -4, 516],
-    0x1D697: [437, 0, 524, 12, 512],
-    0x1D698: [440, 6, 524, 57, 467],
-    0x1D699: [437, 222, 524, 12, 488],
-    0x1D69A: [437, 222, 524, 40, 537],
-    0x1D69B: [437, 0, 524, 32, 487],
-    0x1D69C: [440, 6, 524, 72, 459],
-    0x1D69D: [554, 6, 524, 25, 449],
-    0x1D69E: [431, 6, 524, 12, 512],
-    0x1D69F: [431, 4, 524, 24, 500],
-    0x1D6A0: [431, 4, 524, 16, 508],
-    0x1D6A1: [431, 0, 524, 27, 496],
-    0x1D6A2: [431, 228, 524, 26, 500],
-    0x1D6A3: [431, 0, 524, 33, 475],
-    0x1D7F6: [691, 12, 499, 48, 451],
-    0x1D7F7: [691, 0, 499, 100, 421],
-    0x1D7F8: [691, 0, 499, 50, 450],
-    0x1D7F9: [691, 12, 499, 42, 457],
-    0x1D7FA: [692, 0, 499, 28, 471],
-    0x1D7FB: [679, 12, 499, 50, 450],
-    0x1D7FC: [691, 12, 499, 50, 449],
-    0x1D7FD: [697, 12, 499, 42, 457],
-    0x1D7FE: [691, 12, 499, 42, 457],
-    0x1D7FF: [691, 12, 499, 50, 449]
+  directory: 'Monospace/Regular',
+  family: 'AsanaMathJax_Monospace',
+  testString: '\u00A0\uD835\uDE70\uD835\uDE71\uD835\uDE72\uD835\uDE73\uD835\uDE74\uD835\uDE75\uD835\uDE76\uD835\uDE77\uD835\uDE78\uD835\uDE79\uD835\uDE7A\uD835\uDE7B\uD835\uDE7C\uD835\uDE7D',
+  0x20: [0, 0, 524, 0, 0],
+  0xA0: [0, 0, 524, 0, 0],
+  0x1D670: [623, 0, 524, 27, 497],
+  0x1D671: [611, 0, 524, 23, 482],
+  0x1D672: [622, 11, 524, 40, 484],
+  0x1D673: [611, 0, 524, 19, 485],
+  0x1D674: [611, 0, 524, 26, 502],
+  0x1D675: [611, 0, 524, 28, 490],
+  0x1D676: [622, 11, 524, 38, 496],
+  0x1D677: [611, 0, 524, 22, 502],
+  0x1D678: [611, 0, 524, 79, 446],
+  0x1D679: [611, 11, 524, 71, 478],
+  0x1D67A: [611, 0, 524, 26, 495],
+  0x1D67B: [611, 0, 524, 32, 488],
+  0x1D67C: [611, 0, 524, 17, 507],
+  0x1D67D: [611, 0, 524, 28, 496],
+  0x1D67E: [622, 11, 524, 56, 468],
+  0x1D67F: [611, 0, 524, 26, 480],
+  0x1D680: [622, 139, 524, 56, 468],
+  0x1D681: [611, 11, 524, 22, 522],
+  0x1D682: [622, 11, 524, 52, 472],
+  0x1D683: [611, 0, 524, 26, 498],
+  0x1D684: [611, 11, 524, 4, 520],
+  0x1D685: [611, 8, 524, 18, 506],
+  0x1D686: [611, 8, 524, 11, 513],
+  0x1D687: [611, 0, 524, 27, 496],
+  0x1D688: [611, 0, 524, 19, 505],
+  0x1D689: [611, 0, 524, 48, 481],
+  0x1D68A: [440, 6, 524, 55, 524],
+  0x1D68B: [611, 6, 524, 12, 488],
+  0x1D68C: [440, 6, 524, 73, 466],
+  0x1D68D: [611, 6, 524, 36, 512],
+  0x1D68E: [440, 6, 524, 55, 464],
+  0x1D68F: [617, 0, 524, 42, 437],
+  0x1D690: [442, 229, 524, 29, 509],
+  0x1D691: [611, 0, 524, 12, 512],
+  0x1D692: [612, 0, 524, 78, 455],
+  0x1D693: [612, 228, 524, 48, 368],
+  0x1D694: [611, 0, 524, 21, 508],
+  0x1D695: [611, 0, 524, 58, 467],
+  0x1D696: [437, 0, 524, -4, 516],
+  0x1D697: [437, 0, 524, 12, 512],
+  0x1D698: [440, 6, 524, 57, 467],
+  0x1D699: [437, 222, 524, 12, 488],
+  0x1D69A: [437, 222, 524, 40, 537],
+  0x1D69B: [437, 0, 524, 32, 487],
+  0x1D69C: [440, 6, 524, 72, 459],
+  0x1D69D: [554, 6, 524, 25, 449],
+  0x1D69E: [431, 6, 524, 12, 512],
+  0x1D69F: [431, 4, 524, 24, 500],
+  0x1D6A0: [431, 4, 524, 16, 508],
+  0x1D6A1: [431, 0, 524, 27, 496],
+  0x1D6A2: [431, 228, 524, 26, 500],
+  0x1D6A3: [431, 0, 524, 33, 475],
+  0x1D7F6: [691, 12, 499, 48, 451],
+  0x1D7F7: [691, 0, 499, 100, 421],
+  0x1D7F8: [691, 0, 499, 50, 450],
+  0x1D7F9: [691, 12, 499, 42, 457],
+  0x1D7FA: [692, 0, 499, 28, 471],
+  0x1D7FB: [679, 12, 499, 50, 450],
+  0x1D7FC: [691, 12, 499, 50, 449],
+  0x1D7FD: [697, 12, 499, 42, 457],
+  0x1D7FE: [691, 12, 499, 42, 457],
+  0x1D7FF: [691, 12, 499, 50, 449]
 };
 
 MathJax.Callback.Queue(

+ 79 - 79
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Size3/Regular/Main.js

@@ -18,85 +18,85 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['AsanaMathJax_Size3'] = {
-    directory: 'Size3/Regular',
-    family: 'AsanaMathJax_Size3',
-    testString: '\u0302\u0303\u0305\u0306\u030C\u0332\u0333\u033F\u2016\u2044\u2045\u2046\u20D6\u20D7\u220F',
-    0x20: [0, 0, 249, 0, 0],
-    0x28: [1701, 851, 441, 84, 402],
-    0x29: [1701, 851, 441, 40, 358],
-    0x5B: [1710, 846, 381, 84, 352],
-    0x5D: [1710, 846, 381, 84, 352],
-    0x7B: [1697, 855, 590, 51, 541],
-    0x7C: [1219, 678, 270, 86, 185],
-    0x7D: [1697, 855, 590, 50, 540],
-    0x302: [783, -627, 1055, 0, 1055],
-    0x303: [772, -642, 1402, 0, 1403],
-    0x305: [587, -542, 1126, 0, 1127],
-    0x306: [664, -506, 921, 0, 922],
-    0x30C: [792, -627, 1473, 0, 1474],
-    0x332: [-130, 175, 1126, 0, 1127],
-    0x333: [-130, 283, 1126, 0, 1127],
-    0x33F: [695, -542, 1126, 0, 1127],
-    0x2016: [1219, 678, 539, 86, 454],
-    0x2044: [1037, 758, 491, -180, 494],
-    0x2045: [1435, 893, 375, 48, 319],
-    0x2046: [1435, 893, 385, 14, 285],
-    0x20D6: [790, -520, 1878, 0, 1878],
-    0x20D7: [790, -520, 1878, 0, 1878],
-    0x220F: [1868, 929, 2968, 161, 2809],
-    0x2210: [1868, 929, 2968, 161, 2809],
-    0x2211: [1852, 924, 2539, 184, 2353],
-    0x221A: [2543, 0, 995, 63, 1027],
-    0x2229: [1725, 863, 1860, 178, 1684],
-    0x222B: [2314, 1156, 1726, 54, 1727],
-    0x222C: [2314, 1156, 2828, 54, 2679],
-    0x222D: [2314, 1156, 3780, 54, 3631],
-    0x222E: [2314, 1156, 1876, 54, 1727],
-    0x222F: [2314, 1156, 2828, 54, 2679],
-    0x2230: [2314, 1156, 3780, 54, 3631],
-    0x2231: [2314, 1156, 1875, 54, 1726],
-    0x2232: [2314, 1156, 1963, 141, 1814],
-    0x2233: [2314, 1156, 1876, 54, 1727],
-    0x22C3: [1725, 863, 1860, 178, 1684],
-    0x2308: [1701, 851, 390, 86, 348],
-    0x2309: [1701, 851, 390, 86, 348],
-    0x230A: [1701, 851, 390, 86, 348],
-    0x230B: [1701, 851, 390, 86, 348],
-    0x23B4: [755, -487, 1689, 0, 1690],
-    0x23B5: [-207, 475, 1689, 0, 1690],
-    0x23DC: [848, -530, 1685, 0, 1686],
-    0x23DD: [-530, 848, 1685, 0, 1686],
-    0x23DE: [1035, -545, 2653, 51, 2603],
-    0x23DF: [-545, 1035, 2653, 51, 2603],
-    0x23E0: [755, -545, 3107, 0, 3108],
-    0x23E1: [-545, 755, 3107, 0, 3108],
-    0x27C5: [1291, 750, 450, 53, 397],
-    0x27C6: [1258, 783, 450, 53, 397],
-    0x27E6: [1363, 682, 523, 84, 494],
-    0x27E7: [1363, 682, 523, 84, 494],
-    0x27E8: [1702, 850, 471, 53, 419],
-    0x27E9: [1702, 850, 471, 53, 419],
-    0x27EA: [1702, 850, 665, 53, 613],
-    0x27EB: [1702, 850, 665, 53, 613],
-    0x29FC: [1577, 789, 589, 55, 535],
-    0x29FD: [1577, 789, 589, 54, 535],
-    0x2A0C: [2314, 1156, 4730, 54, 4581],
-    0x2A0D: [2314, 1156, 1876, 54, 1727],
-    0x2A0E: [2314, 1156, 1876, 54, 1727],
-    0x2A0F: [2314, 1156, 1876, 54, 1727],
-    0x2A10: [2314, 1156, 1876, 54, 1727],
-    0x2A11: [2314, 1156, 1986, 54, 1837],
-    0x2A12: [2314, 1156, 1876, 54, 1727],
-    0x2A13: [2314, 1156, 1876, 54, 1727],
-    0x2A14: [2314, 1156, 1876, 54, 1727],
-    0x2A15: [2314, 1156, 1876, 54, 1727],
-    0x2A16: [2314, 1156, 1876, 54, 1727],
-    0x2A17: [2314, 1156, 2463, 54, 2364],
-    0x2A18: [2314, 1156, 1876, 54, 1727],
-    0x2A19: [2314, 1156, 1876, 54, 1727],
-    0x2A1A: [2314, 1156, 1876, 54, 1727],
-    0x2A1B: [2598, 1156, 1894, 54, 1745],
-    0x2A1C: [2598, 1156, 1894, 54, 1745]
+  directory: 'Size3/Regular',
+  family: 'AsanaMathJax_Size3',
+  testString: '\u0302\u0303\u0305\u0306\u030C\u0332\u0333\u033F\u2016\u2044\u2045\u2046\u20D6\u20D7\u220F',
+  0x20: [0, 0, 249, 0, 0],
+  0x28: [1701, 851, 441, 84, 402],
+  0x29: [1701, 851, 441, 40, 358],
+  0x5B: [1710, 846, 381, 84, 352],
+  0x5D: [1710, 846, 381, 84, 352],
+  0x7B: [1697, 855, 590, 51, 541],
+  0x7C: [1219, 678, 270, 86, 185],
+  0x7D: [1697, 855, 590, 50, 540],
+  0x302: [783, -627, 1055, 0, 1055],
+  0x303: [772, -642, 1402, 0, 1403],
+  0x305: [587, -542, 1126, 0, 1127],
+  0x306: [664, -506, 921, 0, 922],
+  0x30C: [792, -627, 1473, 0, 1474],
+  0x332: [-130, 175, 1126, 0, 1127],
+  0x333: [-130, 283, 1126, 0, 1127],
+  0x33F: [695, -542, 1126, 0, 1127],
+  0x2016: [1219, 678, 539, 86, 454],
+  0x2044: [1037, 758, 491, -180, 494],
+  0x2045: [1435, 893, 375, 48, 319],
+  0x2046: [1435, 893, 385, 14, 285],
+  0x20D6: [790, -520, 1878, 0, 1878],
+  0x20D7: [790, -520, 1878, 0, 1878],
+  0x220F: [1868, 929, 2968, 161, 2809],
+  0x2210: [1868, 929, 2968, 161, 2809],
+  0x2211: [1852, 924, 2539, 184, 2353],
+  0x221A: [2543, 0, 995, 63, 1027],
+  0x2229: [1725, 863, 1860, 178, 1684],
+  0x222B: [2314, 1156, 1726, 54, 1727],
+  0x222C: [2314, 1156, 2828, 54, 2679],
+  0x222D: [2314, 1156, 3780, 54, 3631],
+  0x222E: [2314, 1156, 1876, 54, 1727],
+  0x222F: [2314, 1156, 2828, 54, 2679],
+  0x2230: [2314, 1156, 3780, 54, 3631],
+  0x2231: [2314, 1156, 1875, 54, 1726],
+  0x2232: [2314, 1156, 1963, 141, 1814],
+  0x2233: [2314, 1156, 1876, 54, 1727],
+  0x22C3: [1725, 863, 1860, 178, 1684],
+  0x2308: [1701, 851, 390, 86, 348],
+  0x2309: [1701, 851, 390, 86, 348],
+  0x230A: [1701, 851, 390, 86, 348],
+  0x230B: [1701, 851, 390, 86, 348],
+  0x23B4: [755, -487, 1689, 0, 1690],
+  0x23B5: [-207, 475, 1689, 0, 1690],
+  0x23DC: [848, -530, 1685, 0, 1686],
+  0x23DD: [-530, 848, 1685, 0, 1686],
+  0x23DE: [1035, -545, 2653, 51, 2603],
+  0x23DF: [-545, 1035, 2653, 51, 2603],
+  0x23E0: [755, -545, 3107, 0, 3108],
+  0x23E1: [-545, 755, 3107, 0, 3108],
+  0x27C5: [1291, 750, 450, 53, 397],
+  0x27C6: [1258, 783, 450, 53, 397],
+  0x27E6: [1363, 682, 523, 84, 494],
+  0x27E7: [1363, 682, 523, 84, 494],
+  0x27E8: [1702, 850, 471, 53, 419],
+  0x27E9: [1702, 850, 471, 53, 419],
+  0x27EA: [1702, 850, 665, 53, 613],
+  0x27EB: [1702, 850, 665, 53, 613],
+  0x29FC: [1577, 789, 589, 55, 535],
+  0x29FD: [1577, 789, 589, 54, 535],
+  0x2A0C: [2314, 1156, 4730, 54, 4581],
+  0x2A0D: [2314, 1156, 1876, 54, 1727],
+  0x2A0E: [2314, 1156, 1876, 54, 1727],
+  0x2A0F: [2314, 1156, 1876, 54, 1727],
+  0x2A10: [2314, 1156, 1876, 54, 1727],
+  0x2A11: [2314, 1156, 1986, 54, 1837],
+  0x2A12: [2314, 1156, 1876, 54, 1727],
+  0x2A13: [2314, 1156, 1876, 54, 1727],
+  0x2A14: [2314, 1156, 1876, 54, 1727],
+  0x2A15: [2314, 1156, 1876, 54, 1727],
+  0x2A16: [2314, 1156, 1876, 54, 1727],
+  0x2A17: [2314, 1156, 2463, 54, 2364],
+  0x2A18: [2314, 1156, 1876, 54, 1727],
+  0x2A19: [2314, 1156, 1876, 54, 1727],
+  0x2A1A: [2314, 1156, 1876, 54, 1727],
+  0x2A1B: [2598, 1156, 1894, 54, 1745],
+  0x2A1C: [2598, 1156, 1894, 54, 1745]
 };
 
 MathJax.Callback.Queue(

+ 10 - 10
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Asana-Math/Size5/Regular/Main.js

@@ -18,16 +18,16 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['AsanaMathJax_Size5'] = {
-    directory: 'Size5/Regular',
-    family: 'AsanaMathJax_Size5',
-    testString: '\u0302\u0303\u030C\u27C5\u27C6',
-    0x20: [0, 0, 249, 0, 0],
-    0x7C: [1673, 1039, 288, 85, 203],
-    0x302: [783, -627, 3026, 0, 3026],
-    0x303: [772, -642, 2797, 0, 2797],
-    0x30C: [792, -627, 2940, 0, 2940],
-    0x27C5: [1260, 1803, 450, 53, 397],
-    0x27C6: [1260, 1803, 450, 53, 397]
+  directory: 'Size5/Regular',
+  family: 'AsanaMathJax_Size5',
+  testString: '\u0302\u0303\u030C\u27C5\u27C6',
+  0x20: [0, 0, 249, 0, 0],
+  0x7C: [1673, 1039, 288, 85, 203],
+  0x302: [783, -627, 3026, 0, 3026],
+  0x303: [772, -642, 2797, 0, 2797],
+  0x30C: [792, -627, 2940, 0, 2940],
+  0x27C5: [1260, 1803, 450, 53, 397],
+  0x27C6: [1260, 1803, 450, 53, 397]
 };
 
 MathJax.Callback.Queue(

+ 347 - 347
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Normal/Regular/Main.js

@@ -18,353 +18,353 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['GyrePagellaMathJax_Normal'] = {
-    directory: 'Normal/Regular',
-    family: 'GyrePagellaMathJax_Normal',
-    testString: '\u00A0\u210E\uD835\uDC00\uD835\uDC01\uD835\uDC02\uD835\uDC03\uD835\uDC04\uD835\uDC05\uD835\uDC06\uD835\uDC07\uD835\uDC08\uD835\uDC09\uD835\uDC0A\uD835\uDC0B\uD835\uDC0C',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x210E: [733, 9, 500, 10, 471],
-    0x1D400: [686, 3, 778, 24, 757],
-    0x1D401: [681, 3, 667, 39, 611],
-    0x1D402: [695, 17, 722, 44, 695],
-    0x1D403: [681, 3, 833, 35, 786],
-    0x1D404: [681, 3, 611, 39, 577],
-    0x1D405: [681, 3, 556, 28, 539],
-    0x1D406: [695, 17, 833, 47, 776],
-    0x1D407: [681, 3, 833, 36, 796],
-    0x1D408: [681, 3, 389, 39, 350],
-    0x1D409: [681, 213, 389, -11, 350],
-    0x1D40A: [681, 3, 778, 39, 763],
-    0x1D40B: [681, 3, 611, 39, 577],
-    0x1D40C: [681, 10, 1000, 32, 968],
-    0x1D40D: [681, 16, 833, 35, 798],
-    0x1D40E: [695, 17, 833, 47, 787],
-    0x1D40F: [681, 3, 611, 39, 594],
-    0x1D410: [695, 184, 833, 47, 787],
-    0x1D411: [681, 3, 722, 39, 708],
-    0x1D412: [695, 17, 611, 57, 559],
-    0x1D413: [681, 3, 667, 17, 650],
-    0x1D414: [681, 17, 778, 26, 760],
-    0x1D415: [681, 3, 778, 20, 763],
-    0x1D416: [686, 3, 1000, 17, 988],
-    0x1D417: [695, 3, 667, 17, 650],
-    0x1D418: [695, 3, 667, 15, 660],
-    0x1D419: [681, 3, 667, 24, 627],
-    0x1D41A: [471, 17, 500, 40, 478],
-    0x1D41B: [720, 17, 611, 10, 556],
-    0x1D41C: [471, 17, 444, 37, 414],
-    0x1D41D: [720, 17, 611, 42, 577],
-    0x1D41E: [471, 17, 500, 42, 461],
-    0x1D41F: [720, 3, 389, 34, 381],
-    0x1D420: [471, 266, 556, 26, 535],
-    0x1D421: [720, 3, 611, 24, 587],
-    0x1D422: [666, 3, 333, 34, 298],
-    0x1D423: [666, 266, 333, 3, 233],
-    0x1D424: [720, 3, 611, 21, 597],
-    0x1D425: [720, 3, 333, 24, 296],
-    0x1D426: [471, 3, 889, 24, 864],
-    0x1D427: [471, 3, 611, 24, 587],
-    0x1D428: [471, 17, 556, 40, 517],
-    0x1D429: [471, 258, 611, 29, 567],
-    0x1D42A: [471, 258, 611, 52, 589],
-    0x1D42B: [471, 3, 389, 30, 389],
-    0x1D42C: [471, 17, 444, 39, 405],
-    0x1D42D: [632, 17, 333, 22, 324],
-    0x1D42E: [471, 17, 611, 25, 583],
-    0x1D42F: [459, 3, 556, 11, 545],
-    0x1D430: [471, 3, 833, 13, 820],
-    0x1D431: [471, 3, 500, 20, 483],
-    0x1D432: [459, 266, 556, 10, 546],
-    0x1D433: [457, 3, 500, 16, 464],
-    0x1D434: [705, 3, 722, -19, 677],
-    0x1D435: [692, 3, 611, 26, 559],
-    0x1D436: [706, 18, 667, 45, 651],
-    0x1D437: [692, 3, 778, 28, 741],
-    0x1D438: [692, 3, 611, 30, 570],
-    0x1D439: [692, 3, 556, 0, 548],
-    0x1D43A: [706, 18, 722, 50, 694],
-    0x1D43B: [692, 3, 778, -3, 800],
-    0x1D43C: [692, 3, 333, 7, 354],
-    0x1D43D: [692, 206, 333, -35, 358],
-    0x1D43E: [692, 3, 667, 13, 683],
-    0x1D43F: [692, 3, 556, 16, 523],
-    0x1D440: [692, 18, 944, -19, 940],
-    0x1D441: [692, 11, 778, 2, 804],
-    0x1D442: [706, 18, 778, 53, 748],
-    0x1D443: [692, 3, 611, 9, 594],
-    0x1D444: [706, 201, 778, 53, 748],
-    0x1D445: [692, 3, 667, 9, 639],
-    0x1D446: [706, 18, 556, 42, 506],
-    0x1D447: [692, 3, 611, 53, 635],
-    0x1D448: [692, 19, 778, 88, 798],
-    0x1D449: [692, 8, 722, 75, 754],
-    0x1D44A: [700, 8, 944, 71, 980],
-    0x1D44B: [692, 3, 722, 20, 734],
-    0x1D44C: [705, 3, 667, 52, 675],
-    0x1D44D: [692, 3, 667, 20, 637],
-    0x1D44E: [482, 11, 444, 4, 406],
-    0x1D44F: [733, 11, 463, 37, 433],
-    0x1D450: [482, 11, 407, 25, 389],
-    0x1D451: [733, 11, 500, 17, 483],
-    0x1D452: [482, 11, 389, 15, 374],
-    0x1D453: [733, 276, 278, -162, 413],
-    0x1D454: [482, 276, 500, -37, 498],
-    0x1D456: [670, 9, 278, 34, 266],
-    0x1D457: [670, 276, 278, -70, 273],
-    0x1D458: [733, 9, 444, 8, 449],
-    0x1D459: [733, 9, 278, 36, 251],
-    0x1D45A: [482, 9, 778, 24, 740],
-    0x1D45B: [482, 9, 556, 24, 514],
-    0x1D45C: [482, 11, 444, 17, 411],
-    0x1D45D: [482, 276, 500, -7, 465],
-    0x1D45E: [482, 276, 463, 24, 432],
-    0x1D45F: [482, 9, 389, 26, 384],
-    0x1D460: [482, 11, 389, 9, 345],
-    0x1D461: [646, 9, 333, 41, 310],
-    0x1D462: [482, 11, 556, 32, 512],
-    0x1D463: [482, 11, 500, 21, 477],
-    0x1D464: [482, 11, 722, 21, 699],
-    0x1D465: [482, 11, 500, 9, 484],
-    0x1D466: [482, 276, 500, -8, 490],
-    0x1D467: [482, 11, 444, -1, 416],
-    0x1D468: [683, 3, 722, -35, 685],
-    0x1D469: [682, 3, 667, 8, 629],
-    0x1D46A: [695, 17, 685, 69, 695],
-    0x1D46B: [682, 3, 778, 0, 747],
-    0x1D46C: [681, 3, 611, 11, 606],
-    0x1D46D: [681, 3, 556, -6, 593],
-    0x1D46E: [695, 17, 778, 72, 750],
-    0x1D46F: [681, 3, 778, -12, 826],
-    0x1D470: [681, 3, 389, -1, 412],
-    0x1D471: [681, 207, 389, -29, 417],
-    0x1D472: [681, 3, 722, -10, 746],
-    0x1D473: [681, 3, 611, 26, 578],
-    0x1D474: [681, 17, 944, -23, 985],
-    0x1D475: [681, 3, 778, -2, 829],
-    0x1D476: [695, 17, 833, 76, 794],
-    0x1D477: [681, 3, 667, 11, 673],
-    0x1D478: [695, 222, 833, 76, 794],
-    0x1D479: [681, 3, 722, 4, 697],
-    0x1D47A: [695, 17, 556, 50, 517],
-    0x1D47B: [681, 3, 611, 56, 674],
-    0x1D47C: [681, 17, 778, 83, 825],
-    0x1D47D: [681, 3, 667, 67, 745],
-    0x1D47E: [689, 3, 1000, 67, 1073],
-    0x1D47F: [681, 3, 722, -9, 772],
-    0x1D480: [695, 3, 611, 54, 675],
-    0x1D481: [681, 3, 667, 1, 676],
-    0x1D482: [470, 17, 556, 44, 519],
-    0x1D483: [726, 17, 537, 44, 494],
-    0x1D484: [469, 17, 444, 32, 436],
-    0x1D485: [726, 17, 556, 38, 550],
-    0x1D486: [469, 17, 444, 28, 418],
-    0x1D487: [726, 271, 333, -130, 449],
-    0x1D488: [469, 271, 500, -50, 529],
-    0x1D489: [726, 17, 556, 22, 522],
-    0x1D48A: [675, 17, 333, 26, 301],
-    0x1D48B: [675, 271, 333, -64, 311],
-    0x1D48C: [726, 17, 556, 34, 528],
-    0x1D48D: [726, 17, 333, 64, 318],
-    0x1D48E: [469, 17, 833, 19, 803],
-    0x1D48F: [469, 17, 556, 17, 521],
-    0x1D490: [469, 17, 556, 48, 502],
-    0x1D491: [469, 271, 556, -21, 516],
-    0x1D492: [469, 271, 537, 32, 513],
-    0x1D493: [469, 17, 389, 20, 411],
-    0x1D494: [469, 17, 444, 25, 406],
-    0x1D495: [636, 17, 389, 42, 409],
-    0x1D496: [469, 17, 556, 22, 521],
-    0x1D497: [469, 17, 556, 19, 513],
-    0x1D498: [469, 17, 833, 27, 802],
-    0x1D499: [469, 17, 500, -8, 500],
-    0x1D49A: [469, 271, 556, 13, 541],
-    0x1D49B: [469, 17, 500, 31, 470],
-    0x1D6A4: [482, 9, 278, 34, 241],
-    0x1D6A5: [482, 276, 278, -70, 228],
-    0x1D6A8: [686, 3, 748, 6, 739],
-    0x1D6A9: [681, 3, 659, 31, 603],
-    0x1D6AA: [681, 3, 562, 31, 542],
-    0x1D6AB: [686, 3, 662, 25, 637],
-    0x1D6AC: [681, 3, 606, 31, 569],
-    0x1D6AD: [681, 3, 670, 25, 628],
-    0x1D6AE: [681, 3, 822, 31, 791],
-    0x1D6AF: [695, 17, 831, 47, 787],
-    0x1D6B0: [681, 3, 389, 40, 351],
-    0x1D6B1: [681, 3, 761, 31, 755],
-    0x1D6B2: [686, 3, 748, 6, 739],
-    0x1D6B3: [681, 10, 1009, 38, 974],
-    0x1D6B4: [681, 16, 822, 31, 794],
-    0x1D6B5: [681, 3, 719, 42, 676],
-    0x1D6B6: [695, 17, 832, 46, 786],
-    0x1D6B7: [681, 3, 822, 31, 791],
-    0x1D6B8: [681, 3, 611, 31, 586],
-    0x1D6B9: [695, 17, 831, 47, 787],
-    0x1D6BA: [681, 3, 669, 25, 628],
-    0x1D6BB: [681, 3, 673, 20, 653],
-    0x1D6BC: [695, 3, 675, 15, 660],
-    0x1D6BD: [681, 3, 833, 47, 787],
-    0x1D6BE: [695, 3, 620, -8, 625],
-    0x1D6BF: [681, 3, 742, 4, 738],
-    0x1D6C0: [695, 3, 827, 27, 804],
-    0x1D6C1: [676, 13, 662, 25, 637],
-    0x1D6C2: [469, 17, 563, 43, 563],
-    0x1D6C3: [718, 272, 617, 71, 576],
-    0x1D6C4: [469, 232, 571, -14, 572],
-    0x1D6C5: [718, 17, 482, 41, 440],
-    0x1D6C6: [471, 17, 491, 41, 467],
-    0x1D6C7: [718, 232, 491, 45, 468],
-    0x1D6C8: [469, 271, 569, 5, 499],
-    0x1D6C9: [695, 17, 550, 49, 502],
-    0x1D6CA: [469, 17, 359, 79, 349],
-    0x1D6CB: [469, 17, 623, 22, 601],
-    0x1D6CC: [718, 19, 613, 10, 603],
-    0x1D6CD: [469, 271, 608, 16, 601],
-    0x1D6CE: [469, 17, 533, -9, 494],
-    0x1D6CF: [718, 232, 476, 54, 477],
-    0x1D6D0: [469, 17, 539, 41, 496],
-    0x1D6D1: [493, 17, 777, 55, 754],
-    0x1D6D2: [469, 271, 570, 69, 529],
-    0x1D6D3: [469, 232, 486, 48, 464],
-    0x1D6D4: [482, 17, 660, 54, 637],
-    0x1D6D5: [493, 17, 618, 32, 594],
-    0x1D6D6: [469, 17, 538, -5, 495],
-    0x1D6D7: [469, 271, 727, 41, 684],
-    0x1D6D8: [469, 232, 654, 22, 656],
-    0x1D6D9: [636, 271, 728, -5, 687],
-    0x1D6DA: [469, 17, 802, 41, 759],
-    0x1D6DB: [740, 17, 571, 47, 512],
-    0x1D6DC: [471, 17, 576, 69, 536],
-    0x1D6DD: [695, 17, 602, 22, 580],
-    0x1D6DE: [469, 17, 693, 39, 654],
-    0x1D6DF: [633, 268, 722, 41, 680],
-    0x1D6E0: [469, 271, 561, 70, 519],
-    0x1D6E1: [559, 17, 803, 41, 760],
-    0x1D6E2: [700, 3, 744, -35, 697],
-    0x1D6E3: [692, 3, 624, 33, 601],
-    0x1D6E4: [692, 3, 539, -17, 609],
-    0x1D6E5: [700, 3, 616, -33, 572],
-    0x1D6E6: [692, 3, 615, 7, 640],
-    0x1D6E7: [692, 3, 661, -23, 705],
-    0x1D6E8: [692, 3, 819, -17, 878],
-    0x1D6E9: [709, 20, 833, 67, 813],
-    0x1D6EA: [692, 3, 334, -17, 393],
-    0x1D6EB: [692, 3, 698, -18, 761],
-    0x1D6EC: [700, 3, 720, -46, 685],
-    0x1D6ED: [692, 13, 934, -22, 987],
-    0x1D6EE: [692, 20, 836, -18, 885],
-    0x1D6EF: [692, 3, 693, 16, 683],
-    0x1D6F0: [709, 20, 833, 66, 811],
-    0x1D6F1: [692, 3, 819, -17, 878],
-    0x1D6F2: [692, 3, 592, -17, 627],
-    0x1D6F3: [709, 20, 833, 67, 813],
-    0x1D6F4: [692, 3, 696, 4, 672],
-    0x1D6F5: [692, 3, 602, 79, 666],
-    0x1D6F6: [705, 3, 634, 78, 717],
-    0x1D6F7: [692, 3, 833, 71, 806],
-    0x1D6F8: [700, 3, 643, -31, 704],
-    0x1D6F9: [692, 3, 767, 94, 832],
-    0x1D6FA: [709, 3, 822, 4, 799],
-    0x1D6FB: [690, 13, 616, 80, 684],
-    0x1D6FC: [482, 11, 537, 22, 496],
-    0x1D6FD: [711, 277, 582, 7, 534],
-    0x1D6FE: [482, 226, 571, 14, 589],
-    0x1D6FF: [711, 11, 458, 48, 450],
-    0x1D700: [484, 11, 444, 39, 401],
-    0x1D701: [711, 226, 454, 47, 539],
-    0x1D702: [482, 276, 526, 46, 506],
-    0x1D703: [711, 11, 492, 71, 493],
-    0x1D704: [482, 9, 285, 54, 264],
-    0x1D705: [482, 9, 518, 61, 526],
-    0x1D706: [711, 12, 569, -32, 543],
-    0x1D707: [482, 276, 596, 32, 549],
-    0x1D708: [482, 12, 499, 41, 517],
-    0x1D709: [711, 226, 456, 48, 540],
-    0x1D70A: [482, 11, 484, 53, 454],
-    0x1D70B: [493, 11, 677, 68, 705],
-    0x1D70C: [482, 276, 524, -6, 495],
-    0x1D70D: [482, 226, 472, 38, 454],
-    0x1D70E: [494, 11, 582, 52, 639],
-    0x1D70F: [493, 11, 559, 68, 594],
-    0x1D710: [482, 11, 528, 56, 510],
-    0x1D711: [482, 276, 638, 50, 610],
-    0x1D712: [482, 226, 557, -44, 588],
-    0x1D713: [646, 276, 646, 48, 640],
-    0x1D714: [482, 11, 765, 42, 759],
-    0x1D715: [733, 9, 545, 64, 526],
-    0x1D716: [482, 11, 489, 54, 491],
-    0x1D717: [711, 11, 553, 57, 581],
-    0x1D718: [483, 17, 660, 72, 609],
-    0x1D719: [644, 274, 637, 54, 605],
-    0x1D71A: [482, 276, 535, 55, 492],
-    0x1D71B: [548, 11, 765, 42, 759],
-    0x1D71C: [686, 3, 733, -35, 690],
-    0x1D71D: [681, 3, 646, 22, 627],
-    0x1D71E: [681, 3, 551, -10, 609],
-    0x1D71F: [686, 3, 649, -13, 593],
-    0x1D720: [681, 3, 594, 22, 625],
-    0x1D721: [681, 3, 657, -16, 692],
-    0x1D722: [681, 3, 806, -10, 855],
-    0x1D723: [695, 17, 814, 56, 799],
-    0x1D724: [681, 3, 381, -1, 424],
-    0x1D725: [681, 3, 746, -10, 795],
-    0x1D726: [686, 3, 733, -35, 690],
-    0x1D727: [681, 10, 989, -3, 1035],
-    0x1D728: [681, 16, 806, -10, 858],
-    0x1D729: [681, 3, 705, 22, 693],
-    0x1D72A: [695, 17, 815, 55, 798],
-    0x1D72B: [681, 3, 806, -10, 855],
-    0x1D72C: [681, 3, 599, -10, 630],
-    0x1D72D: [695, 17, 814, 56, 799],
-    0x1D72E: [681, 3, 656, -16, 640],
-    0x1D72F: [681, 3, 660, 84, 719],
-    0x1D730: [695, 3, 661, 84, 726],
-    0x1D731: [681, 3, 816, 61, 795],
-    0x1D732: [695, 3, 608, -48, 691],
-    0x1D733: [681, 3, 727, 77, 803],
-    0x1D734: [695, 3, 810, -4, 806],
-    0x1D735: [676, 13, 649, 95, 701],
-    0x1D736: [469, 17, 536, 20, 514],
-    0x1D737: [718, 272, 588, -21, 551],
-    0x1D738: [469, 232, 544, 12, 585],
-    0x1D739: [718, 17, 459, 34, 483],
-    0x1D73A: [471, 17, 468, 24, 444],
-    0x1D73B: [718, 232, 468, 40, 525],
-    0x1D73C: [469, 271, 542, 41, 523],
-    0x1D73D: [695, 17, 524, 61, 526],
-    0x1D73E: [469, 17, 342, 48, 313],
-    0x1D73F: [469, 17, 593, 55, 570],
-    0x1D740: [718, 19, 584, -29, 552],
-    0x1D741: [469, 271, 579, 3, 551],
-    0x1D742: [469, 17, 508, 27, 527],
-    0x1D743: [718, 232, 453, 49, 534],
-    0x1D744: [469, 17, 513, 33, 495],
-    0x1D745: [493, 17, 740, 61, 778],
-    0x1D746: [469, 271, 543, -13, 526],
-    0x1D747: [469, 232, 463, 36, 451],
-    0x1D748: [482, 17, 629, 46, 664],
-    0x1D749: [493, 17, 589, 65, 626],
-    0x1D74A: [469, 17, 512, 33, 507],
-    0x1D74B: [469, 271, 692, 31, 675],
-    0x1D74C: [469, 232, 623, -42, 582],
-    0x1D74D: [636, 271, 693, 33, 690],
-    0x1D74E: [469, 17, 764, 37, 759],
-    0x1D74F: [740, 17, 544, 70, 529],
-    0x1D750: [471, 17, 549, 64, 538],
-    0x1D751: [695, 17, 573, 59, 618],
-    0x1D752: [469, 17, 660, 67, 609],
-    0x1D753: [633, 268, 688, 36, 667],
-    0x1D754: [469, 271, 534, 54, 517],
-    0x1D755: [559, 17, 765, 37, 760],
-    0x1D7CE: [660, 17, 500, 33, 468],
-    0x1D7CF: [670, 3, 500, 35, 455],
-    0x1D7D0: [660, 3, 500, 25, 472],
-    0x1D7D1: [660, 17, 500, 22, 458],
-    0x1D7D2: [672, 3, 500, 12, 473],
-    0x1D7D3: [656, 17, 500, 42, 472],
-    0x1D7D4: [660, 17, 500, 37, 469],
-    0x1D7D5: [656, 3, 500, 46, 493],
-    0x1D7D6: [660, 17, 500, 34, 467],
-    0x1D7D7: [660, 17, 500, 31, 463]
+  directory: 'Normal/Regular',
+  family: 'GyrePagellaMathJax_Normal',
+  testString: '\u00A0\u210E\uD835\uDC00\uD835\uDC01\uD835\uDC02\uD835\uDC03\uD835\uDC04\uD835\uDC05\uD835\uDC06\uD835\uDC07\uD835\uDC08\uD835\uDC09\uD835\uDC0A\uD835\uDC0B\uD835\uDC0C',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x210E: [733, 9, 500, 10, 471],
+  0x1D400: [686, 3, 778, 24, 757],
+  0x1D401: [681, 3, 667, 39, 611],
+  0x1D402: [695, 17, 722, 44, 695],
+  0x1D403: [681, 3, 833, 35, 786],
+  0x1D404: [681, 3, 611, 39, 577],
+  0x1D405: [681, 3, 556, 28, 539],
+  0x1D406: [695, 17, 833, 47, 776],
+  0x1D407: [681, 3, 833, 36, 796],
+  0x1D408: [681, 3, 389, 39, 350],
+  0x1D409: [681, 213, 389, -11, 350],
+  0x1D40A: [681, 3, 778, 39, 763],
+  0x1D40B: [681, 3, 611, 39, 577],
+  0x1D40C: [681, 10, 1000, 32, 968],
+  0x1D40D: [681, 16, 833, 35, 798],
+  0x1D40E: [695, 17, 833, 47, 787],
+  0x1D40F: [681, 3, 611, 39, 594],
+  0x1D410: [695, 184, 833, 47, 787],
+  0x1D411: [681, 3, 722, 39, 708],
+  0x1D412: [695, 17, 611, 57, 559],
+  0x1D413: [681, 3, 667, 17, 650],
+  0x1D414: [681, 17, 778, 26, 760],
+  0x1D415: [681, 3, 778, 20, 763],
+  0x1D416: [686, 3, 1000, 17, 988],
+  0x1D417: [695, 3, 667, 17, 650],
+  0x1D418: [695, 3, 667, 15, 660],
+  0x1D419: [681, 3, 667, 24, 627],
+  0x1D41A: [471, 17, 500, 40, 478],
+  0x1D41B: [720, 17, 611, 10, 556],
+  0x1D41C: [471, 17, 444, 37, 414],
+  0x1D41D: [720, 17, 611, 42, 577],
+  0x1D41E: [471, 17, 500, 42, 461],
+  0x1D41F: [720, 3, 389, 34, 381],
+  0x1D420: [471, 266, 556, 26, 535],
+  0x1D421: [720, 3, 611, 24, 587],
+  0x1D422: [666, 3, 333, 34, 298],
+  0x1D423: [666, 266, 333, 3, 233],
+  0x1D424: [720, 3, 611, 21, 597],
+  0x1D425: [720, 3, 333, 24, 296],
+  0x1D426: [471, 3, 889, 24, 864],
+  0x1D427: [471, 3, 611, 24, 587],
+  0x1D428: [471, 17, 556, 40, 517],
+  0x1D429: [471, 258, 611, 29, 567],
+  0x1D42A: [471, 258, 611, 52, 589],
+  0x1D42B: [471, 3, 389, 30, 389],
+  0x1D42C: [471, 17, 444, 39, 405],
+  0x1D42D: [632, 17, 333, 22, 324],
+  0x1D42E: [471, 17, 611, 25, 583],
+  0x1D42F: [459, 3, 556, 11, 545],
+  0x1D430: [471, 3, 833, 13, 820],
+  0x1D431: [471, 3, 500, 20, 483],
+  0x1D432: [459, 266, 556, 10, 546],
+  0x1D433: [457, 3, 500, 16, 464],
+  0x1D434: [705, 3, 722, -19, 677],
+  0x1D435: [692, 3, 611, 26, 559],
+  0x1D436: [706, 18, 667, 45, 651],
+  0x1D437: [692, 3, 778, 28, 741],
+  0x1D438: [692, 3, 611, 30, 570],
+  0x1D439: [692, 3, 556, 0, 548],
+  0x1D43A: [706, 18, 722, 50, 694],
+  0x1D43B: [692, 3, 778, -3, 800],
+  0x1D43C: [692, 3, 333, 7, 354],
+  0x1D43D: [692, 206, 333, -35, 358],
+  0x1D43E: [692, 3, 667, 13, 683],
+  0x1D43F: [692, 3, 556, 16, 523],
+  0x1D440: [692, 18, 944, -19, 940],
+  0x1D441: [692, 11, 778, 2, 804],
+  0x1D442: [706, 18, 778, 53, 748],
+  0x1D443: [692, 3, 611, 9, 594],
+  0x1D444: [706, 201, 778, 53, 748],
+  0x1D445: [692, 3, 667, 9, 639],
+  0x1D446: [706, 18, 556, 42, 506],
+  0x1D447: [692, 3, 611, 53, 635],
+  0x1D448: [692, 19, 778, 88, 798],
+  0x1D449: [692, 8, 722, 75, 754],
+  0x1D44A: [700, 8, 944, 71, 980],
+  0x1D44B: [692, 3, 722, 20, 734],
+  0x1D44C: [705, 3, 667, 52, 675],
+  0x1D44D: [692, 3, 667, 20, 637],
+  0x1D44E: [482, 11, 444, 4, 406],
+  0x1D44F: [733, 11, 463, 37, 433],
+  0x1D450: [482, 11, 407, 25, 389],
+  0x1D451: [733, 11, 500, 17, 483],
+  0x1D452: [482, 11, 389, 15, 374],
+  0x1D453: [733, 276, 278, -162, 413],
+  0x1D454: [482, 276, 500, -37, 498],
+  0x1D456: [670, 9, 278, 34, 266],
+  0x1D457: [670, 276, 278, -70, 273],
+  0x1D458: [733, 9, 444, 8, 449],
+  0x1D459: [733, 9, 278, 36, 251],
+  0x1D45A: [482, 9, 778, 24, 740],
+  0x1D45B: [482, 9, 556, 24, 514],
+  0x1D45C: [482, 11, 444, 17, 411],
+  0x1D45D: [482, 276, 500, -7, 465],
+  0x1D45E: [482, 276, 463, 24, 432],
+  0x1D45F: [482, 9, 389, 26, 384],
+  0x1D460: [482, 11, 389, 9, 345],
+  0x1D461: [646, 9, 333, 41, 310],
+  0x1D462: [482, 11, 556, 32, 512],
+  0x1D463: [482, 11, 500, 21, 477],
+  0x1D464: [482, 11, 722, 21, 699],
+  0x1D465: [482, 11, 500, 9, 484],
+  0x1D466: [482, 276, 500, -8, 490],
+  0x1D467: [482, 11, 444, -1, 416],
+  0x1D468: [683, 3, 722, -35, 685],
+  0x1D469: [682, 3, 667, 8, 629],
+  0x1D46A: [695, 17, 685, 69, 695],
+  0x1D46B: [682, 3, 778, 0, 747],
+  0x1D46C: [681, 3, 611, 11, 606],
+  0x1D46D: [681, 3, 556, -6, 593],
+  0x1D46E: [695, 17, 778, 72, 750],
+  0x1D46F: [681, 3, 778, -12, 826],
+  0x1D470: [681, 3, 389, -1, 412],
+  0x1D471: [681, 207, 389, -29, 417],
+  0x1D472: [681, 3, 722, -10, 746],
+  0x1D473: [681, 3, 611, 26, 578],
+  0x1D474: [681, 17, 944, -23, 985],
+  0x1D475: [681, 3, 778, -2, 829],
+  0x1D476: [695, 17, 833, 76, 794],
+  0x1D477: [681, 3, 667, 11, 673],
+  0x1D478: [695, 222, 833, 76, 794],
+  0x1D479: [681, 3, 722, 4, 697],
+  0x1D47A: [695, 17, 556, 50, 517],
+  0x1D47B: [681, 3, 611, 56, 674],
+  0x1D47C: [681, 17, 778, 83, 825],
+  0x1D47D: [681, 3, 667, 67, 745],
+  0x1D47E: [689, 3, 1000, 67, 1073],
+  0x1D47F: [681, 3, 722, -9, 772],
+  0x1D480: [695, 3, 611, 54, 675],
+  0x1D481: [681, 3, 667, 1, 676],
+  0x1D482: [470, 17, 556, 44, 519],
+  0x1D483: [726, 17, 537, 44, 494],
+  0x1D484: [469, 17, 444, 32, 436],
+  0x1D485: [726, 17, 556, 38, 550],
+  0x1D486: [469, 17, 444, 28, 418],
+  0x1D487: [726, 271, 333, -130, 449],
+  0x1D488: [469, 271, 500, -50, 529],
+  0x1D489: [726, 17, 556, 22, 522],
+  0x1D48A: [675, 17, 333, 26, 301],
+  0x1D48B: [675, 271, 333, -64, 311],
+  0x1D48C: [726, 17, 556, 34, 528],
+  0x1D48D: [726, 17, 333, 64, 318],
+  0x1D48E: [469, 17, 833, 19, 803],
+  0x1D48F: [469, 17, 556, 17, 521],
+  0x1D490: [469, 17, 556, 48, 502],
+  0x1D491: [469, 271, 556, -21, 516],
+  0x1D492: [469, 271, 537, 32, 513],
+  0x1D493: [469, 17, 389, 20, 411],
+  0x1D494: [469, 17, 444, 25, 406],
+  0x1D495: [636, 17, 389, 42, 409],
+  0x1D496: [469, 17, 556, 22, 521],
+  0x1D497: [469, 17, 556, 19, 513],
+  0x1D498: [469, 17, 833, 27, 802],
+  0x1D499: [469, 17, 500, -8, 500],
+  0x1D49A: [469, 271, 556, 13, 541],
+  0x1D49B: [469, 17, 500, 31, 470],
+  0x1D6A4: [482, 9, 278, 34, 241],
+  0x1D6A5: [482, 276, 278, -70, 228],
+  0x1D6A8: [686, 3, 748, 6, 739],
+  0x1D6A9: [681, 3, 659, 31, 603],
+  0x1D6AA: [681, 3, 562, 31, 542],
+  0x1D6AB: [686, 3, 662, 25, 637],
+  0x1D6AC: [681, 3, 606, 31, 569],
+  0x1D6AD: [681, 3, 670, 25, 628],
+  0x1D6AE: [681, 3, 822, 31, 791],
+  0x1D6AF: [695, 17, 831, 47, 787],
+  0x1D6B0: [681, 3, 389, 40, 351],
+  0x1D6B1: [681, 3, 761, 31, 755],
+  0x1D6B2: [686, 3, 748, 6, 739],
+  0x1D6B3: [681, 10, 1009, 38, 974],
+  0x1D6B4: [681, 16, 822, 31, 794],
+  0x1D6B5: [681, 3, 719, 42, 676],
+  0x1D6B6: [695, 17, 832, 46, 786],
+  0x1D6B7: [681, 3, 822, 31, 791],
+  0x1D6B8: [681, 3, 611, 31, 586],
+  0x1D6B9: [695, 17, 831, 47, 787],
+  0x1D6BA: [681, 3, 669, 25, 628],
+  0x1D6BB: [681, 3, 673, 20, 653],
+  0x1D6BC: [695, 3, 675, 15, 660],
+  0x1D6BD: [681, 3, 833, 47, 787],
+  0x1D6BE: [695, 3, 620, -8, 625],
+  0x1D6BF: [681, 3, 742, 4, 738],
+  0x1D6C0: [695, 3, 827, 27, 804],
+  0x1D6C1: [676, 13, 662, 25, 637],
+  0x1D6C2: [469, 17, 563, 43, 563],
+  0x1D6C3: [718, 272, 617, 71, 576],
+  0x1D6C4: [469, 232, 571, -14, 572],
+  0x1D6C5: [718, 17, 482, 41, 440],
+  0x1D6C6: [471, 17, 491, 41, 467],
+  0x1D6C7: [718, 232, 491, 45, 468],
+  0x1D6C8: [469, 271, 569, 5, 499],
+  0x1D6C9: [695, 17, 550, 49, 502],
+  0x1D6CA: [469, 17, 359, 79, 349],
+  0x1D6CB: [469, 17, 623, 22, 601],
+  0x1D6CC: [718, 19, 613, 10, 603],
+  0x1D6CD: [469, 271, 608, 16, 601],
+  0x1D6CE: [469, 17, 533, -9, 494],
+  0x1D6CF: [718, 232, 476, 54, 477],
+  0x1D6D0: [469, 17, 539, 41, 496],
+  0x1D6D1: [493, 17, 777, 55, 754],
+  0x1D6D2: [469, 271, 570, 69, 529],
+  0x1D6D3: [469, 232, 486, 48, 464],
+  0x1D6D4: [482, 17, 660, 54, 637],
+  0x1D6D5: [493, 17, 618, 32, 594],
+  0x1D6D6: [469, 17, 538, -5, 495],
+  0x1D6D7: [469, 271, 727, 41, 684],
+  0x1D6D8: [469, 232, 654, 22, 656],
+  0x1D6D9: [636, 271, 728, -5, 687],
+  0x1D6DA: [469, 17, 802, 41, 759],
+  0x1D6DB: [740, 17, 571, 47, 512],
+  0x1D6DC: [471, 17, 576, 69, 536],
+  0x1D6DD: [695, 17, 602, 22, 580],
+  0x1D6DE: [469, 17, 693, 39, 654],
+  0x1D6DF: [633, 268, 722, 41, 680],
+  0x1D6E0: [469, 271, 561, 70, 519],
+  0x1D6E1: [559, 17, 803, 41, 760],
+  0x1D6E2: [700, 3, 744, -35, 697],
+  0x1D6E3: [692, 3, 624, 33, 601],
+  0x1D6E4: [692, 3, 539, -17, 609],
+  0x1D6E5: [700, 3, 616, -33, 572],
+  0x1D6E6: [692, 3, 615, 7, 640],
+  0x1D6E7: [692, 3, 661, -23, 705],
+  0x1D6E8: [692, 3, 819, -17, 878],
+  0x1D6E9: [709, 20, 833, 67, 813],
+  0x1D6EA: [692, 3, 334, -17, 393],
+  0x1D6EB: [692, 3, 698, -18, 761],
+  0x1D6EC: [700, 3, 720, -46, 685],
+  0x1D6ED: [692, 13, 934, -22, 987],
+  0x1D6EE: [692, 20, 836, -18, 885],
+  0x1D6EF: [692, 3, 693, 16, 683],
+  0x1D6F0: [709, 20, 833, 66, 811],
+  0x1D6F1: [692, 3, 819, -17, 878],
+  0x1D6F2: [692, 3, 592, -17, 627],
+  0x1D6F3: [709, 20, 833, 67, 813],
+  0x1D6F4: [692, 3, 696, 4, 672],
+  0x1D6F5: [692, 3, 602, 79, 666],
+  0x1D6F6: [705, 3, 634, 78, 717],
+  0x1D6F7: [692, 3, 833, 71, 806],
+  0x1D6F8: [700, 3, 643, -31, 704],
+  0x1D6F9: [692, 3, 767, 94, 832],
+  0x1D6FA: [709, 3, 822, 4, 799],
+  0x1D6FB: [690, 13, 616, 80, 684],
+  0x1D6FC: [482, 11, 537, 22, 496],
+  0x1D6FD: [711, 277, 582, 7, 534],
+  0x1D6FE: [482, 226, 571, 14, 589],
+  0x1D6FF: [711, 11, 458, 48, 450],
+  0x1D700: [484, 11, 444, 39, 401],
+  0x1D701: [711, 226, 454, 47, 539],
+  0x1D702: [482, 276, 526, 46, 506],
+  0x1D703: [711, 11, 492, 71, 493],
+  0x1D704: [482, 9, 285, 54, 264],
+  0x1D705: [482, 9, 518, 61, 526],
+  0x1D706: [711, 12, 569, -32, 543],
+  0x1D707: [482, 276, 596, 32, 549],
+  0x1D708: [482, 12, 499, 41, 517],
+  0x1D709: [711, 226, 456, 48, 540],
+  0x1D70A: [482, 11, 484, 53, 454],
+  0x1D70B: [493, 11, 677, 68, 705],
+  0x1D70C: [482, 276, 524, -6, 495],
+  0x1D70D: [482, 226, 472, 38, 454],
+  0x1D70E: [494, 11, 582, 52, 639],
+  0x1D70F: [493, 11, 559, 68, 594],
+  0x1D710: [482, 11, 528, 56, 510],
+  0x1D711: [482, 276, 638, 50, 610],
+  0x1D712: [482, 226, 557, -44, 588],
+  0x1D713: [646, 276, 646, 48, 640],
+  0x1D714: [482, 11, 765, 42, 759],
+  0x1D715: [733, 9, 545, 64, 526],
+  0x1D716: [482, 11, 489, 54, 491],
+  0x1D717: [711, 11, 553, 57, 581],
+  0x1D718: [483, 17, 660, 72, 609],
+  0x1D719: [644, 274, 637, 54, 605],
+  0x1D71A: [482, 276, 535, 55, 492],
+  0x1D71B: [548, 11, 765, 42, 759],
+  0x1D71C: [686, 3, 733, -35, 690],
+  0x1D71D: [681, 3, 646, 22, 627],
+  0x1D71E: [681, 3, 551, -10, 609],
+  0x1D71F: [686, 3, 649, -13, 593],
+  0x1D720: [681, 3, 594, 22, 625],
+  0x1D721: [681, 3, 657, -16, 692],
+  0x1D722: [681, 3, 806, -10, 855],
+  0x1D723: [695, 17, 814, 56, 799],
+  0x1D724: [681, 3, 381, -1, 424],
+  0x1D725: [681, 3, 746, -10, 795],
+  0x1D726: [686, 3, 733, -35, 690],
+  0x1D727: [681, 10, 989, -3, 1035],
+  0x1D728: [681, 16, 806, -10, 858],
+  0x1D729: [681, 3, 705, 22, 693],
+  0x1D72A: [695, 17, 815, 55, 798],
+  0x1D72B: [681, 3, 806, -10, 855],
+  0x1D72C: [681, 3, 599, -10, 630],
+  0x1D72D: [695, 17, 814, 56, 799],
+  0x1D72E: [681, 3, 656, -16, 640],
+  0x1D72F: [681, 3, 660, 84, 719],
+  0x1D730: [695, 3, 661, 84, 726],
+  0x1D731: [681, 3, 816, 61, 795],
+  0x1D732: [695, 3, 608, -48, 691],
+  0x1D733: [681, 3, 727, 77, 803],
+  0x1D734: [695, 3, 810, -4, 806],
+  0x1D735: [676, 13, 649, 95, 701],
+  0x1D736: [469, 17, 536, 20, 514],
+  0x1D737: [718, 272, 588, -21, 551],
+  0x1D738: [469, 232, 544, 12, 585],
+  0x1D739: [718, 17, 459, 34, 483],
+  0x1D73A: [471, 17, 468, 24, 444],
+  0x1D73B: [718, 232, 468, 40, 525],
+  0x1D73C: [469, 271, 542, 41, 523],
+  0x1D73D: [695, 17, 524, 61, 526],
+  0x1D73E: [469, 17, 342, 48, 313],
+  0x1D73F: [469, 17, 593, 55, 570],
+  0x1D740: [718, 19, 584, -29, 552],
+  0x1D741: [469, 271, 579, 3, 551],
+  0x1D742: [469, 17, 508, 27, 527],
+  0x1D743: [718, 232, 453, 49, 534],
+  0x1D744: [469, 17, 513, 33, 495],
+  0x1D745: [493, 17, 740, 61, 778],
+  0x1D746: [469, 271, 543, -13, 526],
+  0x1D747: [469, 232, 463, 36, 451],
+  0x1D748: [482, 17, 629, 46, 664],
+  0x1D749: [493, 17, 589, 65, 626],
+  0x1D74A: [469, 17, 512, 33, 507],
+  0x1D74B: [469, 271, 692, 31, 675],
+  0x1D74C: [469, 232, 623, -42, 582],
+  0x1D74D: [636, 271, 693, 33, 690],
+  0x1D74E: [469, 17, 764, 37, 759],
+  0x1D74F: [740, 17, 544, 70, 529],
+  0x1D750: [471, 17, 549, 64, 538],
+  0x1D751: [695, 17, 573, 59, 618],
+  0x1D752: [469, 17, 660, 67, 609],
+  0x1D753: [633, 268, 688, 36, 667],
+  0x1D754: [469, 271, 534, 54, 517],
+  0x1D755: [559, 17, 765, 37, 760],
+  0x1D7CE: [660, 17, 500, 33, 468],
+  0x1D7CF: [670, 3, 500, 35, 455],
+  0x1D7D0: [660, 3, 500, 25, 472],
+  0x1D7D1: [660, 17, 500, 22, 458],
+  0x1D7D2: [672, 3, 500, 12, 473],
+  0x1D7D3: [656, 17, 500, 42, 472],
+  0x1D7D4: [660, 17, 500, 37, 469],
+  0x1D7D5: [656, 3, 500, 46, 493],
+  0x1D7D6: [660, 17, 500, 34, 467],
+  0x1D7D7: [660, 17, 500, 31, 463]
 };
 
 MathJax.Callback.Queue(

+ 88 - 88
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Operators/Regular/Main.js

@@ -18,94 +18,94 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['GyrePagellaMathJax_Operators'] = {
-    directory: 'Operators/Regular',
-    family: 'GyrePagellaMathJax_Operators',
-    testString: '\u00A0\u2206\u220A\u220C\u220E\u220F\u2210\u2211\u221F\u222C\u222D\u222E\u222F\u2230\u2231',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2206: [700, 3, 629, 6, 617],
-    0x220A: [450, -50, 578, 80, 498],
-    0x220C: [650, 150, 778, 80, 698],
-    0x220E: [585, 0, 745, 80, 665],
-    0x220F: [750, 250, 1113, 80, 1033],
-    0x2210: [750, 250, 1113, 80, 1033],
-    0x2211: [750, 250, 983, 80, 903],
-    0x221F: [630, 0, 790, 80, 710],
-    0x222C: [796, 296, 952, 80, 872],
-    0x222D: [796, 296, 1270, 80, 1190],
-    0x222E: [796, 296, 684, 80, 604],
-    0x222F: [796, 296, 1002, 80, 922],
-    0x2230: [796, 296, 1320, 80, 1240],
-    0x2231: [796, 296, 726, 80, 686],
-    0x2232: [796, 296, 747, 80, 707],
-    0x2233: [796, 296, 689, 80, 649],
-    0x2236: [468, -32, 280, 80, 200],
-    0x2237: [468, -32, 596, 80, 516],
-    0x2238: [520, -220, 760, 80, 680],
-    0x2239: [441, -59, 880, 80, 800],
-    0x223A: [520, 20, 760, 80, 680],
-    0x223B: [497, -3, 758, 80, 678],
-    0x223E: [390, -110, 751, 80, 671],
-    0x223F: [467, -33, 760, 80, 680],
-    0x2244: [550, 50, 760, 80, 680],
-    0x2247: [550, 50, 760, 80, 680],
-    0x2249: [550, 50, 758, 80, 678],
-    0x224B: [517, 17, 758, 80, 678],
-    0x224C: [518, -40, 760, 80, 680],
-    0x2254: [441, -59, 880, 80, 800],
-    0x2255: [441, -59, 880, 80, 800],
-    0x2258: [540, 0, 760, 80, 680],
-    0x2259: [554, 54, 760, 80, 680],
-    0x225A: [554, 54, 760, 80, 680],
-    0x225B: [853, -110, 760, 80, 680],
-    0x225D: [867, -110, 925, 80, 845],
-    0x225E: [745, -110, 760, 80, 680],
-    0x225F: [870, -110, 760, 80, 680],
-    0x2262: [650, 150, 760, 80, 680],
-    0x2263: [610, 110, 760, 80, 680],
-    0x226D: [650, 150, 760, 80, 680],
-    0x2274: [706, 206, 766, 80, 686],
-    0x2275: [706, 206, 766, 80, 686],
-    0x2278: [761, 261, 771, 80, 691],
-    0x2279: [761, 261, 771, 80, 691],
-    0x2284: [650, 150, 778, 80, 698],
-    0x2285: [650, 150, 778, 80, 698],
-    0x228C: [550, 68, 760, 80, 680],
-    0x228D: [550, 68, 760, 80, 680],
-    0x229C: [568, 68, 796, 80, 716],
-    0x22A6: [650, 150, 590, 80, 510],
-    0x22A7: [650, 150, 590, 80, 510],
-    0x22AB: [650, 150, 770, 80, 690],
-    0x22B6: [410, -90, 1080, 80, 1000],
-    0x22B7: [410, -90, 1080, 80, 1000],
-    0x22B9: [550, 50, 760, 80, 680],
-    0x22BD: [584, 84, 760, 80, 680],
-    0x22BE: [630, 103, 893, 80, 813],
-    0x22BF: [651, 0, 812, 80, 732],
-    0x22C0: [744, 230, 860, 80, 780],
-    0x22C1: [730, 244, 860, 80, 780],
-    0x22C2: [748, 230, 860, 80, 780],
-    0x22C3: [730, 248, 860, 80, 780],
-    0x22C7: [556, 56, 772, 80, 692],
-    0x22D5: [650, 150, 760, 80, 680],
-    0x22DC: [623, 113, 766, 80, 686],
-    0x22DD: [623, 113, 766, 80, 686],
-    0x22E2: [690, 190, 760, 80, 680],
-    0x22E3: [690, 190, 760, 80, 680],
-    0x22E4: [640, 220, 760, 80, 680],
-    0x22E5: [640, 220, 760, 80, 680],
-    0x22F0: [536, 36, 733, 80, 653],
-    0x2A00: [708, 208, 1076, 80, 996],
-    0x2A01: [708, 208, 1076, 80, 996],
-    0x2A02: [708, 208, 1076, 80, 996],
-    0x2A03: [730, 248, 860, 80, 780],
-    0x2A04: [730, 248, 860, 80, 780],
-    0x2A05: [747, 213, 860, 80, 780],
-    0x2A06: [713, 247, 860, 80, 780],
-    0x2A09: [635, 135, 929, 80, 849],
-    0x2A0C: [796, 296, 1588, 80, 1508],
-    0x2A11: [796, 296, 726, 80, 686],
-    0x2A2F: [490, -10, 641, 80, 561]
+  directory: 'Operators/Regular',
+  family: 'GyrePagellaMathJax_Operators',
+  testString: '\u00A0\u2206\u220A\u220C\u220E\u220F\u2210\u2211\u221F\u222C\u222D\u222E\u222F\u2230\u2231',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2206: [700, 3, 629, 6, 617],
+  0x220A: [450, -50, 578, 80, 498],
+  0x220C: [650, 150, 778, 80, 698],
+  0x220E: [585, 0, 745, 80, 665],
+  0x220F: [750, 250, 1113, 80, 1033],
+  0x2210: [750, 250, 1113, 80, 1033],
+  0x2211: [750, 250, 983, 80, 903],
+  0x221F: [630, 0, 790, 80, 710],
+  0x222C: [796, 296, 952, 80, 872],
+  0x222D: [796, 296, 1270, 80, 1190],
+  0x222E: [796, 296, 684, 80, 604],
+  0x222F: [796, 296, 1002, 80, 922],
+  0x2230: [796, 296, 1320, 80, 1240],
+  0x2231: [796, 296, 726, 80, 686],
+  0x2232: [796, 296, 747, 80, 707],
+  0x2233: [796, 296, 689, 80, 649],
+  0x2236: [468, -32, 280, 80, 200],
+  0x2237: [468, -32, 596, 80, 516],
+  0x2238: [520, -220, 760, 80, 680],
+  0x2239: [441, -59, 880, 80, 800],
+  0x223A: [520, 20, 760, 80, 680],
+  0x223B: [497, -3, 758, 80, 678],
+  0x223E: [390, -110, 751, 80, 671],
+  0x223F: [467, -33, 760, 80, 680],
+  0x2244: [550, 50, 760, 80, 680],
+  0x2247: [550, 50, 760, 80, 680],
+  0x2249: [550, 50, 758, 80, 678],
+  0x224B: [517, 17, 758, 80, 678],
+  0x224C: [518, -40, 760, 80, 680],
+  0x2254: [441, -59, 880, 80, 800],
+  0x2255: [441, -59, 880, 80, 800],
+  0x2258: [540, 0, 760, 80, 680],
+  0x2259: [554, 54, 760, 80, 680],
+  0x225A: [554, 54, 760, 80, 680],
+  0x225B: [853, -110, 760, 80, 680],
+  0x225D: [867, -110, 925, 80, 845],
+  0x225E: [745, -110, 760, 80, 680],
+  0x225F: [870, -110, 760, 80, 680],
+  0x2262: [650, 150, 760, 80, 680],
+  0x2263: [610, 110, 760, 80, 680],
+  0x226D: [650, 150, 760, 80, 680],
+  0x2274: [706, 206, 766, 80, 686],
+  0x2275: [706, 206, 766, 80, 686],
+  0x2278: [761, 261, 771, 80, 691],
+  0x2279: [761, 261, 771, 80, 691],
+  0x2284: [650, 150, 778, 80, 698],
+  0x2285: [650, 150, 778, 80, 698],
+  0x228C: [550, 68, 760, 80, 680],
+  0x228D: [550, 68, 760, 80, 680],
+  0x229C: [568, 68, 796, 80, 716],
+  0x22A6: [650, 150, 590, 80, 510],
+  0x22A7: [650, 150, 590, 80, 510],
+  0x22AB: [650, 150, 770, 80, 690],
+  0x22B6: [410, -90, 1080, 80, 1000],
+  0x22B7: [410, -90, 1080, 80, 1000],
+  0x22B9: [550, 50, 760, 80, 680],
+  0x22BD: [584, 84, 760, 80, 680],
+  0x22BE: [630, 103, 893, 80, 813],
+  0x22BF: [651, 0, 812, 80, 732],
+  0x22C0: [744, 230, 860, 80, 780],
+  0x22C1: [730, 244, 860, 80, 780],
+  0x22C2: [748, 230, 860, 80, 780],
+  0x22C3: [730, 248, 860, 80, 780],
+  0x22C7: [556, 56, 772, 80, 692],
+  0x22D5: [650, 150, 760, 80, 680],
+  0x22DC: [623, 113, 766, 80, 686],
+  0x22DD: [623, 113, 766, 80, 686],
+  0x22E2: [690, 190, 760, 80, 680],
+  0x22E3: [690, 190, 760, 80, 680],
+  0x22E4: [640, 220, 760, 80, 680],
+  0x22E5: [640, 220, 760, 80, 680],
+  0x22F0: [536, 36, 733, 80, 653],
+  0x2A00: [708, 208, 1076, 80, 996],
+  0x2A01: [708, 208, 1076, 80, 996],
+  0x2A02: [708, 208, 1076, 80, 996],
+  0x2A03: [730, 248, 860, 80, 780],
+  0x2A04: [730, 248, 860, 80, 780],
+  0x2A05: [747, 213, 860, 80, 780],
+  0x2A06: [713, 247, 860, 80, 780],
+  0x2A09: [635, 135, 929, 80, 849],
+  0x2A0C: [796, 296, 1588, 80, 1508],
+  0x2A11: [796, 296, 726, 80, 686],
+  0x2A2F: [490, -10, 641, 80, 561]
 };
 
 MathJax.Callback.Queue(

+ 44 - 44
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Shapes/Regular/Main.js

@@ -18,50 +18,50 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['GyrePagellaMathJax_Shapes'] = {
-    directory: 'Shapes/Regular',
-    family: 'GyrePagellaMathJax_Shapes',
-    testString: '\u00A0\u2422\u2423\u2500\u2502\u251C\u2524\u252C\u2534\u253C\u2581\u2588\u2591\u2592\u2593',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2422: [726, 12, 553, -15, 508],
-    0x2423: [133, 97, 500, 40, 460],
-    0x2500: [280, -220, 600, 0, 600],
-    0x2502: [650, 150, 600, 270, 330],
-    0x251C: [650, 150, 600, 270, 600],
-    0x2524: [650, 150, 600, 0, 330],
-    0x252C: [280, 150, 600, 0, 600],
-    0x2534: [650, -220, 600, 0, 600],
-    0x253C: [650, 150, 600, 0, 600],
-    0x2581: [88, 0, 700, 0, 700],
-    0x2588: [700, 0, 700, 0, 700],
-    0x2591: [700, 0, 700, 0, 700],
-    0x2592: [700, 0, 700, 0, 700],
-    0x2593: [700, 0, 700, 0, 700],
-    0x25AA: [410, -90, 480, 80, 400],
-    0x25AB: [410, -90, 480, 80, 400],
-    0x25AC: [400, -100, 760, 80, 680],
-    0x25AD: [400, -100, 760, 80, 680],
-    0x25B7: [643, 143, 841, 80, 761],
-    0x25C1: [643, 143, 841, 80, 761],
-    0x25CB: [568, 68, 796, 80, 716],
-    0x25CF: [568, 68, 796, 80, 716],
-    0x25E6: [450, -50, 560, 80, 480],
-    0x2664: [668, 0, 800, 80, 720],
-    0x2665: [666, 0, 760, 80, 680],
-    0x2666: [670, 0, 746, 80, 666],
-    0x2667: [668, 0, 842, 80, 762],
-    0x266A: [692, 20, 600, 56, 561],
-    0x26AD: [475, -26, 500, -116, 616],
-    0x26AE: [699, 199, 500, -170, 670],
-    0x2B04: [450, -50, 1069, 80, 989],
-    0x2B05: [450, -50, 995, 80, 915],
-    0x2B06: [673, 162, 560, 80, 480],
-    0x2B07: [662, 173, 560, 80, 480],
-    0x2B0C: [450, -50, 1005, 80, 925],
-    0x2B0D: [673, 172, 560, 80, 480],
-    0x2B1A: [660, 160, 940, 60, 880],
-    0x2B31: [740, 240, 920, 80, 840],
-    0x2B33: [400, -100, 1370, 80, 1290]
+  directory: 'Shapes/Regular',
+  family: 'GyrePagellaMathJax_Shapes',
+  testString: '\u00A0\u2422\u2423\u2500\u2502\u251C\u2524\u252C\u2534\u253C\u2581\u2588\u2591\u2592\u2593',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2422: [726, 12, 553, -15, 508],
+  0x2423: [133, 97, 500, 40, 460],
+  0x2500: [280, -220, 600, 0, 600],
+  0x2502: [650, 150, 600, 270, 330],
+  0x251C: [650, 150, 600, 270, 600],
+  0x2524: [650, 150, 600, 0, 330],
+  0x252C: [280, 150, 600, 0, 600],
+  0x2534: [650, -220, 600, 0, 600],
+  0x253C: [650, 150, 600, 0, 600],
+  0x2581: [88, 0, 700, 0, 700],
+  0x2588: [700, 0, 700, 0, 700],
+  0x2591: [700, 0, 700, 0, 700],
+  0x2592: [700, 0, 700, 0, 700],
+  0x2593: [700, 0, 700, 0, 700],
+  0x25AA: [410, -90, 480, 80, 400],
+  0x25AB: [410, -90, 480, 80, 400],
+  0x25AC: [400, -100, 760, 80, 680],
+  0x25AD: [400, -100, 760, 80, 680],
+  0x25B7: [643, 143, 841, 80, 761],
+  0x25C1: [643, 143, 841, 80, 761],
+  0x25CB: [568, 68, 796, 80, 716],
+  0x25CF: [568, 68, 796, 80, 716],
+  0x25E6: [450, -50, 560, 80, 480],
+  0x2664: [668, 0, 800, 80, 720],
+  0x2665: [666, 0, 760, 80, 680],
+  0x2666: [670, 0, 746, 80, 666],
+  0x2667: [668, 0, 842, 80, 762],
+  0x266A: [692, 20, 600, 56, 561],
+  0x26AD: [475, -26, 500, -116, 616],
+  0x26AE: [699, 199, 500, -170, 670],
+  0x2B04: [450, -50, 1069, 80, 989],
+  0x2B05: [450, -50, 995, 80, 915],
+  0x2B06: [673, 162, 560, 80, 480],
+  0x2B07: [662, 173, 560, 80, 480],
+  0x2B0C: [450, -50, 1005, 80, 925],
+  0x2B0D: [673, 172, 560, 80, 480],
+  0x2B1A: [660, 160, 940, 60, 880],
+  0x2B31: [740, 240, 920, 80, 840],
+  0x2B33: [400, -100, 1370, 80, 1290]
 };
 
 MathJax.Callback.Queue(

+ 52 - 52
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Size2/Regular/Main.js

@@ -18,58 +18,58 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['GyrePagellaMathJax_Size2'] = {
-    directory: 'Size2/Regular',
-    family: 'GyrePagellaMathJax_Size2',
-    testString: '\u00A0\u0302\u0303\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u2016\u2044\u20E9\u221A',
-    0x20: [0, 0, 250, 0, 0],
-    0x28: [840, 340, 491, 127, 406],
-    0x29: [840, 340, 491, 85, 364],
-    0x2F: [936, 436, 689, 80, 609],
-    0x5B: [846, 346, 443, 127, 358],
-    0x5C: [936, 436, 689, 80, 609],
-    0x5D: [846, 346, 443, 85, 316],
-    0x7B: [845, 345, 465, 85, 380],
-    0x7C: [826, 326, 213, 80, 133],
-    0x7D: [845, 345, 465, 85, 380],
-    0xA0: [0, 0, 250, 0, 0],
-    0x302: [712, -543, 731, 0, 731],
-    0x303: [700, -544, 727, 0, 727],
-    0x306: [708, -552, 752, 0, 752],
-    0x30C: [711, -542, 731, 0, 731],
-    0x311: [721, -564, 752, 0, 752],
-    0x32C: [-60, 229, 731, 0, 731],
-    0x32D: [-70, 239, 731, 0, 731],
-    0x32E: [-60, 217, 752, 0, 752],
-    0x32F: [-78, 235, 752, 0, 752],
-    0x330: [-78, 234, 727, 0, 727],
-    0x2016: [826, 326, 386, 80, 306],
-    0x2044: [936, 436, 689, 80, 609],
-    0x20E9: [773, -647, 1113, 0, 1113],
-    0x221A: [1020, 490, 717, 120, 747],
-    0x2223: [826, 326, 213, 80, 133],
-    0x2225: [826, 326, 386, 80, 306],
-    0x2308: [846, 326, 443, 127, 358],
-    0x2309: [846, 326, 443, 85, 316],
-    0x230A: [826, 346, 443, 127, 358],
-    0x230B: [826, 346, 443, 85, 316],
-    0x2329: [943, 443, 452, 85, 367],
-    0x232A: [943, 443, 452, 85, 367],
-    0x23B4: [773, -647, 1113, 0, 1113],
-    0x23B5: [-177, 303, 1113, 0, 1113],
-    0x23DC: [779, -570, 1528, 0, 1528],
-    0x23DD: [-100, 309, 1528, 0, 1528],
-    0x23DE: [798, -589, 1538, 0, 1538],
-    0x23DF: [-119, 328, 1538, 0, 1538],
-    0x23E0: [730, -528, 1566, 0, 1566],
-    0x23E1: [-58, 260, 1566, 0, 1566],
-    0x27E6: [846, 346, 458, 127, 373],
-    0x27E7: [846, 346, 458, 85, 331],
-    0x27E8: [943, 443, 452, 85, 367],
-    0x27E9: [943, 443, 452, 85, 367],
-    0x27EA: [943, 443, 701, 85, 616],
-    0x27EB: [943, 443, 701, 85, 616],
-    0x27EE: [840, 340, 365, 127, 280],
-    0x27EF: [840, 340, 365, 85, 238]
+  directory: 'Size2/Regular',
+  family: 'GyrePagellaMathJax_Size2',
+  testString: '\u00A0\u0302\u0303\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u2016\u2044\u20E9\u221A',
+  0x20: [0, 0, 250, 0, 0],
+  0x28: [840, 340, 491, 127, 406],
+  0x29: [840, 340, 491, 85, 364],
+  0x2F: [936, 436, 689, 80, 609],
+  0x5B: [846, 346, 443, 127, 358],
+  0x5C: [936, 436, 689, 80, 609],
+  0x5D: [846, 346, 443, 85, 316],
+  0x7B: [845, 345, 465, 85, 380],
+  0x7C: [826, 326, 213, 80, 133],
+  0x7D: [845, 345, 465, 85, 380],
+  0xA0: [0, 0, 250, 0, 0],
+  0x302: [712, -543, 731, 0, 731],
+  0x303: [700, -544, 727, 0, 727],
+  0x306: [708, -552, 752, 0, 752],
+  0x30C: [711, -542, 731, 0, 731],
+  0x311: [721, -564, 752, 0, 752],
+  0x32C: [-60, 229, 731, 0, 731],
+  0x32D: [-70, 239, 731, 0, 731],
+  0x32E: [-60, 217, 752, 0, 752],
+  0x32F: [-78, 235, 752, 0, 752],
+  0x330: [-78, 234, 727, 0, 727],
+  0x2016: [826, 326, 386, 80, 306],
+  0x2044: [936, 436, 689, 80, 609],
+  0x20E9: [773, -647, 1113, 0, 1113],
+  0x221A: [1020, 490, 717, 120, 747],
+  0x2223: [826, 326, 213, 80, 133],
+  0x2225: [826, 326, 386, 80, 306],
+  0x2308: [846, 326, 443, 127, 358],
+  0x2309: [846, 326, 443, 85, 316],
+  0x230A: [826, 346, 443, 127, 358],
+  0x230B: [826, 346, 443, 85, 316],
+  0x2329: [943, 443, 452, 85, 367],
+  0x232A: [943, 443, 452, 85, 367],
+  0x23B4: [773, -647, 1113, 0, 1113],
+  0x23B5: [-177, 303, 1113, 0, 1113],
+  0x23DC: [779, -570, 1528, 0, 1528],
+  0x23DD: [-100, 309, 1528, 0, 1528],
+  0x23DE: [798, -589, 1538, 0, 1538],
+  0x23DF: [-119, 328, 1538, 0, 1538],
+  0x23E0: [730, -528, 1566, 0, 1566],
+  0x23E1: [-58, 260, 1566, 0, 1566],
+  0x27E6: [846, 346, 458, 127, 373],
+  0x27E7: [846, 346, 458, 85, 331],
+  0x27E8: [943, 443, 452, 85, 367],
+  0x27E9: [943, 443, 452, 85, 367],
+  0x27EA: [943, 443, 701, 85, 616],
+  0x27EB: [943, 443, 701, 85, 616],
+  0x27EE: [840, 340, 365, 127, 280],
+  0x27EF: [840, 340, 365, 85, 238]
 };
 
 MathJax.Callback.Queue(

+ 57 - 57
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Pagella/Symbols/Regular/Main.js

@@ -18,63 +18,63 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['GyrePagellaMathJax_Symbols'] = {
-    directory: 'Symbols/Regular',
-    family: 'GyrePagellaMathJax_Symbols',
-    testString: '\u00A0\u2300\u2305\u2306\u2310\u2319\u231C\u231D\u231E\u231F\u2320\u2321\u2329\u232A\u239B',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2300: [564, 64, 788, 80, 708],
-    0x2305: [444, -56, 760, 80, 680],
-    0x2306: [554, 54, 760, 80, 680],
-    0x2310: [280, 0, 790, 80, 710],
-    0x2319: [500, -220, 790, 80, 710],
-    0x231C: [680, -450, 390, 80, 310],
-    0x231D: [680, -450, 390, 80, 310],
-    0x231E: [50, 180, 390, 80, 310],
-    0x231F: [50, 180, 390, 80, 310],
-    0x2320: [1212, 0, 737, 318, 657],
-    0x2321: [1194, 18, 737, 80, 418],
-    0x2329: [658, 158, 391, 80, 311],
-    0x232A: [658, 158, 391, 80, 311],
-    0x239B: [1208, 0, 679, 143, 583],
-    0x239C: [396, 0, 679, 143, 223],
-    0x239D: [1208, 0, 679, 143, 583],
-    0x239E: [1208, 0, 679, 96, 536],
-    0x239F: [396, 0, 679, 456, 536],
-    0x23A0: [1208, 0, 679, 96, 536],
-    0x23A1: [1214, 0, 521, 143, 425],
-    0x23A2: [810, 0, 521, 143, 223],
-    0x23A3: [1214, 0, 521, 143, 425],
-    0x23A4: [1214, 0, 521, 96, 378],
-    0x23A5: [810, 0, 521, 298, 378],
-    0x23A6: [1214, 0, 521, 96, 378],
-    0x23A7: [616, 0, 589, 252, 493],
-    0x23A8: [1194, 0, 589, 96, 332],
-    0x23A9: [616, 0, 589, 252, 493],
-    0x23AA: [596, 0, 589, 257, 337],
-    0x23AB: [616, 0, 589, 96, 337],
-    0x23AC: [1194, 0, 589, 257, 493],
-    0x23AD: [616, 0, 589, 96, 337],
-    0x23AE: [580, 0, 760, 328, 432],
-    0x23B2: [829, 0, 1408, 80, 1248],
-    0x23B3: [896, 4, 1408, 80, 1328],
-    0x23B7: [1623, 0, 770, 120, 610],
-    0x27C2: [650, 0, 760, 80, 680],
-    0x27D8: [650, 150, 860, 80, 780],
-    0x27D9: [650, 150, 860, 80, 780],
-    0x27DA: [650, 150, 1203, 80, 1123],
-    0x27DB: [650, 150, 1203, 80, 1123],
-    0x27DC: [410, -90, 920, 80, 840],
-    0x27DD: [650, 150, 1360, 80, 1280],
-    0x27DE: [650, 150, 1360, 80, 1280],
-    0x27E0: [576, 76, 595, 80, 515],
-    0x27E1: [471, -29, 603, 80, 523],
-    0x27E2: [471, -29, 698, 80, 618],
-    0x27E3: [471, -29, 698, 80, 618],
-    0x27E6: [670, 170, 430, 120, 350],
-    0x27E7: [670, 170, 430, 80, 310],
-    0x27EA: [658, 158, 611, 80, 531],
-    0x27EB: [658, 158, 611, 80, 531]
+  directory: 'Symbols/Regular',
+  family: 'GyrePagellaMathJax_Symbols',
+  testString: '\u00A0\u2300\u2305\u2306\u2310\u2319\u231C\u231D\u231E\u231F\u2320\u2321\u2329\u232A\u239B',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2300: [564, 64, 788, 80, 708],
+  0x2305: [444, -56, 760, 80, 680],
+  0x2306: [554, 54, 760, 80, 680],
+  0x2310: [280, 0, 790, 80, 710],
+  0x2319: [500, -220, 790, 80, 710],
+  0x231C: [680, -450, 390, 80, 310],
+  0x231D: [680, -450, 390, 80, 310],
+  0x231E: [50, 180, 390, 80, 310],
+  0x231F: [50, 180, 390, 80, 310],
+  0x2320: [1212, 0, 737, 318, 657],
+  0x2321: [1194, 18, 737, 80, 418],
+  0x2329: [658, 158, 391, 80, 311],
+  0x232A: [658, 158, 391, 80, 311],
+  0x239B: [1208, 0, 679, 143, 583],
+  0x239C: [396, 0, 679, 143, 223],
+  0x239D: [1208, 0, 679, 143, 583],
+  0x239E: [1208, 0, 679, 96, 536],
+  0x239F: [396, 0, 679, 456, 536],
+  0x23A0: [1208, 0, 679, 96, 536],
+  0x23A1: [1214, 0, 521, 143, 425],
+  0x23A2: [810, 0, 521, 143, 223],
+  0x23A3: [1214, 0, 521, 143, 425],
+  0x23A4: [1214, 0, 521, 96, 378],
+  0x23A5: [810, 0, 521, 298, 378],
+  0x23A6: [1214, 0, 521, 96, 378],
+  0x23A7: [616, 0, 589, 252, 493],
+  0x23A8: [1194, 0, 589, 96, 332],
+  0x23A9: [616, 0, 589, 252, 493],
+  0x23AA: [596, 0, 589, 257, 337],
+  0x23AB: [616, 0, 589, 96, 337],
+  0x23AC: [1194, 0, 589, 257, 493],
+  0x23AD: [616, 0, 589, 96, 337],
+  0x23AE: [580, 0, 760, 328, 432],
+  0x23B2: [829, 0, 1408, 80, 1248],
+  0x23B3: [896, 4, 1408, 80, 1328],
+  0x23B7: [1623, 0, 770, 120, 610],
+  0x27C2: [650, 0, 760, 80, 680],
+  0x27D8: [650, 150, 860, 80, 780],
+  0x27D9: [650, 150, 860, 80, 780],
+  0x27DA: [650, 150, 1203, 80, 1123],
+  0x27DB: [650, 150, 1203, 80, 1123],
+  0x27DC: [410, -90, 920, 80, 840],
+  0x27DD: [650, 150, 1360, 80, 1280],
+  0x27DE: [650, 150, 1360, 80, 1280],
+  0x27E0: [576, 76, 595, 80, 515],
+  0x27E1: [471, -29, 603, 80, 523],
+  0x27E2: [471, -29, 698, 80, 618],
+  0x27E3: [471, -29, 698, 80, 618],
+  0x27E6: [670, 170, 430, 120, 350],
+  0x27E7: [670, 170, 430, 80, 310],
+  0x27EA: [658, 158, 611, 80, 531],
+  0x27EB: [658, 158, 611, 80, 531]
 };
 
 MathJax.Callback.Queue(

+ 510 - 510
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Termes/Main/Regular/Main.js

@@ -18,516 +18,516 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['GyreTermesMathJax_Main'] = {
-    directory: 'Main/Regular',
-    family: 'GyreTermesMathJax_Main',
-    testString: '\u00A0\u00A3\u00A5\u00A7\u00A8\u00AC\u00AE\u00AF\u00B0\u00B1\u00B4\u00B5\u00B7\u00D7\u00F0',
-    0x20: [0, 0, 250, 0, 0],
-    0x21: [676, 9, 333, 130, 237],
-    0x22: [676, -431, 408, 77, 331],
-    0x23: [662, 0, 500, 5, 496],
-    0x24: [727, 87, 500, 44, 457],
-    0x25: [676, 13, 833, 49, 783],
-    0x26: [676, 13, 778, 42, 750],
-    0x27: [676, -431, 180, 48, 133],
-    0x28: [658, 158, 398, 120, 318],
-    0x29: [658, 158, 398, 80, 278],
-    0x2A: [714, -310, 442, 40, 402],
-    0x2B: [500, 0, 660, 80, 580],
-    0x2C: [102, 141, 250, 56, 195],
-    0x2D: [257, -194, 333, 39, 285],
-    0x2E: [100, 11, 250, 70, 181],
-    0x2F: [650, 150, 466, 80, 386],
-    0x30: [676, 14, 500, 24, 476],
-    0x31: [676, 0, 500, 111, 394],
-    0x32: [676, 0, 500, 30, 475],
-    0x33: [676, 14, 500, 43, 432],
-    0x34: [676, 0, 500, 12, 472],
-    0x35: [688, 14, 500, 32, 438],
-    0x36: [684, 14, 500, 34, 468],
-    0x37: [662, 8, 500, 20, 449],
-    0x38: [676, 14, 500, 56, 445],
-    0x39: [676, 22, 500, 30, 459],
-    0x3A: [459, 11, 278, 81, 192],
-    0x3B: [459, 141, 278, 80, 219],
-    0x3C: [515, 15, 666, 80, 586],
-    0x3D: [372, -128, 660, 80, 580],
-    0x3E: [515, 15, 666, 80, 586],
-    0x3F: [676, 8, 444, 68, 414],
-    0x40: [676, 14, 921, 116, 809],
-    0x41: [674, 0, 722, 15, 706],
-    0x42: [662, 0, 667, 17, 593],
-    0x43: [676, 14, 667, 28, 633],
-    0x44: [662, 0, 722, 16, 685],
-    0x45: [662, 0, 611, 12, 597],
-    0x46: [662, 0, 556, 12, 546],
-    0x47: [676, 14, 722, 32, 709],
-    0x48: [662, 0, 722, 19, 702],
-    0x49: [662, 0, 333, 18, 315],
-    0x4A: [662, 14, 389, 10, 370],
-    0x4B: [662, 0, 722, 34, 723],
-    0x4C: [662, 0, 611, 12, 598],
-    0x4D: [662, 0, 889, 12, 863],
-    0x4E: [662, 11, 722, 12, 707],
-    0x4F: [676, 14, 722, 34, 688],
-    0x50: [662, 0, 556, 16, 542],
-    0x51: [676, 178, 722, 34, 701],
-    0x52: [662, 0, 667, 17, 659],
-    0x53: [676, 14, 556, 42, 491],
-    0x54: [662, 0, 611, 17, 593],
-    0x55: [662, 14, 722, 14, 705],
-    0x56: [662, 11, 722, 16, 697],
-    0x57: [662, 11, 944, 5, 932],
-    0x58: [662, 0, 722, 10, 704],
-    0x59: [662, 0, 722, 22, 703],
-    0x5A: [662, 0, 611, 9, 597],
-    0x5B: [668, 168, 387, 120, 307],
-    0x5C: [650, 150, 466, 80, 386],
-    0x5D: [668, 168, 387, 80, 267],
-    0x5E: [662, -297, 469, 24, 446],
-    0x5F: [-75, 125, 500, 0, 500],
-    0x60: [675, -504, 333, 16, 240],
-    0x61: [460, 10, 444, 37, 442],
-    0x62: [683, 10, 500, 3, 468],
-    0x63: [460, 10, 444, 25, 412],
-    0x64: [683, 10, 500, 27, 491],
-    0x65: [460, 10, 444, 25, 424],
-    0x66: [683, 0, 333, 20, 383],
-    0x67: [460, 218, 500, 28, 470],
-    0x68: [683, 0, 500, 9, 487],
-    0x69: [641, 0, 278, 16, 253],
-    0x6A: [641, 218, 278, -70, 202],
-    0x6B: [683, 0, 500, 7, 505],
-    0x6C: [683, 0, 278, 19, 257],
-    0x6D: [460, 0, 778, 16, 775],
-    0x6E: [460, 0, 500, 16, 485],
-    0x6F: [460, 10, 500, 29, 470],
-    0x70: [460, 217, 500, 5, 470],
-    0x71: [461, 217, 500, 24, 488],
-    0x72: [460, 0, 333, 5, 335],
-    0x73: [459, 10, 389, 51, 348],
-    0x74: [579, 10, 278, 13, 279],
-    0x75: [450, 10, 500, 9, 479],
-    0x76: [450, 14, 500, 19, 477],
-    0x77: [450, 14, 722, 21, 694],
-    0x78: [450, 0, 500, 17, 479],
-    0x79: [450, 218, 500, 14, 475],
-    0x7A: [450, 0, 444, 27, 418],
-    0x7B: [660, 160, 391, 80, 311],
-    0x7C: [650, 150, 204, 80, 124],
-    0x7D: [660, 160, 391, 80, 311],
-    0x7E: [320, -186, 541, 40, 502],
-    0xA0: [0, 0, 250, 0, 0],
-    0xA3: [676, 8, 500, 12, 490],
-    0xA5: [662, 0, 500, -53, 512],
-    0xA7: [676, 148, 500, 70, 426],
-    0xA8: [640, -541, 333, 18, 316],
-    0xAC: [276, 0, 686, 80, 606],
-    0xAE: [686, 14, 760, 30, 730],
-    0xAF: [617, -563, 333, 11, 322],
-    0xB0: [676, -390, 400, 57, 343],
-    0xB1: [500, 122, 660, 80, 580],
-    0xB4: [675, -504, 333, 93, 317],
-    0xB5: [450, 250, 590, 80, 550],
-    0xB7: [306, -194, 272, 80, 192],
-    0xD7: [445, -55, 550, 80, 470],
-    0xF0: [686, 10, 500, 29, 471],
-    0xF7: [488, -12, 660, 80, 580],
-    0x131: [460, 0, 278, 16, 253],
-    0x237: [460, 218, 278, -70, 193],
-    0x2C6: [674, -507, 333, 11, 322],
-    0x2C7: [674, -507, 333, 11, 322],
-    0x2D8: [669, -512, 333, 26, 307],
-    0x2D9: [641, -539, 333, 115, 217],
-    0x2DA: [690, -491, 333, 67, 266],
-    0x2DC: [643, -537, 333, 1, 331],
-    0x300: [710, -539, 0, -400, -176],
-    0x301: [710, -539, 0, -323, -99],
-    0x302: [685, -551, 0, -421, -79],
-    0x303: [665, -555, 0, -417, -83],
-    0x304: [637, -583, 0, -405, -94],
-    0x306: [681, -556, 0, -425, -75],
-    0x307: [661, -559, 0, -301, -199],
-    0x308: [660, -561, 0, -398, -100],
-    0x30A: [710, -511, 0, -349, -150],
-    0x30B: [711, -540, 0, -379, 11],
-    0x30C: [679, -545, 0, -421, -79],
-    0x338: [650, 150, 0, -403, -97],
-    0x391: [674, 0, 849, 80, 769],
-    0x392: [662, 0, 736, 80, 656],
-    0x393: [662, 0, 693, 80, 613],
-    0x394: [674, 0, 760, 80, 680],
-    0x395: [662, 0, 744, 80, 664],
-    0x396: [662, 0, 747, 80, 667],
-    0x397: [662, 0, 843, 80, 763],
-    0x398: [675, 14, 814, 80, 734],
-    0x399: [662, 0, 457, 80, 377],
-    0x39A: [662, 0, 849, 80, 769],
-    0x39B: [674, 0, 849, 80, 769],
-    0x39C: [662, 0, 1011, 80, 931],
-    0x39D: [662, 11, 854, 80, 774],
-    0x39E: [662, 0, 726, 80, 646],
-    0x39F: [675, 14, 814, 80, 734],
-    0x3A0: [662, 0, 843, 80, 763],
-    0x3A1: [662, 0, 686, 80, 606],
-    0x3A3: [662, 0, 753, 80, 673],
-    0x3A4: [662, 0, 736, 80, 656],
-    0x3A5: [662, 0, 824, 80, 744],
-    0x3A6: [662, 0, 722, 80, 642],
-    0x3A7: [662, 0, 854, 80, 774],
-    0x3A8: [662, 0, 799, 80, 719],
-    0x3A9: [676, 0, 853, 80, 773],
-    0x3B1: [460, 17, 635, 80, 554],
-    0x3B2: [673, 217, 563, 80, 483],
-    0x3B3: [461, 234, 673, 80, 593],
-    0x3B4: [671, 16, 602, 80, 522],
-    0x3B5: [460, 16, 539, 80, 459],
-    0x3B6: [667, 210, 546, 80, 466],
-    0x3B7: [460, 217, 599, 80, 519],
-    0x3B8: [673, 16, 552, 79, 472],
-    0x3B9: [460, 17, 463, 80, 383],
-    0x3BA: [460, 15, 691, 80, 611],
-    0x3BB: [673, 18, 666, 80, 586],
-    0x3BC: [444, 218, 620, 80, 540],
-    0x3BD: [460, 16, 604, 80, 524],
-    0x3BE: [667, 210, 545, 80, 465],
-    0x3BF: [460, 10, 600, 80, 520],
-    0x3C0: [471, 16, 708, 80, 628],
-    0x3C1: [460, 218, 544, 80, 464],
-    0x3C2: [460, 210, 545, 80, 465],
-    0x3C3: [471, 16, 597, 80, 517],
-    0x3C4: [471, 16, 628, 80, 548],
-    0x3C5: [460, 16, 587, 80, 507],
-    0x3C6: [460, 218, 682, 80, 602],
-    0x3C7: [460, 236, 666, 80, 586],
-    0x3C8: [460, 218, 780, 80, 700],
-    0x3C9: [463, 16, 767, 80, 687],
-    0x3D1: [673, 16, 727, 80, 647],
-    0x3D5: [657, 217, 702, 80, 622],
-    0x3D6: [471, 21, 898, 80, 818],
-    0x3F0: [460, 16, 676, 80, 596],
-    0x3F1: [460, 217, 552, 80, 472],
-    0x3F4: [675, 14, 814, 80, 734],
-    0x3F5: [460, 16, 474, 80, 394],
-    0x2002: [0, 0, 500, 0, 0],
-    0x2003: [0, 0, 1000, 0, 0],
-    0x2004: [0, 0, 333, 0, 0],
-    0x2005: [0, 0, 250, 0, 0],
-    0x2006: [0, 0, 167, 0, 0],
-    0x2009: [0, 0, 200, 0, 0],
-    0x200A: [0, 0, 100, 0, 0],
-    0x2013: [250, -201, 500, 0, 500],
-    0x2014: [250, -201, 1000, 0, 1000],
-    0x2016: [650, 150, 348, 80, 268],
-    0x2018: [676, -433, 333, 115, 254],
-    0x2019: [676, -433, 333, 79, 218],
-    0x201C: [676, -433, 444, 43, 414],
-    0x201D: [676, -433, 444, 30, 401],
-    0x2020: [676, 149, 500, 59, 443],
-    0x2021: [676, 153, 500, 58, 442],
-    0x2026: [112, 0, 869, 80, 789],
-    0x2032: [780, -450, 321, 60, 261],
-    0x2033: [780, -450, 521, 60, 461],
-    0x2034: [780, -450, 721, 60, 661],
-    0x2035: [780, -450, 321, 60, 261],
-    0x2044: [650, 150, 466, 80, 386],
-    0x2057: [780, -450, 921, 60, 861],
-    0x20D7: [710, -534, 0, -443, -57],
-    0x210F: [683, 9, 500, 19, 478],
-    0x2111: [659, 22, 634, 79, 554],
-    0x2113: [676, 14, 433, 40, 393],
-    0x2118: [538, 186, 710, 80, 630],
-    0x211C: [656, 21, 828, 80, 748],
-    0x2127: [658, 18, 853, 80, 773],
-    0x2135: [723, 19, 604, 40, 564],
-    0x2136: [729, 29, 522, 40, 482],
-    0x2137: [740, 18, 469, 40, 428],
-    0x2138: [717, 16, 522, 40, 482],
-    0x2190: [430, -70, 850, 80, 770],
-    0x2191: [600, 90, 520, 80, 440],
-    0x2192: [430, -70, 850, 80, 770],
-    0x2193: [590, 100, 520, 80, 440],
-    0x2194: [430, -70, 1040, 80, 960],
-    0x2195: [690, 190, 520, 80, 440],
-    0x2196: [497, 9, 666, 80, 586],
-    0x2197: [497, 9, 666, 80, 586],
-    0x2198: [509, -3, 666, 80, 586],
-    0x2199: [509, -3, 666, 80, 586],
-    0x219A: [430, -70, 850, 80, 770],
-    0x219B: [430, -70, 850, 80, 770],
-    0x219E: [430, -70, 1030, 80, 950],
-    0x21A0: [430, -70, 1030, 80, 950],
-    0x21A2: [430, -70, 1040, 80, 960],
-    0x21A3: [430, -70, 1040, 80, 960],
-    0x21A6: [430, -70, 850, 80, 770],
-    0x21A9: [508, -70, 876, 80, 796],
-    0x21AA: [508, -70, 876, 80, 796],
-    0x21AB: [508, -18, 876, 80, 796],
-    0x21AC: [508, -18, 876, 80, 796],
-    0x21AD: [430, -70, 1040, 80, 960],
-    0x21AE: [430, -70, 1040, 80, 960],
-    0x21B0: [598, 98, 540, 80, 460],
-    0x21B1: [598, 98, 540, 80, 460],
-    0x21B6: [535, -241, 799, 80, 719],
-    0x21B7: [535, -241, 799, 80, 719],
-    0x21BA: [547, 3, 726, 80, 646],
-    0x21BB: [547, 3, 726, 79, 646],
-    0x21BC: [430, -224, 840, 80, 760],
-    0x21BD: [276, -70, 840, 80, 760],
-    0x21BE: [590, 90, 366, 80, 286],
-    0x21BF: [590, 90, 366, 80, 286],
-    0x21C0: [430, -224, 840, 80, 760],
-    0x21C1: [276, -70, 840, 80, 760],
-    0x21C2: [590, 90, 366, 80, 286],
-    0x21C3: [590, 90, 366, 80, 286],
-    0x21C4: [630, 130, 860, 80, 780],
-    0x21C6: [630, 130, 860, 80, 780],
-    0x21C7: [630, 130, 850, 80, 770],
-    0x21C8: [600, 90, 920, 80, 840],
-    0x21C9: [630, 130, 850, 80, 770],
-    0x21CA: [590, 100, 920, 80, 840],
-    0x21CB: [526, 26, 840, 80, 760],
-    0x21CC: [526, 26, 840, 80, 760],
-    0x21CD: [500, 0, 850, 80, 770],
-    0x21CE: [500, 0, 1040, 80, 960],
-    0x21CF: [500, 0, 850, 80, 770],
-    0x21D0: [470, -30, 850, 80, 770],
-    0x21D1: [600, 90, 600, 80, 520],
-    0x21D2: [470, -30, 850, 80, 770],
-    0x21D3: [590, 100, 600, 80, 520],
-    0x21D4: [470, -30, 1040, 80, 960],
-    0x21D5: [690, 190, 600, 80, 520],
-    0x21DA: [572, 72, 1030, 80, 950],
-    0x21DB: [572, 72, 1030, 80, 950],
-    0x21DD: [430, -70, 850, 80, 770],
-    0x2200: [662, 4, 580, 70, 510],
-    0x2201: [662, 0, 560, 80, 480],
-    0x2202: [673, 17, 552, 80, 472],
-    0x2203: [662, 0, 534, 80, 454],
-    0x2204: [729, 67, 534, 80, 454],
-    0x2205: [755, 93, 660, 80, 580],
-    0x2207: [664, 10, 760, 80, 680],
-    0x2208: [500, 0, 678, 80, 598],
-    0x2209: [650, 150, 678, 80, 598],
-    0x220B: [500, 0, 678, 80, 598],
-    0x220D: [425, -75, 528, 80, 448],
-    0x2212: [276, -224, 660, 80, 580],
-    0x2213: [622, 0, 660, 80, 580],
-    0x2214: [697, 0, 660, 80, 580],
-    0x2215: [650, 150, 466, 80, 386],
-    0x2216: [608, 108, 660, 80, 580],
-    0x2217: [452, -48, 522, 80, 442],
-    0x2218: [400, -100, 460, 80, 380],
-    0x2219: [400, -100, 460, 80, 380],
-    0x221A: [616, 90, 594, 120, 620],
-    0x221D: [440, -60, 797, 80, 717],
-    0x221E: [442, -58, 940, 80, 860],
-    0x2220: [544, 0, 697, 80, 617],
-    0x2221: [544, 85, 697, 80, 617],
-    0x2222: [483, -17, 642, 80, 562],
-    0x2223: [650, 150, 204, 80, 124],
-    0x2224: [650, 150, 346, 80, 266],
-    0x2225: [650, 150, 348, 80, 268],
-    0x2226: [650, 150, 482, 80, 402],
-    0x2227: [506, 0, 660, 80, 580],
-    0x2228: [500, 6, 660, 80, 580],
-    0x2229: [518, 0, 660, 80, 580],
-    0x222A: [500, 18, 660, 80, 580],
-    0x222B: [796, 296, 666, 80, 586],
-    0x2234: [415, -85, 524, 80, 444],
-    0x2235: [415, -85, 524, 80, 444],
-    0x223C: [319, -181, 642, 80, 562],
-    0x223D: [319, -181, 642, 80, 562],
-    0x2240: [491, -9, 321, 80, 241],
-    0x2241: [419, -81, 642, 80, 562],
-    0x2242: [372, -85, 660, 80, 580],
-    0x2243: [415, -128, 660, 80, 580],
-    0x2245: [471, -72, 660, 80, 580],
-    0x2246: [487, -22, 660, 80, 580],
-    0x2248: [415, -85, 642, 80, 562],
-    0x224A: [471, -72, 660, 80, 580],
-    0x224D: [411, -89, 660, 80, 580],
-    0x224E: [470, -30, 660, 80, 580],
-    0x224F: [470, -128, 660, 80, 580],
-    0x2250: [584, -128, 660, 80, 580],
-    0x2251: [584, 84, 660, 80, 580],
-    0x2252: [584, 84, 660, 80, 580],
-    0x2253: [584, 84, 660, 80, 580],
-    0x2256: [372, -128, 660, 80, 580],
-    0x2257: [772, -128, 660, 80, 580],
-    0x225C: [829, -128, 660, 80, 580],
-    0x2260: [650, 150, 660, 80, 580],
-    0x2261: [468, -32, 660, 80, 580],
-    0x2264: [564, 54, 665, 80, 585],
-    0x2265: [564, 54, 665, 80, 585],
-    0x2266: [627, 117, 665, 80, 585],
-    0x2267: [627, 117, 665, 80, 585],
-    0x2268: [627, 184, 665, 80, 585],
-    0x2269: [627, 184, 665, 80, 585],
-    0x226A: [517, 17, 805, 80, 725],
-    0x226B: [517, 17, 805, 80, 725],
-    0x226C: [666, 166, 413, 80, 333],
-    0x226E: [650, 150, 666, 80, 586],
-    0x226F: [650, 150, 666, 80, 586],
-    0x2270: [611, 111, 665, 80, 585],
-    0x2271: [611, 111, 665, 80, 585],
-    0x2272: [585, 75, 665, 80, 585],
-    0x2273: [585, 75, 665, 80, 585],
-    0x2276: [655, 155, 670, 80, 590],
-    0x2277: [655, 155, 670, 80, 590],
-    0x227A: [528, 28, 682, 80, 602],
-    0x227B: [528, 28, 682, 80, 602],
-    0x227C: [631, 131, 682, 80, 602],
-    0x227D: [631, 131, 682, 80, 602],
-    0x227E: [599, 89, 655, 80, 575],
-    0x227F: [599, 89, 655, 80, 575],
-    0x2280: [650, 150, 682, 80, 602],
-    0x2281: [650, 150, 682, 80, 602],
-    0x2282: [500, 0, 678, 80, 598],
-    0x2283: [500, 0, 678, 80, 598],
-    0x2286: [576, 76, 678, 80, 598],
-    0x2287: [576, 76, 678, 80, 598],
-    0x2288: [685, 185, 678, 80, 598],
-    0x2289: [685, 185, 678, 80, 598],
-    0x228A: [576, 143, 678, 80, 598],
-    0x228B: [576, 143, 678, 80, 598],
-    0x228E: [500, 18, 660, 80, 580],
-    0x228F: [500, 0, 660, 80, 580],
-    0x2290: [500, 0, 660, 80, 580],
-    0x2291: [576, 76, 660, 80, 580],
-    0x2292: [576, 76, 660, 80, 580],
-    0x2293: [513, -13, 591, 80, 511],
-    0x2294: [487, 13, 591, 80, 511],
-    0x2295: [568, 68, 796, 80, 716],
-    0x2296: [568, 68, 796, 80, 716],
-    0x2297: [568, 68, 796, 80, 716],
-    0x2298: [568, 68, 796, 80, 716],
-    0x2299: [568, 68, 796, 80, 716],
-    0x229A: [568, 68, 796, 80, 716],
-    0x229B: [568, 68, 796, 80, 716],
-    0x229D: [568, 68, 796, 80, 716],
-    0x229E: [500, 0, 660, 80, 580],
-    0x229F: [500, 0, 660, 80, 580],
-    0x22A0: [500, 0, 660, 80, 580],
-    0x22A1: [500, 0, 660, 80, 580],
-    0x22A2: [650, 0, 660, 80, 580],
-    0x22A3: [650, 0, 660, 80, 580],
-    0x22A4: [650, 0, 660, 80, 580],
-    0x22A5: [650, 0, 660, 80, 580],
-    0x22A8: [650, 150, 660, 80, 580],
-    0x22A9: [650, 150, 738, 80, 658],
-    0x22AA: [650, 150, 890, 80, 810],
-    0x22AC: [650, 150, 712, 80, 632],
-    0x22AD: [650, 150, 764, 80, 684],
-    0x22AE: [650, 150, 842, 80, 762],
-    0x22AF: [650, 150, 842, 80, 762],
-    0x22B2: [527, 27, 697, 80, 617],
-    0x22B3: [527, 27, 697, 80, 617],
-    0x22B4: [570, 70, 696, 80, 616],
-    0x22B5: [570, 70, 696, 80, 616],
-    0x22B8: [400, -100, 810, 80, 730],
-    0x22BA: [650, 0, 660, 80, 580],
-    0x22BB: [526, 26, 660, 80, 580],
-    0x22BC: [526, 26, 660, 80, 580],
-    0x22C4: [448, -52, 557, 80, 477],
-    0x22C5: [306, -194, 272, 80, 192],
-    0x22C6: [420, -110, 486, 80, 406],
-    0x22C8: [445, -55, 566, 80, 486],
-    0x22C9: [445, -55, 558, 80, 478],
-    0x22CA: [445, -55, 558, 80, 478],
-    0x22CB: [445, -55, 550, 80, 470],
-    0x22CC: [445, -55, 550, 80, 470],
-    0x22CD: [415, -128, 660, 80, 580],
-    0x22CE: [500, -1, 683, 80, 603],
-    0x22CF: [499, 0, 683, 80, 603],
-    0x22D0: [500, 0, 678, 80, 598],
-    0x22D1: [500, 0, 678, 80, 598],
-    0x22D2: [518, 0, 660, 80, 580],
-    0x22D3: [500, 18, 660, 80, 580],
-    0x22D6: [515, 15, 666, 80, 586],
-    0x22D7: [515, 15, 666, 80, 586],
-    0x22D8: [517, 17, 1082, 80, 1002],
-    0x22D9: [517, 17, 1082, 80, 1002],
-    0x22DA: [756, 256, 665, 80, 585],
-    0x22DB: [756, 256, 665, 80, 585],
-    0x22DE: [631, 131, 682, 80, 602],
-    0x22DF: [631, 131, 682, 80, 602],
-    0x22E0: [657, 157, 682, 80, 602],
-    0x22E1: [657, 157, 682, 80, 602],
-    0x22E6: [585, 125, 665, 80, 585],
-    0x22E7: [585, 125, 665, 80, 585],
-    0x22E8: [599, 139, 655, 80, 575],
-    0x22E9: [599, 139, 655, 80, 575],
-    0x22EA: [650, 150, 697, 80, 617],
-    0x22EB: [650, 150, 697, 80, 617],
-    0x22EC: [622, 122, 696, 80, 616],
-    0x22ED: [622, 122, 696, 80, 616],
-    0x22EE: [605, 105, 272, 80, 192],
-    0x22EF: [306, -194, 869, 80, 789],
-    0x22F1: [517, 17, 694, 80, 614],
-    0x2308: [668, 150, 387, 120, 307],
-    0x2309: [668, 150, 387, 80, 267],
-    0x230A: [650, 168, 387, 120, 307],
-    0x230B: [650, 168, 387, 80, 267],
-    0x2322: [354, -146, 978, 80, 898],
-    0x2323: [354, -146, 978, 80, 898],
-    0x23B4: [726, -548, 375, 0, 375],
-    0x23B5: [-98, 276, 375, 0, 375],
-    0x23D0: [527, 0, 212, 80, 132],
-    0x23DC: [699, -595, 514, 0, 514],
-    0x23DD: [-145, 249, 514, 0, 514],
-    0x23DE: [739, -559, 520, 0, 520],
-    0x23DF: [-109, 289, 520, 0, 520],
-    0x23E0: [717, -579, 562, 0, 562],
-    0x23E1: [-129, 267, 562, 0, 562],
-    0x250C: [276, 150, 500, 224, 500],
-    0x2510: [276, 150, 500, 0, 276],
-    0x2514: [650, -224, 500, 224, 500],
-    0x2518: [650, -224, 500, 0, 276],
-    0x25A0: [500, 0, 660, 80, 580],
-    0x25A1: [500, 0, 660, 80, 580],
-    0x25B2: [656, -47, 862, 80, 782],
-    0x25B3: [656, -47, 862, 80, 782],
-    0x25B6: [601, 101, 768, 80, 688],
-    0x25BC: [453, 156, 862, 80, 782],
-    0x25BD: [453, 156, 862, 80, 782],
-    0x25C0: [601, 101, 768, 80, 688],
-    0x25CA: [555, 55, 564, 80, 484],
-    0x25EF: [668, 168, 996, 80, 916],
-    0x2660: [668, 0, 796, 80, 716],
-    0x2661: [668, 0, 760, 80, 680],
-    0x2662: [670, 0, 782, 80, 702],
-    0x2663: [668, 0, 822, 80, 742],
-    0x266D: [650, 35, 424, 80, 344],
-    0x266E: [650, 150, 399, 80, 319],
-    0x266F: [678, 178, 493, 80, 413],
-    0x2713: [650, 0, 752, 80, 672],
-    0x2720: [662, 0, 822, 80, 742],
-    0x27E8: [656, 156, 357, 80, 277],
-    0x27E9: [656, 156, 357, 80, 277],
-    0x27EE: [657, 157, 320, 120, 240],
-    0x27EF: [657, 157, 320, 80, 200],
-    0x27F5: [430, -70, 1170, 80, 1090],
-    0x27F6: [430, -70, 1170, 80, 1090],
-    0x27F7: [430, -70, 1360, 80, 1280],
-    0x27F8: [470, -30, 1170, 80, 1090],
-    0x27F9: [470, -30, 1170, 80, 1090],
-    0x27FA: [470, -30, 1360, 80, 1280],
-    0x27FC: [430, -70, 1170, 80, 1090],
-    0x2A3F: [662, 0, 761, 24, 737],
-    0x2A7D: [599, 99, 666, 80, 586],
-    0x2A7E: [599, 99, 666, 80, 586],
-    0x2A85: [646, 136, 665, 80, 585],
-    0x2A86: [646, 136, 665, 80, 585],
-    0x2A87: [593, 93, 665, 80, 585],
-    0x2A88: [593, 93, 665, 80, 585],
-    0x2A89: [646, 186, 665, 80, 585],
-    0x2A8A: [646, 186, 665, 80, 585],
-    0x2A8B: [819, 319, 665, 80, 585],
-    0x2A8C: [819, 319, 665, 80, 585],
-    0x2A95: [599, 99, 666, 80, 586],
-    0x2A96: [599, 99, 666, 80, 586],
-    0x2AAF: [604, 94, 682, 80, 602],
-    0x2AB0: [604, 94, 682, 80, 602]
+  directory: 'Main/Regular',
+  family: 'GyreTermesMathJax_Main',
+  testString: '\u00A0\u00A3\u00A5\u00A7\u00A8\u00AC\u00AE\u00AF\u00B0\u00B1\u00B4\u00B5\u00B7\u00D7\u00F0',
+  0x20: [0, 0, 250, 0, 0],
+  0x21: [676, 9, 333, 130, 237],
+  0x22: [676, -431, 408, 77, 331],
+  0x23: [662, 0, 500, 5, 496],
+  0x24: [727, 87, 500, 44, 457],
+  0x25: [676, 13, 833, 49, 783],
+  0x26: [676, 13, 778, 42, 750],
+  0x27: [676, -431, 180, 48, 133],
+  0x28: [658, 158, 398, 120, 318],
+  0x29: [658, 158, 398, 80, 278],
+  0x2A: [714, -310, 442, 40, 402],
+  0x2B: [500, 0, 660, 80, 580],
+  0x2C: [102, 141, 250, 56, 195],
+  0x2D: [257, -194, 333, 39, 285],
+  0x2E: [100, 11, 250, 70, 181],
+  0x2F: [650, 150, 466, 80, 386],
+  0x30: [676, 14, 500, 24, 476],
+  0x31: [676, 0, 500, 111, 394],
+  0x32: [676, 0, 500, 30, 475],
+  0x33: [676, 14, 500, 43, 432],
+  0x34: [676, 0, 500, 12, 472],
+  0x35: [688, 14, 500, 32, 438],
+  0x36: [684, 14, 500, 34, 468],
+  0x37: [662, 8, 500, 20, 449],
+  0x38: [676, 14, 500, 56, 445],
+  0x39: [676, 22, 500, 30, 459],
+  0x3A: [459, 11, 278, 81, 192],
+  0x3B: [459, 141, 278, 80, 219],
+  0x3C: [515, 15, 666, 80, 586],
+  0x3D: [372, -128, 660, 80, 580],
+  0x3E: [515, 15, 666, 80, 586],
+  0x3F: [676, 8, 444, 68, 414],
+  0x40: [676, 14, 921, 116, 809],
+  0x41: [674, 0, 722, 15, 706],
+  0x42: [662, 0, 667, 17, 593],
+  0x43: [676, 14, 667, 28, 633],
+  0x44: [662, 0, 722, 16, 685],
+  0x45: [662, 0, 611, 12, 597],
+  0x46: [662, 0, 556, 12, 546],
+  0x47: [676, 14, 722, 32, 709],
+  0x48: [662, 0, 722, 19, 702],
+  0x49: [662, 0, 333, 18, 315],
+  0x4A: [662, 14, 389, 10, 370],
+  0x4B: [662, 0, 722, 34, 723],
+  0x4C: [662, 0, 611, 12, 598],
+  0x4D: [662, 0, 889, 12, 863],
+  0x4E: [662, 11, 722, 12, 707],
+  0x4F: [676, 14, 722, 34, 688],
+  0x50: [662, 0, 556, 16, 542],
+  0x51: [676, 178, 722, 34, 701],
+  0x52: [662, 0, 667, 17, 659],
+  0x53: [676, 14, 556, 42, 491],
+  0x54: [662, 0, 611, 17, 593],
+  0x55: [662, 14, 722, 14, 705],
+  0x56: [662, 11, 722, 16, 697],
+  0x57: [662, 11, 944, 5, 932],
+  0x58: [662, 0, 722, 10, 704],
+  0x59: [662, 0, 722, 22, 703],
+  0x5A: [662, 0, 611, 9, 597],
+  0x5B: [668, 168, 387, 120, 307],
+  0x5C: [650, 150, 466, 80, 386],
+  0x5D: [668, 168, 387, 80, 267],
+  0x5E: [662, -297, 469, 24, 446],
+  0x5F: [-75, 125, 500, 0, 500],
+  0x60: [675, -504, 333, 16, 240],
+  0x61: [460, 10, 444, 37, 442],
+  0x62: [683, 10, 500, 3, 468],
+  0x63: [460, 10, 444, 25, 412],
+  0x64: [683, 10, 500, 27, 491],
+  0x65: [460, 10, 444, 25, 424],
+  0x66: [683, 0, 333, 20, 383],
+  0x67: [460, 218, 500, 28, 470],
+  0x68: [683, 0, 500, 9, 487],
+  0x69: [641, 0, 278, 16, 253],
+  0x6A: [641, 218, 278, -70, 202],
+  0x6B: [683, 0, 500, 7, 505],
+  0x6C: [683, 0, 278, 19, 257],
+  0x6D: [460, 0, 778, 16, 775],
+  0x6E: [460, 0, 500, 16, 485],
+  0x6F: [460, 10, 500, 29, 470],
+  0x70: [460, 217, 500, 5, 470],
+  0x71: [461, 217, 500, 24, 488],
+  0x72: [460, 0, 333, 5, 335],
+  0x73: [459, 10, 389, 51, 348],
+  0x74: [579, 10, 278, 13, 279],
+  0x75: [450, 10, 500, 9, 479],
+  0x76: [450, 14, 500, 19, 477],
+  0x77: [450, 14, 722, 21, 694],
+  0x78: [450, 0, 500, 17, 479],
+  0x79: [450, 218, 500, 14, 475],
+  0x7A: [450, 0, 444, 27, 418],
+  0x7B: [660, 160, 391, 80, 311],
+  0x7C: [650, 150, 204, 80, 124],
+  0x7D: [660, 160, 391, 80, 311],
+  0x7E: [320, -186, 541, 40, 502],
+  0xA0: [0, 0, 250, 0, 0],
+  0xA3: [676, 8, 500, 12, 490],
+  0xA5: [662, 0, 500, -53, 512],
+  0xA7: [676, 148, 500, 70, 426],
+  0xA8: [640, -541, 333, 18, 316],
+  0xAC: [276, 0, 686, 80, 606],
+  0xAE: [686, 14, 760, 30, 730],
+  0xAF: [617, -563, 333, 11, 322],
+  0xB0: [676, -390, 400, 57, 343],
+  0xB1: [500, 122, 660, 80, 580],
+  0xB4: [675, -504, 333, 93, 317],
+  0xB5: [450, 250, 590, 80, 550],
+  0xB7: [306, -194, 272, 80, 192],
+  0xD7: [445, -55, 550, 80, 470],
+  0xF0: [686, 10, 500, 29, 471],
+  0xF7: [488, -12, 660, 80, 580],
+  0x131: [460, 0, 278, 16, 253],
+  0x237: [460, 218, 278, -70, 193],
+  0x2C6: [674, -507, 333, 11, 322],
+  0x2C7: [674, -507, 333, 11, 322],
+  0x2D8: [669, -512, 333, 26, 307],
+  0x2D9: [641, -539, 333, 115, 217],
+  0x2DA: [690, -491, 333, 67, 266],
+  0x2DC: [643, -537, 333, 1, 331],
+  0x300: [710, -539, 0, -400, -176],
+  0x301: [710, -539, 0, -323, -99],
+  0x302: [685, -551, 0, -421, -79],
+  0x303: [665, -555, 0, -417, -83],
+  0x304: [637, -583, 0, -405, -94],
+  0x306: [681, -556, 0, -425, -75],
+  0x307: [661, -559, 0, -301, -199],
+  0x308: [660, -561, 0, -398, -100],
+  0x30A: [710, -511, 0, -349, -150],
+  0x30B: [711, -540, 0, -379, 11],
+  0x30C: [679, -545, 0, -421, -79],
+  0x338: [650, 150, 0, -403, -97],
+  0x391: [674, 0, 849, 80, 769],
+  0x392: [662, 0, 736, 80, 656],
+  0x393: [662, 0, 693, 80, 613],
+  0x394: [674, 0, 760, 80, 680],
+  0x395: [662, 0, 744, 80, 664],
+  0x396: [662, 0, 747, 80, 667],
+  0x397: [662, 0, 843, 80, 763],
+  0x398: [675, 14, 814, 80, 734],
+  0x399: [662, 0, 457, 80, 377],
+  0x39A: [662, 0, 849, 80, 769],
+  0x39B: [674, 0, 849, 80, 769],
+  0x39C: [662, 0, 1011, 80, 931],
+  0x39D: [662, 11, 854, 80, 774],
+  0x39E: [662, 0, 726, 80, 646],
+  0x39F: [675, 14, 814, 80, 734],
+  0x3A0: [662, 0, 843, 80, 763],
+  0x3A1: [662, 0, 686, 80, 606],
+  0x3A3: [662, 0, 753, 80, 673],
+  0x3A4: [662, 0, 736, 80, 656],
+  0x3A5: [662, 0, 824, 80, 744],
+  0x3A6: [662, 0, 722, 80, 642],
+  0x3A7: [662, 0, 854, 80, 774],
+  0x3A8: [662, 0, 799, 80, 719],
+  0x3A9: [676, 0, 853, 80, 773],
+  0x3B1: [460, 17, 635, 80, 554],
+  0x3B2: [673, 217, 563, 80, 483],
+  0x3B3: [461, 234, 673, 80, 593],
+  0x3B4: [671, 16, 602, 80, 522],
+  0x3B5: [460, 16, 539, 80, 459],
+  0x3B6: [667, 210, 546, 80, 466],
+  0x3B7: [460, 217, 599, 80, 519],
+  0x3B8: [673, 16, 552, 79, 472],
+  0x3B9: [460, 17, 463, 80, 383],
+  0x3BA: [460, 15, 691, 80, 611],
+  0x3BB: [673, 18, 666, 80, 586],
+  0x3BC: [444, 218, 620, 80, 540],
+  0x3BD: [460, 16, 604, 80, 524],
+  0x3BE: [667, 210, 545, 80, 465],
+  0x3BF: [460, 10, 600, 80, 520],
+  0x3C0: [471, 16, 708, 80, 628],
+  0x3C1: [460, 218, 544, 80, 464],
+  0x3C2: [460, 210, 545, 80, 465],
+  0x3C3: [471, 16, 597, 80, 517],
+  0x3C4: [471, 16, 628, 80, 548],
+  0x3C5: [460, 16, 587, 80, 507],
+  0x3C6: [460, 218, 682, 80, 602],
+  0x3C7: [460, 236, 666, 80, 586],
+  0x3C8: [460, 218, 780, 80, 700],
+  0x3C9: [463, 16, 767, 80, 687],
+  0x3D1: [673, 16, 727, 80, 647],
+  0x3D5: [657, 217, 702, 80, 622],
+  0x3D6: [471, 21, 898, 80, 818],
+  0x3F0: [460, 16, 676, 80, 596],
+  0x3F1: [460, 217, 552, 80, 472],
+  0x3F4: [675, 14, 814, 80, 734],
+  0x3F5: [460, 16, 474, 80, 394],
+  0x2002: [0, 0, 500, 0, 0],
+  0x2003: [0, 0, 1000, 0, 0],
+  0x2004: [0, 0, 333, 0, 0],
+  0x2005: [0, 0, 250, 0, 0],
+  0x2006: [0, 0, 167, 0, 0],
+  0x2009: [0, 0, 200, 0, 0],
+  0x200A: [0, 0, 100, 0, 0],
+  0x2013: [250, -201, 500, 0, 500],
+  0x2014: [250, -201, 1000, 0, 1000],
+  0x2016: [650, 150, 348, 80, 268],
+  0x2018: [676, -433, 333, 115, 254],
+  0x2019: [676, -433, 333, 79, 218],
+  0x201C: [676, -433, 444, 43, 414],
+  0x201D: [676, -433, 444, 30, 401],
+  0x2020: [676, 149, 500, 59, 443],
+  0x2021: [676, 153, 500, 58, 442],
+  0x2026: [112, 0, 869, 80, 789],
+  0x2032: [780, -450, 321, 60, 261],
+  0x2033: [780, -450, 521, 60, 461],
+  0x2034: [780, -450, 721, 60, 661],
+  0x2035: [780, -450, 321, 60, 261],
+  0x2044: [650, 150, 466, 80, 386],
+  0x2057: [780, -450, 921, 60, 861],
+  0x20D7: [710, -534, 0, -443, -57],
+  0x210F: [683, 9, 500, 19, 478],
+  0x2111: [659, 22, 634, 79, 554],
+  0x2113: [676, 14, 433, 40, 393],
+  0x2118: [538, 186, 710, 80, 630],
+  0x211C: [656, 21, 828, 80, 748],
+  0x2127: [658, 18, 853, 80, 773],
+  0x2135: [723, 19, 604, 40, 564],
+  0x2136: [729, 29, 522, 40, 482],
+  0x2137: [740, 18, 469, 40, 428],
+  0x2138: [717, 16, 522, 40, 482],
+  0x2190: [430, -70, 850, 80, 770],
+  0x2191: [600, 90, 520, 80, 440],
+  0x2192: [430, -70, 850, 80, 770],
+  0x2193: [590, 100, 520, 80, 440],
+  0x2194: [430, -70, 1040, 80, 960],
+  0x2195: [690, 190, 520, 80, 440],
+  0x2196: [497, 9, 666, 80, 586],
+  0x2197: [497, 9, 666, 80, 586],
+  0x2198: [509, -3, 666, 80, 586],
+  0x2199: [509, -3, 666, 80, 586],
+  0x219A: [430, -70, 850, 80, 770],
+  0x219B: [430, -70, 850, 80, 770],
+  0x219E: [430, -70, 1030, 80, 950],
+  0x21A0: [430, -70, 1030, 80, 950],
+  0x21A2: [430, -70, 1040, 80, 960],
+  0x21A3: [430, -70, 1040, 80, 960],
+  0x21A6: [430, -70, 850, 80, 770],
+  0x21A9: [508, -70, 876, 80, 796],
+  0x21AA: [508, -70, 876, 80, 796],
+  0x21AB: [508, -18, 876, 80, 796],
+  0x21AC: [508, -18, 876, 80, 796],
+  0x21AD: [430, -70, 1040, 80, 960],
+  0x21AE: [430, -70, 1040, 80, 960],
+  0x21B0: [598, 98, 540, 80, 460],
+  0x21B1: [598, 98, 540, 80, 460],
+  0x21B6: [535, -241, 799, 80, 719],
+  0x21B7: [535, -241, 799, 80, 719],
+  0x21BA: [547, 3, 726, 80, 646],
+  0x21BB: [547, 3, 726, 79, 646],
+  0x21BC: [430, -224, 840, 80, 760],
+  0x21BD: [276, -70, 840, 80, 760],
+  0x21BE: [590, 90, 366, 80, 286],
+  0x21BF: [590, 90, 366, 80, 286],
+  0x21C0: [430, -224, 840, 80, 760],
+  0x21C1: [276, -70, 840, 80, 760],
+  0x21C2: [590, 90, 366, 80, 286],
+  0x21C3: [590, 90, 366, 80, 286],
+  0x21C4: [630, 130, 860, 80, 780],
+  0x21C6: [630, 130, 860, 80, 780],
+  0x21C7: [630, 130, 850, 80, 770],
+  0x21C8: [600, 90, 920, 80, 840],
+  0x21C9: [630, 130, 850, 80, 770],
+  0x21CA: [590, 100, 920, 80, 840],
+  0x21CB: [526, 26, 840, 80, 760],
+  0x21CC: [526, 26, 840, 80, 760],
+  0x21CD: [500, 0, 850, 80, 770],
+  0x21CE: [500, 0, 1040, 80, 960],
+  0x21CF: [500, 0, 850, 80, 770],
+  0x21D0: [470, -30, 850, 80, 770],
+  0x21D1: [600, 90, 600, 80, 520],
+  0x21D2: [470, -30, 850, 80, 770],
+  0x21D3: [590, 100, 600, 80, 520],
+  0x21D4: [470, -30, 1040, 80, 960],
+  0x21D5: [690, 190, 600, 80, 520],
+  0x21DA: [572, 72, 1030, 80, 950],
+  0x21DB: [572, 72, 1030, 80, 950],
+  0x21DD: [430, -70, 850, 80, 770],
+  0x2200: [662, 4, 580, 70, 510],
+  0x2201: [662, 0, 560, 80, 480],
+  0x2202: [673, 17, 552, 80, 472],
+  0x2203: [662, 0, 534, 80, 454],
+  0x2204: [729, 67, 534, 80, 454],
+  0x2205: [755, 93, 660, 80, 580],
+  0x2207: [664, 10, 760, 80, 680],
+  0x2208: [500, 0, 678, 80, 598],
+  0x2209: [650, 150, 678, 80, 598],
+  0x220B: [500, 0, 678, 80, 598],
+  0x220D: [425, -75, 528, 80, 448],
+  0x2212: [276, -224, 660, 80, 580],
+  0x2213: [622, 0, 660, 80, 580],
+  0x2214: [697, 0, 660, 80, 580],
+  0x2215: [650, 150, 466, 80, 386],
+  0x2216: [608, 108, 660, 80, 580],
+  0x2217: [452, -48, 522, 80, 442],
+  0x2218: [400, -100, 460, 80, 380],
+  0x2219: [400, -100, 460, 80, 380],
+  0x221A: [616, 90, 594, 120, 620],
+  0x221D: [440, -60, 797, 80, 717],
+  0x221E: [442, -58, 940, 80, 860],
+  0x2220: [544, 0, 697, 80, 617],
+  0x2221: [544, 85, 697, 80, 617],
+  0x2222: [483, -17, 642, 80, 562],
+  0x2223: [650, 150, 204, 80, 124],
+  0x2224: [650, 150, 346, 80, 266],
+  0x2225: [650, 150, 348, 80, 268],
+  0x2226: [650, 150, 482, 80, 402],
+  0x2227: [506, 0, 660, 80, 580],
+  0x2228: [500, 6, 660, 80, 580],
+  0x2229: [518, 0, 660, 80, 580],
+  0x222A: [500, 18, 660, 80, 580],
+  0x222B: [796, 296, 666, 80, 586],
+  0x2234: [415, -85, 524, 80, 444],
+  0x2235: [415, -85, 524, 80, 444],
+  0x223C: [319, -181, 642, 80, 562],
+  0x223D: [319, -181, 642, 80, 562],
+  0x2240: [491, -9, 321, 80, 241],
+  0x2241: [419, -81, 642, 80, 562],
+  0x2242: [372, -85, 660, 80, 580],
+  0x2243: [415, -128, 660, 80, 580],
+  0x2245: [471, -72, 660, 80, 580],
+  0x2246: [487, -22, 660, 80, 580],
+  0x2248: [415, -85, 642, 80, 562],
+  0x224A: [471, -72, 660, 80, 580],
+  0x224D: [411, -89, 660, 80, 580],
+  0x224E: [470, -30, 660, 80, 580],
+  0x224F: [470, -128, 660, 80, 580],
+  0x2250: [584, -128, 660, 80, 580],
+  0x2251: [584, 84, 660, 80, 580],
+  0x2252: [584, 84, 660, 80, 580],
+  0x2253: [584, 84, 660, 80, 580],
+  0x2256: [372, -128, 660, 80, 580],
+  0x2257: [772, -128, 660, 80, 580],
+  0x225C: [829, -128, 660, 80, 580],
+  0x2260: [650, 150, 660, 80, 580],
+  0x2261: [468, -32, 660, 80, 580],
+  0x2264: [564, 54, 665, 80, 585],
+  0x2265: [564, 54, 665, 80, 585],
+  0x2266: [627, 117, 665, 80, 585],
+  0x2267: [627, 117, 665, 80, 585],
+  0x2268: [627, 184, 665, 80, 585],
+  0x2269: [627, 184, 665, 80, 585],
+  0x226A: [517, 17, 805, 80, 725],
+  0x226B: [517, 17, 805, 80, 725],
+  0x226C: [666, 166, 413, 80, 333],
+  0x226E: [650, 150, 666, 80, 586],
+  0x226F: [650, 150, 666, 80, 586],
+  0x2270: [611, 111, 665, 80, 585],
+  0x2271: [611, 111, 665, 80, 585],
+  0x2272: [585, 75, 665, 80, 585],
+  0x2273: [585, 75, 665, 80, 585],
+  0x2276: [655, 155, 670, 80, 590],
+  0x2277: [655, 155, 670, 80, 590],
+  0x227A: [528, 28, 682, 80, 602],
+  0x227B: [528, 28, 682, 80, 602],
+  0x227C: [631, 131, 682, 80, 602],
+  0x227D: [631, 131, 682, 80, 602],
+  0x227E: [599, 89, 655, 80, 575],
+  0x227F: [599, 89, 655, 80, 575],
+  0x2280: [650, 150, 682, 80, 602],
+  0x2281: [650, 150, 682, 80, 602],
+  0x2282: [500, 0, 678, 80, 598],
+  0x2283: [500, 0, 678, 80, 598],
+  0x2286: [576, 76, 678, 80, 598],
+  0x2287: [576, 76, 678, 80, 598],
+  0x2288: [685, 185, 678, 80, 598],
+  0x2289: [685, 185, 678, 80, 598],
+  0x228A: [576, 143, 678, 80, 598],
+  0x228B: [576, 143, 678, 80, 598],
+  0x228E: [500, 18, 660, 80, 580],
+  0x228F: [500, 0, 660, 80, 580],
+  0x2290: [500, 0, 660, 80, 580],
+  0x2291: [576, 76, 660, 80, 580],
+  0x2292: [576, 76, 660, 80, 580],
+  0x2293: [513, -13, 591, 80, 511],
+  0x2294: [487, 13, 591, 80, 511],
+  0x2295: [568, 68, 796, 80, 716],
+  0x2296: [568, 68, 796, 80, 716],
+  0x2297: [568, 68, 796, 80, 716],
+  0x2298: [568, 68, 796, 80, 716],
+  0x2299: [568, 68, 796, 80, 716],
+  0x229A: [568, 68, 796, 80, 716],
+  0x229B: [568, 68, 796, 80, 716],
+  0x229D: [568, 68, 796, 80, 716],
+  0x229E: [500, 0, 660, 80, 580],
+  0x229F: [500, 0, 660, 80, 580],
+  0x22A0: [500, 0, 660, 80, 580],
+  0x22A1: [500, 0, 660, 80, 580],
+  0x22A2: [650, 0, 660, 80, 580],
+  0x22A3: [650, 0, 660, 80, 580],
+  0x22A4: [650, 0, 660, 80, 580],
+  0x22A5: [650, 0, 660, 80, 580],
+  0x22A8: [650, 150, 660, 80, 580],
+  0x22A9: [650, 150, 738, 80, 658],
+  0x22AA: [650, 150, 890, 80, 810],
+  0x22AC: [650, 150, 712, 80, 632],
+  0x22AD: [650, 150, 764, 80, 684],
+  0x22AE: [650, 150, 842, 80, 762],
+  0x22AF: [650, 150, 842, 80, 762],
+  0x22B2: [527, 27, 697, 80, 617],
+  0x22B3: [527, 27, 697, 80, 617],
+  0x22B4: [570, 70, 696, 80, 616],
+  0x22B5: [570, 70, 696, 80, 616],
+  0x22B8: [400, -100, 810, 80, 730],
+  0x22BA: [650, 0, 660, 80, 580],
+  0x22BB: [526, 26, 660, 80, 580],
+  0x22BC: [526, 26, 660, 80, 580],
+  0x22C4: [448, -52, 557, 80, 477],
+  0x22C5: [306, -194, 272, 80, 192],
+  0x22C6: [420, -110, 486, 80, 406],
+  0x22C8: [445, -55, 566, 80, 486],
+  0x22C9: [445, -55, 558, 80, 478],
+  0x22CA: [445, -55, 558, 80, 478],
+  0x22CB: [445, -55, 550, 80, 470],
+  0x22CC: [445, -55, 550, 80, 470],
+  0x22CD: [415, -128, 660, 80, 580],
+  0x22CE: [500, -1, 683, 80, 603],
+  0x22CF: [499, 0, 683, 80, 603],
+  0x22D0: [500, 0, 678, 80, 598],
+  0x22D1: [500, 0, 678, 80, 598],
+  0x22D2: [518, 0, 660, 80, 580],
+  0x22D3: [500, 18, 660, 80, 580],
+  0x22D6: [515, 15, 666, 80, 586],
+  0x22D7: [515, 15, 666, 80, 586],
+  0x22D8: [517, 17, 1082, 80, 1002],
+  0x22D9: [517, 17, 1082, 80, 1002],
+  0x22DA: [756, 256, 665, 80, 585],
+  0x22DB: [756, 256, 665, 80, 585],
+  0x22DE: [631, 131, 682, 80, 602],
+  0x22DF: [631, 131, 682, 80, 602],
+  0x22E0: [657, 157, 682, 80, 602],
+  0x22E1: [657, 157, 682, 80, 602],
+  0x22E6: [585, 125, 665, 80, 585],
+  0x22E7: [585, 125, 665, 80, 585],
+  0x22E8: [599, 139, 655, 80, 575],
+  0x22E9: [599, 139, 655, 80, 575],
+  0x22EA: [650, 150, 697, 80, 617],
+  0x22EB: [650, 150, 697, 80, 617],
+  0x22EC: [622, 122, 696, 80, 616],
+  0x22ED: [622, 122, 696, 80, 616],
+  0x22EE: [605, 105, 272, 80, 192],
+  0x22EF: [306, -194, 869, 80, 789],
+  0x22F1: [517, 17, 694, 80, 614],
+  0x2308: [668, 150, 387, 120, 307],
+  0x2309: [668, 150, 387, 80, 267],
+  0x230A: [650, 168, 387, 120, 307],
+  0x230B: [650, 168, 387, 80, 267],
+  0x2322: [354, -146, 978, 80, 898],
+  0x2323: [354, -146, 978, 80, 898],
+  0x23B4: [726, -548, 375, 0, 375],
+  0x23B5: [-98, 276, 375, 0, 375],
+  0x23D0: [527, 0, 212, 80, 132],
+  0x23DC: [699, -595, 514, 0, 514],
+  0x23DD: [-145, 249, 514, 0, 514],
+  0x23DE: [739, -559, 520, 0, 520],
+  0x23DF: [-109, 289, 520, 0, 520],
+  0x23E0: [717, -579, 562, 0, 562],
+  0x23E1: [-129, 267, 562, 0, 562],
+  0x250C: [276, 150, 500, 224, 500],
+  0x2510: [276, 150, 500, 0, 276],
+  0x2514: [650, -224, 500, 224, 500],
+  0x2518: [650, -224, 500, 0, 276],
+  0x25A0: [500, 0, 660, 80, 580],
+  0x25A1: [500, 0, 660, 80, 580],
+  0x25B2: [656, -47, 862, 80, 782],
+  0x25B3: [656, -47, 862, 80, 782],
+  0x25B6: [601, 101, 768, 80, 688],
+  0x25BC: [453, 156, 862, 80, 782],
+  0x25BD: [453, 156, 862, 80, 782],
+  0x25C0: [601, 101, 768, 80, 688],
+  0x25CA: [555, 55, 564, 80, 484],
+  0x25EF: [668, 168, 996, 80, 916],
+  0x2660: [668, 0, 796, 80, 716],
+  0x2661: [668, 0, 760, 80, 680],
+  0x2662: [670, 0, 782, 80, 702],
+  0x2663: [668, 0, 822, 80, 742],
+  0x266D: [650, 35, 424, 80, 344],
+  0x266E: [650, 150, 399, 80, 319],
+  0x266F: [678, 178, 493, 80, 413],
+  0x2713: [650, 0, 752, 80, 672],
+  0x2720: [662, 0, 822, 80, 742],
+  0x27E8: [656, 156, 357, 80, 277],
+  0x27E9: [656, 156, 357, 80, 277],
+  0x27EE: [657, 157, 320, 120, 240],
+  0x27EF: [657, 157, 320, 80, 200],
+  0x27F5: [430, -70, 1170, 80, 1090],
+  0x27F6: [430, -70, 1170, 80, 1090],
+  0x27F7: [430, -70, 1360, 80, 1280],
+  0x27F8: [470, -30, 1170, 80, 1090],
+  0x27F9: [470, -30, 1170, 80, 1090],
+  0x27FA: [470, -30, 1360, 80, 1280],
+  0x27FC: [430, -70, 1170, 80, 1090],
+  0x2A3F: [662, 0, 761, 24, 737],
+  0x2A7D: [599, 99, 666, 80, 586],
+  0x2A7E: [599, 99, 666, 80, 586],
+  0x2A85: [646, 136, 665, 80, 585],
+  0x2A86: [646, 136, 665, 80, 585],
+  0x2A87: [593, 93, 665, 80, 585],
+  0x2A88: [593, 93, 665, 80, 585],
+  0x2A89: [646, 186, 665, 80, 585],
+  0x2A8A: [646, 186, 665, 80, 585],
+  0x2A8B: [819, 319, 665, 80, 585],
+  0x2A8C: [819, 319, 665, 80, 585],
+  0x2A95: [599, 99, 666, 80, 586],
+  0x2A96: [599, 99, 666, 80, 586],
+  0x2AAF: [604, 94, 682, 80, 602],
+  0x2AB0: [604, 94, 682, 80, 602]
 };
 
 MathJax.Callback.Queue(

+ 52 - 52
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Termes/Size5/Regular/Main.js

@@ -18,58 +18,58 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['GyreTermesMathJax_Size5'] = {
-    directory: 'Size5/Regular',
-    family: 'GyreTermesMathJax_Size5',
-    testString: '\u00A0\u0302\u0303\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u2016\u2044\u20E9\u221A',
-    0x20: [0, 0, 250, 0, 0],
-    0x28: [1253, 753, 575, 139, 482],
-    0x29: [1253, 753, 575, 93, 436],
-    0x2F: [1793, 1293, 1222, 80, 1142],
-    0x5B: [1266, 766, 472, 139, 379],
-    0x5C: [1793, 1293, 1222, 80, 1142],
-    0x5D: [1266, 766, 472, 93, 333],
-    0x7B: [1255, 755, 517, 93, 424],
-    0x7C: [1245, 745, 216, 80, 136],
-    0x7D: [1255, 755, 517, 93, 424],
-    0xA0: [0, 0, 250, 0, 0],
-    0x302: [699, -536, 1249, 0, 1249],
-    0x303: [687, -533, 1241, 0, 1241],
-    0x306: [695, -540, 1266, 0, 1266],
-    0x30C: [694, -531, 1249, 0, 1249],
-    0x311: [709, -553, 1266, 0, 1266],
-    0x32C: [-70, 233, 1249, 0, 1249],
-    0x32D: [-80, 243, 1249, 0, 1249],
-    0x32E: [-70, 225, 1266, 0, 1266],
-    0x32F: [-88, 243, 1266, 0, 1266],
-    0x330: [-88, 242, 1241, 0, 1241],
-    0x2016: [1245, 745, 372, 80, 292],
-    0x2044: [1793, 1293, 1222, 80, 1142],
-    0x20E9: [750, -548, 2250, 0, 2250],
-    0x221A: [1576, 1050, 661, 120, 687],
-    0x2223: [1245, 745, 216, 80, 136],
-    0x2225: [1245, 745, 372, 80, 292],
-    0x2308: [1266, 745, 472, 139, 379],
-    0x2309: [1266, 745, 472, 93, 333],
-    0x230A: [1245, 766, 472, 139, 379],
-    0x230B: [1245, 766, 472, 93, 333],
-    0x2329: [1796, 1296, 510, 93, 417],
-    0x232A: [1796, 1296, 510, 93, 417],
-    0x23B4: [750, -548, 2250, 0, 2250],
-    0x23B5: [-98, 300, 2250, 0, 2250],
-    0x23DC: [750, -541, 3014, 0, 3014],
-    0x23DD: [-91, 300, 3014, 0, 3014],
-    0x23DE: [784, -527, 3019, 0, 3019],
-    0x23DF: [-77, 333, 3019, 0, 3019],
-    0x23E0: [745, -541, 3080, 0, 3080],
-    0x23E1: [-91, 295, 3080, 0, 3080],
-    0x27E6: [1266, 766, 475, 139, 382],
-    0x27E7: [1266, 766, 475, 93, 336],
-    0x27E8: [1796, 1296, 510, 93, 417],
-    0x27E9: [1796, 1296, 510, 93, 417],
-    0x27EA: [1796, 1296, 765, 93, 672],
-    0x27EB: [1796, 1296, 765, 93, 672],
-    0x27EE: [1252, 752, 399, 139, 306],
-    0x27EF: [1252, 752, 399, 93, 260]
+  directory: 'Size5/Regular',
+  family: 'GyreTermesMathJax_Size5',
+  testString: '\u00A0\u0302\u0303\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u2016\u2044\u20E9\u221A',
+  0x20: [0, 0, 250, 0, 0],
+  0x28: [1253, 753, 575, 139, 482],
+  0x29: [1253, 753, 575, 93, 436],
+  0x2F: [1793, 1293, 1222, 80, 1142],
+  0x5B: [1266, 766, 472, 139, 379],
+  0x5C: [1793, 1293, 1222, 80, 1142],
+  0x5D: [1266, 766, 472, 93, 333],
+  0x7B: [1255, 755, 517, 93, 424],
+  0x7C: [1245, 745, 216, 80, 136],
+  0x7D: [1255, 755, 517, 93, 424],
+  0xA0: [0, 0, 250, 0, 0],
+  0x302: [699, -536, 1249, 0, 1249],
+  0x303: [687, -533, 1241, 0, 1241],
+  0x306: [695, -540, 1266, 0, 1266],
+  0x30C: [694, -531, 1249, 0, 1249],
+  0x311: [709, -553, 1266, 0, 1266],
+  0x32C: [-70, 233, 1249, 0, 1249],
+  0x32D: [-80, 243, 1249, 0, 1249],
+  0x32E: [-70, 225, 1266, 0, 1266],
+  0x32F: [-88, 243, 1266, 0, 1266],
+  0x330: [-88, 242, 1241, 0, 1241],
+  0x2016: [1245, 745, 372, 80, 292],
+  0x2044: [1793, 1293, 1222, 80, 1142],
+  0x20E9: [750, -548, 2250, 0, 2250],
+  0x221A: [1576, 1050, 661, 120, 687],
+  0x2223: [1245, 745, 216, 80, 136],
+  0x2225: [1245, 745, 372, 80, 292],
+  0x2308: [1266, 745, 472, 139, 379],
+  0x2309: [1266, 745, 472, 93, 333],
+  0x230A: [1245, 766, 472, 139, 379],
+  0x230B: [1245, 766, 472, 93, 333],
+  0x2329: [1796, 1296, 510, 93, 417],
+  0x232A: [1796, 1296, 510, 93, 417],
+  0x23B4: [750, -548, 2250, 0, 2250],
+  0x23B5: [-98, 300, 2250, 0, 2250],
+  0x23DC: [750, -541, 3014, 0, 3014],
+  0x23DD: [-91, 300, 3014, 0, 3014],
+  0x23DE: [784, -527, 3019, 0, 3019],
+  0x23DF: [-77, 333, 3019, 0, 3019],
+  0x23E0: [745, -541, 3080, 0, 3080],
+  0x23E1: [-91, 295, 3080, 0, 3080],
+  0x27E6: [1266, 766, 475, 139, 382],
+  0x27E7: [1266, 766, 475, 93, 336],
+  0x27E8: [1796, 1296, 510, 93, 417],
+  0x27E9: [1796, 1296, 510, 93, 417],
+  0x27EA: [1796, 1296, 765, 93, 672],
+  0x27EB: [1796, 1296, 765, 93, 672],
+  0x27EE: [1252, 752, 399, 139, 306],
+  0x27EF: [1252, 752, 399, 93, 260]
 };
 
 MathJax.Callback.Queue(

+ 813 - 819
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Gyre-Termes/fontdata.js

@@ -23,838 +23,832 @@
 
     var VERSION = "2.5.0";
 
-    var ALPHABETS = "GyreTermesMathJax_Alphabets",
-        ARROWS = "GyreTermesMathJax_Arrows",
-        DOUBLESTRUCK = "GyreTermesMathJax_DoubleStruck",
-        FRAKTUR = "GyreTermesMathJax_Fraktur",
-        LATIN = "GyreTermesMathJax_Latin",
-        MAIN = "GyreTermesMathJax_Main",
-        MARKS = "GyreTermesMathJax_Marks",
-        MISC = "GyreTermesMathJax_Misc",
-        MONOSPACE = "GyreTermesMathJax_Monospace",
-        NONUNICODE = "GyreTermesMathJax_NonUnicode",
-        NORMAL = "GyreTermesMathJax_Normal",
-        OPERATORS = "GyreTermesMathJax_Operators",
-        SANSSERIF = "GyreTermesMathJax_SansSerif",
-        SCRIPT = "GyreTermesMathJax_Script",
-        SHAPES = "GyreTermesMathJax_Shapes",
-        SIZE1 = "GyreTermesMathJax_Size1",
-        SIZE2 = "GyreTermesMathJax_Size2",
-        SIZE3 = "GyreTermesMathJax_Size3",
-        SIZE4 = "GyreTermesMathJax_Size4",
-        SIZE5 = "GyreTermesMathJax_Size5",
-        SIZE6 = "GyreTermesMathJax_Size6",
-        SYMBOLS = "GyreTermesMathJax_Symbols",
-        VARIANTS = "GyreTermesMathJax_Variants";
+  var ALPHABETS = "GyreTermesMathJax_Alphabets",
+      ARROWS = "GyreTermesMathJax_Arrows",
+      DOUBLESTRUCK = "GyreTermesMathJax_DoubleStruck",
+      FRAKTUR = "GyreTermesMathJax_Fraktur",
+      LATIN = "GyreTermesMathJax_Latin",
+      MAIN = "GyreTermesMathJax_Main",
+      MARKS = "GyreTermesMathJax_Marks",
+      MISC = "GyreTermesMathJax_Misc",
+      MONOSPACE = "GyreTermesMathJax_Monospace",
+      NONUNICODE = "GyreTermesMathJax_NonUnicode",
+      NORMAL = "GyreTermesMathJax_Normal",
+      OPERATORS = "GyreTermesMathJax_Operators",
+      SANSSERIF = "GyreTermesMathJax_SansSerif",
+      SCRIPT = "GyreTermesMathJax_Script",
+      SHAPES = "GyreTermesMathJax_Shapes",
+      SIZE1 = "GyreTermesMathJax_Size1",
+      SIZE2 = "GyreTermesMathJax_Size2",
+      SIZE3 = "GyreTermesMathJax_Size3",
+      SIZE4 = "GyreTermesMathJax_Size4",
+      SIZE5 = "GyreTermesMathJax_Size5",
+      SIZE6 = "GyreTermesMathJax_Size6",
+      SYMBOLS = "GyreTermesMathJax_Symbols",
+      VARIANTS = "GyreTermesMathJax_Variants";
 
-    var H = "H", V = "V", EXTRAH = {
-        load: "extra",
-        dir: H
-    }, EXTRAV = {load: "extra", dir: V};
+  var H = "H", V = "V", EXTRAH = {
+    load: "extra",
+    dir: H
+  }, EXTRAV = {load: "extra", dir: V};
 
-    HTMLCSS.Augment({
-        FONTDATA: {
-            version: VERSION,
+  HTMLCSS.Augment({
+    FONTDATA: {
+      version: VERSION,
 
 
-            TeX_factor: 1.125,
-            baselineskip: 1.200,
-            lineH: 0.800, lineD: 0.200,
+      TeX_factor: 1.125,
+      baselineskip: 1.200,
+      lineH: 0.800, lineD: 0.200,
 
-            hasStyleChar: true,  // char 0xEFFD encodes font style
+      hasStyleChar: true,  // char 0xEFFD encodes font style
 
-            FONTS: {
-                "GyreTermesMathJax_Alphabets": "Alphabets/Regular/Main.js",
-                "GyreTermesMathJax_Arrows": "Arrows/Regular/Main.js",
-                "GyreTermesMathJax_DoubleStruck": "DoubleStruck/Regular/Main.js",
-                "GyreTermesMathJax_Fraktur": "Fraktur/Regular/Main.js",
-                "GyreTermesMathJax_Latin": "Latin/Regular/Main.js",
-                "GyreTermesMathJax_Main": "Main/Regular/Main.js",
-                "GyreTermesMathJax_Marks": "Marks/Regular/Main.js",
-                "GyreTermesMathJax_Misc": "Misc/Regular/Main.js",
-                "GyreTermesMathJax_Monospace": "Monospace/Regular/Main.js",
-                "GyreTermesMathJax_NonUnicode": "NonUnicode/Regular/Main.js",
-                "GyreTermesMathJax_Normal": "Normal/Regular/Main.js",
-                "GyreTermesMathJax_Operators": "Operators/Regular/Main.js",
-                "GyreTermesMathJax_SansSerif": "SansSerif/Regular/Main.js",
-                "GyreTermesMathJax_Script": "Script/Regular/Main.js",
-                "GyreTermesMathJax_Shapes": "Shapes/Regular/Main.js",
-                "GyreTermesMathJax_Size1": "Size1/Regular/Main.js",
-                "GyreTermesMathJax_Size2": "Size2/Regular/Main.js",
-                "GyreTermesMathJax_Size3": "Size3/Regular/Main.js",
-                "GyreTermesMathJax_Size4": "Size4/Regular/Main.js",
-                "GyreTermesMathJax_Size5": "Size5/Regular/Main.js",
-                "GyreTermesMathJax_Size6": "Size6/Regular/Main.js",
-                "GyreTermesMathJax_Symbols": "Symbols/Regular/Main.js",
-                "GyreTermesMathJax_Variants": "Variants/Regular/Main.js"
-            },
+      FONTS: {
+        "GyreTermesMathJax_Alphabets": "Alphabets/Regular/Main.js",
+        "GyreTermesMathJax_Arrows": "Arrows/Regular/Main.js",
+        "GyreTermesMathJax_DoubleStruck": "DoubleStruck/Regular/Main.js",
+        "GyreTermesMathJax_Fraktur": "Fraktur/Regular/Main.js",
+        "GyreTermesMathJax_Latin": "Latin/Regular/Main.js",
+        "GyreTermesMathJax_Main": "Main/Regular/Main.js",
+        "GyreTermesMathJax_Marks": "Marks/Regular/Main.js",
+        "GyreTermesMathJax_Misc": "Misc/Regular/Main.js",
+        "GyreTermesMathJax_Monospace": "Monospace/Regular/Main.js",
+        "GyreTermesMathJax_NonUnicode": "NonUnicode/Regular/Main.js",
+        "GyreTermesMathJax_Normal": "Normal/Regular/Main.js",
+        "GyreTermesMathJax_Operators": "Operators/Regular/Main.js",
+        "GyreTermesMathJax_SansSerif": "SansSerif/Regular/Main.js",
+        "GyreTermesMathJax_Script": "Script/Regular/Main.js",
+        "GyreTermesMathJax_Shapes": "Shapes/Regular/Main.js",
+        "GyreTermesMathJax_Size1": "Size1/Regular/Main.js",
+        "GyreTermesMathJax_Size2": "Size2/Regular/Main.js",
+        "GyreTermesMathJax_Size3": "Size3/Regular/Main.js",
+        "GyreTermesMathJax_Size4": "Size4/Regular/Main.js",
+        "GyreTermesMathJax_Size5": "Size5/Regular/Main.js",
+        "GyreTermesMathJax_Size6": "Size6/Regular/Main.js",
+        "GyreTermesMathJax_Symbols": "Symbols/Regular/Main.js",
+        "GyreTermesMathJax_Variants": "Variants/Regular/Main.js"
+      },
 
-            VARIANT: {
-                "normal": {fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1]},
-                "bold": {
-                    fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
-                    bold: true
-                    ,
-                    offsetA: 0x1D400,
-                    offsetG: 0x1D6A8,
-                    offsetN: 0x1D7CE
-                },
-                "italic": {
-                    fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
-                    italic: true,
-                    offsetA: 0x1D434,
-                    offsetG: 0x1D6E2,
-                    remap: {0x1D455: 0x210E}
-                },
-                "bold-italic": {
-                    fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
-                    bold: true,
-                    italic: true,
-                    offsetA: 0x1D468,
-                    offsetG: 0x1D71C
-                },
-                "double-struck": {
-                    fonts: [DOUBLESTRUCK],
-                    offsetA: 0x1D538,
-                    offsetN: 0x1D7D8,
-                    remap: {
-                        0x1D53A: 0x2102,
-                        0x1D53F: 0x210D,
-                        0x1D545: 0x2115,
-                        0x1D547: 0x2119,
-                        0x1D548: 0x211A,
-                        0x1D549: 0x211D,
-                        0x1D551: 0x2124
-                    }
-                },
-                "fraktur": {
-                    fonts: [FRAKTUR],
-                    offsetA: 0x1D504,
-                    remap: {
-                        0x1D506: 0x212D,
-                        0x1D50B: 0x210C,
-                        0x1D50C: 0x2111,
-                        0x1D515: 0x211C,
-                        0x1D51D: 0x2128
-                    }
-                },
-                "bold-fraktur": {
-                    fonts: [FRAKTUR], bold: true,
-                    offsetA: 0x1D56C
-                },
-                "script": {
-                    fonts: [SCRIPT], italic: true,
-                    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: [SCRIPT], bold: true, italic: true,
-                    offsetA: 0x1D4D0
-                },
-                "sans-serif": {
-                    fonts: [SANSSERIF],
-                    offsetA: 0x1D5A0,
-                    offsetN: 0x1D7E2
-                },
-                "bold-sans-serif": {
-                    fonts: [SANSSERIF], bold: true,
-                    offsetA: 0x1D5D4,
-                    offsetN: 0x1D7EC,
-                    offsetG: 0x1D756
-                },
-                "sans-serif-italic": {
-                    fonts: [SANSSERIF], italic: true,
-                    offsetA: 0x1D608
-                },
-                "sans-serif-bold-italic": {
-                    fonts: [SANSSERIF], bold: true, italic: true,
-                    offsetA: 0x1D63C,
-                    offsetG: 0x1D790
-                },
-                "monospace": {
-                    fonts: [MONOSPACE],
-                    offsetA: 0x1D670,
-                    offsetN: 0x1D7F6
-                },
-                "-Gyre-Termes-variant": {fonts: [VARIANTS, MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, NONUNICODE, SIZE1]},
-                "-tex-caligraphic": {
-                    fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
-                    italic: true
-                },
-                "-tex-oldstyle": {fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1]},
-                "-tex-caligraphic-bold": {
-                    fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
-                    italic: true,
-                    bold: true
-                },
-                "-tex-oldstyle-bold": {
-                    fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
-                    bold: true
-                },
-                "-tex-mathit": {
-                    fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
-                    italic: true,
-                    noIC: true
-                },
-                "-largeOp": {fonts: [SIZE1, MAIN]},
-                "-smallOp": {}
-            },
+      VARIANT: {
+        "normal": {fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1]},
+        "bold": {
+          fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
+          bold: true
+          ,
+          offsetA: 0x1D400,
+          offsetG: 0x1D6A8,
+          offsetN: 0x1D7CE
+        },
+        "italic": {
+          fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
+          italic: true,
+          offsetA: 0x1D434,
+          offsetG: 0x1D6E2,
+          remap: {0x1D455: 0x210E}
+        },
+        "bold-italic": {
+          fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
+          bold: true,
+          italic: true,
+          offsetA: 0x1D468,
+          offsetG: 0x1D71C
+        },
+        "double-struck": {
+          fonts: [DOUBLESTRUCK],
+          offsetA: 0x1D538,
+          offsetN: 0x1D7D8,
+          remap: {
+            0x1D53A: 0x2102,
+            0x1D53F: 0x210D,
+            0x1D545: 0x2115,
+            0x1D547: 0x2119,
+            0x1D548: 0x211A,
+            0x1D549: 0x211D,
+            0x1D551: 0x2124
+          }
+        },
+        "fraktur": {
+          fonts: [FRAKTUR],
+          offsetA: 0x1D504,
+          remap: {
+            0x1D506: 0x212D,
+            0x1D50B: 0x210C,
+            0x1D50C: 0x2111,
+            0x1D515: 0x211C,
+            0x1D51D: 0x2128
+          }
+        },
+        "bold-fraktur": {
+          fonts: [FRAKTUR], bold: true,
+          offsetA: 0x1D56C
+        },
+        "script": {
+          fonts: [SCRIPT], italic: true,
+          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: [SCRIPT], bold: true, italic: true,
+          offsetA: 0x1D4D0
+        },
+        "sans-serif": {
+          fonts: [SANSSERIF],
+          offsetA: 0x1D5A0,
+          offsetN: 0x1D7E2
+        },
+        "bold-sans-serif": {
+          fonts: [SANSSERIF], bold: true,
+          offsetA: 0x1D5D4,
+          offsetN: 0x1D7EC,
+          offsetG: 0x1D756
+        },
+        "sans-serif-italic": {
+          fonts: [SANSSERIF], italic: true,
+          offsetA: 0x1D608
+        },
+        "sans-serif-bold-italic": {
+          fonts: [SANSSERIF], bold: true, italic: true,
+          offsetA: 0x1D63C,
+          offsetG: 0x1D790
+        },
+        "monospace": {
+          fonts: [MONOSPACE],
+          offsetA: 0x1D670,
+          offsetN: 0x1D7F6
+        },
+        "-Gyre-Termes-variant": {fonts: [VARIANTS, MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, NONUNICODE, SIZE1]},
+        "-tex-caligraphic": {
+          fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
+          italic: true
+        },
+        "-tex-oldstyle": {fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1]},
+        "-tex-caligraphic-bold": {
+          fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
+          italic: true,
+          bold: true
+        },
+        "-tex-oldstyle-bold": {
+          fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
+          bold: true
+        },
+        "-tex-mathit": {
+          fonts: [MAIN, NORMAL, MONOSPACE, LATIN, ALPHABETS, MARKS, ARROWS, OPERATORS, SYMBOLS, SHAPES, MISC, VARIANTS, NONUNICODE, SIZE1],
+          italic: true,
+          noIC: true
+        },
+        "-largeOp": {fonts: [SIZE1, MAIN]},
+        "-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: 26
-                },
-                {
-                    name: "Greek", low: 0x0391, high: 0x03F6, offset: "G",
-                    remap: {
-                        0x03F5: 52,
-                        0x03D1: 53,
-                        0x03F0: 54,
-                        0x03D5: 55,
-                        0x03F1: 56,
-                        0x03D6: 57,
-                        0x03F4: 17
-                    }
-                }
-            ],
+      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: 26},
+        {
+          name: "Greek", low: 0x0391, high: 0x03F6, offset: "G",
+          remap: {
+            0x03F5: 52,
+            0x03D1: 53,
+            0x03F0: 54,
+            0x03D5: 55,
+            0x03F1: 56,
+            0x03D6: 57,
+            0x03F4: 17
+          }
+        }
+      ],
 
-            RULECHAR: 0x0305,
+      RULECHAR: 0x0305,
 
-            REMAP: {
-                0x25C2: 0x25C0,
-                0x3008: 0x27E8,
-                0x3009: 0x27E9,
-                0x2758: 0x2223,
-                0x25B8: 0x25B6,
-                0x03D2: 0x03A5,
-                0x25B4: 0x25B2,
-                0x25B5: 0x25B3,
-                0xFE37: 0x23DE,
-                0xFE38: 0x23DF,
-                0x02B9: 0x2032,
-                0x25FB: 0x25A1,
-                0x25FC: 0x25A0,
-                0x25BE: 0x25BC,
-                0x203E: 0x0305,
-                0x25BF: 0x25BD
-            },
+      REMAP: {
+        0x25C2: 0x25C0,
+        0x3008: 0x27E8,
+        0x3009: 0x27E9,
+        0x2758: 0x2223,
+        0x25B8: 0x25B6,
+        0x03D2: 0x03A5,
+        0x25B4: 0x25B2,
+        0x25B5: 0x25B3,
+        0xFE37: 0x23DE,
+        0xFE38: 0x23DF,
+        0x02B9: 0x2032,
+        0x25FB: 0x25A1,
+        0x25FC: 0x25A0,
+        0x25BE: 0x25BC,
+        0x203E: 0x0305,
+        0x25BF: 0x25BD
+      },
 
-            REMAPACCENT: {
-                "\u007E": "\u0303",
-                "\u2192": "\u20D7",
-                "\u0060": "\u0300",
-                "\u005E": "\u0302",
-                "\u00B4": "\u0301",
-                "\u2032": "\u0301",
-                "\u2035": "\u0300"
-            },
+      REMAPACCENT: {
+        "\u007E": "\u0303",
+        "\u2192": "\u20D7",
+        "\u0060": "\u0300",
+        "\u005E": "\u0302",
+        "\u00B4": "\u0301",
+        "\u2032": "\u0301",
+        "\u2035": "\u0300"
+      },
 
-            REMAPACCENTUNDER: {},
+      REMAPACCENTUNDER: {},
 
-            DELIMITERS: {
-                0x28: {
-                    dir: V,
-                    HW: [[0.816, MAIN], [0.976, SIZE1], [1.168, SIZE2], [1.398, SIZE3], [1.674, SIZE4], [2.006, SIZE5], [2.404, SIZE6], [2.780, SIZE6, 1.157]],
-                    stretch: {
-                        bot: [0x239D, SYMBOLS],
-                        ext: [0x239C, SYMBOLS],
-                        top: [0x239B, SYMBOLS]
-                    }
-                },
-                0x29: {
-                    dir: V,
-                    HW: [[0.816, MAIN], [0.976, SIZE1], [1.168, SIZE2], [1.398, SIZE3], [1.674, SIZE4], [2.006, SIZE5], [2.404, SIZE6], [2.780, SIZE6, 1.157]],
-                    stretch: {
-                        bot: [0x23A0, SYMBOLS],
-                        ext: [0x239F, SYMBOLS],
-                        top: [0x239E, SYMBOLS]
-                    }
-                },
-                0x2D: {alias: 0x305, dir: H},
-                0x2F: {
-                    dir: V,
-                    HW: [[0.800, MAIN], [1.048, SIZE1], [1.372, SIZE2], [1.798, SIZE3], [1.827, SIZE3, 1.016], [2.356, SIZE4], [3.086, SIZE5], [4.044, SIZE6]]
-                },
-                0x3D: {
-                    dir: H,
-                    HW: [[0.500, MAIN]],
-                    stretch: {
-                        left: [0xE000, SIZE6],
-                        rep: [0xE001, SIZE6],
-                        right: [0xE002, SIZE6]
-                    }
-                },
-                0x5B: {
-                    dir: V,
-                    HW: [[0.836, MAIN], [0.998, SIZE1], [1.190, SIZE2], [1.422, SIZE3], [1.698, SIZE4], [2.032, SIZE5], [2.432, SIZE6], [2.780, SIZE6, 1.143]],
-                    stretch: {
-                        bot: [0x23A3, SYMBOLS],
-                        ext: [0x23A2, SYMBOLS],
-                        top: [0x23A1, SYMBOLS]
-                    }
-                },
-                0x5C: {
-                    dir: V,
-                    HW: [[0.800, MAIN], [1.048, SIZE1], [1.372, SIZE2], [1.798, SIZE3], [1.827, SIZE3, 1.016], [2.356, SIZE4], [3.086, SIZE5], [4.044, SIZE6]]
-                },
-                0x5D: {
-                    dir: V,
-                    HW: [[0.836, MAIN], [0.998, SIZE1], [1.190, SIZE2], [1.422, SIZE3], [1.698, SIZE4], [2.032, SIZE5], [2.432, SIZE6], [2.780, SIZE6, 1.143]],
-                    stretch: {
-                        bot: [0x23A6, SYMBOLS],
-                        ext: [0x23A5, SYMBOLS],
-                        top: [0x23A4, SYMBOLS]
-                    }
-                },
-                0x5E: {alias: 0x302, dir: H},
-                0x5F: {alias: 0x332, dir: H},
-                0x7B: {
-                    dir: V,
-                    HW: [[0.820, MAIN], [0.980, SIZE1], [1.172, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.010, SIZE5], [2.408, SIZE6], [2.780, SIZE6, 1.155]],
-                    stretch: {
-                        bot: [0x23A9, SYMBOLS],
-                        ext: [0xE003, SIZE6],
-                        mid: [0x23A8, SYMBOLS],
-                        top: [0x23A7, SYMBOLS]
-                    }
-                },
-                0x7C: {
-                    dir: V,
-                    HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
-                    stretch: {
-                        bot: [0xE004, SIZE6],
-                        ext: [0xE005, SIZE6],
-                        top: [0xE006, SIZE6]
-                    }
-                },
-                0x7D: {
-                    dir: V,
-                    HW: [[0.820, MAIN], [0.980, SIZE1], [1.172, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.010, SIZE5], [2.408, SIZE6], [2.780, SIZE6, 1.155]],
-                    stretch: {
-                        bot: [0x23AD, SYMBOLS],
-                        ext: [0xE007, SIZE6],
-                        mid: [0x23AC, SYMBOLS],
-                        top: [0x23AB, SYMBOLS]
-                    }
-                },
-                0x7E: {alias: 0x303, dir: H},
-                0xAF: {alias: 0x332, dir: H},
-                0x2C6: {alias: 0x302, dir: H},
-                0x2C9: {alias: 0x305, dir: H},
-                0x2DC: {alias: 0x303, dir: H},
-                0x302: {
-                    dir: H,
-                    HW: [[0.342, MAIN], [0.608, SIZE1], [0.727, SIZE2], [0.870, SIZE3], [1.041, SIZE4], [1.249, SIZE5], [1.496, SIZE6]]
-                },
-                0x303: {
-                    dir: H,
-                    HW: [[0.334, MAIN], [0.601, SIZE1], [0.720, SIZE2], [0.863, SIZE3], [1.037, SIZE4], [1.241, SIZE5], [1.491, SIZE6]]
-                },
-                0x305: {
-                    dir: H,
-                    HW: [[0.333, MARKS], [0.500, SIZE1]],
-                    stretch: {
-                        left: [0xE0FB, SIZE6],
-                        rep: [0xE0FC, SIZE6],
-                        right: [0xE0FD, SIZE6]
-                    }
-                },
-                0x306: EXTRAH,
-                0x30C: {
-                    dir: H,
-                    HW: [[0.342, MAIN], [0.608, SIZE1], [0.727, SIZE2], [0.870, SIZE3], [1.041, SIZE4], [1.249, SIZE5], [1.496, SIZE6]]
-                },
-                0x311: EXTRAH,
-                0x32C: EXTRAH,
-                0x32D: EXTRAH,
-                0x32E: EXTRAH,
-                0x32F: EXTRAH,
-                0x330: EXTRAH,
-                0x332: {
-                    dir: H,
-                    HW: [[0.333, MARKS], [0.500, SIZE1]],
-                    stretch: {
-                        left: [0xE0F5, SIZE6],
-                        rep: [0xE0F6, SIZE6],
-                        right: [0xE0F7, SIZE6]
-                    }
-                },
-                0x333: EXTRAH,
-                0x33F: EXTRAH,
-                0x2015: {alias: 0x305, dir: H},
-                0x2016: {
-                    dir: V,
-                    HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
-                    stretch: {
-                        bot: [0xE12A, SIZE6],
-                        ext: [0xE12B, SIZE6],
-                        top: [0xE12C, SIZE6]
-                    }
-                },
-                0x2017: {alias: 0x305, dir: H},
-                0x203E: {alias: 0x305, dir: H},
-                0x2044: {
-                    dir: V,
-                    HW: [[0.800, MAIN], [1.048, SIZE1], [1.372, SIZE2], [1.798, SIZE3], [2.356, SIZE4], [3.086, SIZE5], [4.044, SIZE6]]
-                },
-                0x20D0: EXTRAH,
-                0x20D1: EXTRAH,
-                0x20D6: EXTRAH,
-                0x20D7: EXTRAH,
-                0x20E1: EXTRAH,
-                0x20E9: EXTRAH,
-                0x20EC: EXTRAH,
-                0x20ED: EXTRAH,
-                0x20EE: EXTRAH,
-                0x20EF: EXTRAH,
-                0x2140: {
-                    dir: V,
-                    HW: [[0.956, DOUBLESTRUCK], [1.360, SIZE1]]
-                },
-                0x2190: {
-                    dir: H,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        left: [0xE023, SIZE6],
-                        rep: [0xE024, SIZE6],
-                        right: [0xE025, SIZE6]
-                    }
-                },
-                0x2191: {
-                    dir: V,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        bot: [0xE029, SIZE6],
-                        ext: [0xE02A, SIZE6],
-                        top: [0xE02B, SIZE6]
-                    }
-                },
-                0x2192: {
-                    dir: H,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        left: [0xE026, SIZE6],
-                        rep: [0xE027, SIZE6],
-                        right: [0xE028, SIZE6]
-                    }
-                },
-                0x2193: {
-                    dir: V,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        bot: [0xE02C, SIZE6],
-                        ext: [0xE02D, SIZE6],
-                        top: [0xE02E, SIZE6]
-                    }
-                },
-                0x2194: {
-                    dir: H,
-                    HW: [[0.880, MAIN], [1.200, SIZE1]],
-                    stretch: {
-                        left: [0xE037, SIZE6],
-                        rep: [0xE038, SIZE6],
-                        right: [0xE039, SIZE6]
-                    }
-                },
-                0x2195: {
-                    dir: V,
-                    HW: [[0.880, MAIN], [1.200, SIZE1]],
-                    stretch: {
-                        bot: [0xE03A, SIZE6],
-                        ext: [0xE03B, SIZE6],
-                        top: [0xE03C, SIZE6]
-                    }
-                },
-                0x2196: EXTRAV,
-                0x2197: EXTRAV,
-                0x2198: EXTRAV,
-                0x2199: EXTRAV,
-                0x219A: EXTRAH,
-                0x219B: EXTRAH,
-                0x219E: EXTRAH,
-                0x219F: EXTRAV,
-                0x21A0: EXTRAH,
-                0x21A1: EXTRAV,
-                0x21A2: EXTRAH,
-                0x21A3: EXTRAH,
-                0x21A4: {
-                    dir: H,
-                    HW: [[0.690, ARROWS], [1.010, SIZE1]],
-                    stretch: {
-                        left: [0xE053, SIZE6],
-                        rep: [0xE054, SIZE6],
-                        right: [0xE055, SIZE6]
-                    }
-                },
-                0x21A5: EXTRAV,
-                0x21A6: {
-                    dir: H,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        left: [0xE056, SIZE6],
-                        rep: [0xE057, SIZE6],
-                        right: [0xE058, SIZE6]
-                    }
-                },
-                0x21A7: EXTRAV,
-                0x21A9: EXTRAH,
-                0x21AA: EXTRAH,
-                0x21AB: EXTRAH,
-                0x21AC: EXTRAH,
-                0x21AD: EXTRAH,
-                0x21AE: EXTRAH,
-                0x21B0: EXTRAV,
-                0x21B1: EXTRAV,
-                0x21B2: EXTRAV,
-                0x21B3: EXTRAV,
-                0x21B6: EXTRAH,
-                0x21B7: EXTRAH,
-                0x21BC: EXTRAH,
-                0x21BD: EXTRAH,
-                0x21BE: EXTRAV,
-                0x21BF: EXTRAV,
-                0x21C0: EXTRAH,
-                0x21C1: EXTRAH,
-                0x21C2: EXTRAV,
-                0x21C3: EXTRAV,
-                0x21C4: EXTRAH,
-                0x21C5: EXTRAV,
-                0x21C6: EXTRAH,
-                0x21C7: EXTRAH,
-                0x21C8: EXTRAV,
-                0x21C9: EXTRAH,
-                0x21CA: EXTRAV,
-                0x21CB: EXTRAH,
-                0x21CC: EXTRAH,
-                0x21CD: EXTRAH,
-                0x21CE: EXTRAH,
-                0x21CF: EXTRAH,
-                0x21D0: {
-                    dir: H,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        left: [0xE0A7, SIZE6],
-                        rep: [0xE0A8, SIZE6],
-                        right: [0xE0A9, SIZE6]
-                    }
-                },
-                0x21D1: {
-                    dir: V,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        bot: [0xE0AD, SIZE6],
-                        ext: [0xE0AE, SIZE6],
-                        top: [0xE0AF, SIZE6]
-                    }
-                },
-                0x21D2: {
-                    dir: H,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        left: [0xE0AA, SIZE6],
-                        rep: [0xE0AB, SIZE6],
-                        right: [0xE0AC, SIZE6]
-                    }
-                },
-                0x21D3: {
-                    dir: V,
-                    HW: [[0.690, MAIN], [1.010, SIZE1]],
-                    stretch: {
-                        bot: [0xE0B0, SIZE6],
-                        ext: [0xE0B1, SIZE6],
-                        top: [0xE0B2, SIZE6]
-                    }
-                },
-                0x21D4: {
-                    dir: H,
-                    HW: [[0.880, MAIN], [1.200, SIZE1]],
-                    stretch: {
-                        left: [0xE0B3, SIZE6],
-                        rep: [0xE0B4, SIZE6],
-                        right: [0xE0B5, SIZE6]
-                    }
-                },
-                0x21D5: {
-                    dir: V,
-                    HW: [[0.880, MAIN], [1.200, SIZE1]],
-                    stretch: {
-                        bot: [0xE0B6, SIZE6],
-                        ext: [0xE0B7, SIZE6],
-                        top: [0xE0B8, SIZE6]
-                    }
-                },
-                0x21D6: EXTRAV,
-                0x21D7: EXTRAV,
-                0x21D8: EXTRAV,
-                0x21D9: EXTRAV,
-                0x21DA: EXTRAH,
-                0x21DB: EXTRAH,
-                0x21DC: EXTRAH,
-                0x21DD: EXTRAH,
-                0x21E6: EXTRAH,
-                0x21E7: EXTRAV,
-                0x21E8: EXTRAH,
-                0x21E9: EXTRAV,
-                0x21F3: EXTRAV,
-                0x21F5: EXTRAV,
-                0x21F6: EXTRAH,
-                0x220F: EXTRAV,
-                0x2210: EXTRAV,
-                0x2211: EXTRAV,
-                0x2212: {
-                    dir: H,
-                    HW: [[0.500, MAIN]],
-                    stretch: {
-                        left: [0xE127, SIZE6],
-                        rep: [0xE128, SIZE6],
-                        right: [0xE129, SIZE6]
-                    }
-                },
-                0x2215: {alias: 0x2044, dir: V},
-                0x221A: {
-                    dir: V,
-                    HW: [[0.706, MAIN], [1.090, SIZE1], [1.474, SIZE2], [1.858, SIZE3], [2.242, SIZE4], [2.626, SIZE5], [3.010, SIZE6]],
-                    stretch: {
-                        bot: [0x23B7, SYMBOLS],
-                        ext: [0xE133, SIZE6],
-                        top: [0xE134, SIZE6]
-                    }
-                },
-                0x2223: {
-                    dir: V,
-                    HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
-                    stretch: {
-                        bot: [0xE004, SIZE6],
-                        ext: [0xE005, SIZE6],
-                        top: [0xE006, SIZE6]
-                    }
-                },
-                0x2225: {
-                    dir: V,
-                    HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
-                    stretch: {
-                        bot: [0xE12A, SIZE6],
-                        ext: [0xE12B, SIZE6],
-                        top: [0xE12C, SIZE6]
-                    }
-                },
-                0x222B: EXTRAV,
-                0x222C: EXTRAV,
-                0x222D: EXTRAV,
-                0x222E: EXTRAV,
-                0x222F: EXTRAV,
-                0x2230: EXTRAV,
-                0x2231: EXTRAV,
-                0x2232: EXTRAV,
-                0x2233: EXTRAV,
-                0x2261: EXTRAH,
-                0x2263: EXTRAH,
-                0x22A2: EXTRAV,
-                0x22A3: EXTRAV,
-                0x22A4: EXTRAV,
-                0x22A5: EXTRAV,
-                0x22C0: EXTRAV,
-                0x22C1: EXTRAV,
-                0x22C2: EXTRAV,
-                0x22C3: EXTRAV,
-                0x2308: {
-                    dir: V,
-                    HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
-                    stretch: {ext: [0x23A2, SYMBOLS], top: [0x23A1, SYMBOLS]}
-                },
-                0x2309: {
-                    dir: V,
-                    HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
-                    stretch: {ext: [0x23A5, SYMBOLS], top: [0x23A4, SYMBOLS]}
-                },
-                0x230A: {
-                    dir: V,
-                    HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
-                    stretch: {bot: [0x23A3, SYMBOLS], ext: [0x23A2, SYMBOLS]}
-                },
-                0x230B: {
-                    dir: V,
-                    HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
-                    stretch: {bot: [0x23A6, SYMBOLS], ext: [0x23A5, SYMBOLS]}
-                },
-                0x2329: {
-                    dir: V,
-                    HW: [[0.812, SYMBOLS], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
-                },
-                0x232A: {
-                    dir: V,
-                    HW: [[0.812, SYMBOLS], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
-                },
-                0x23AA: {
-                    dir: V,
-                    HW: [[0.596, SYMBOLS]],
-                    stretch: {ext: [0x23AA, SYMBOLS]}
-                },
-                0x23AF: {alias: 0x305, dir: H},
-                0x23B0: {
-                    dir: V,
-                    HW: [[0.607, SYMBOLS, null, 0x23A7]],
-                    stretch: {
-                        top: [0x23A7, SYMBOLS],
-                        ext: [0x23AA, SYMBOLS],
-                        bot: [0x23AD, SYMBOLS]
-                    }
-                },
-                0x23B1: {
-                    dir: V,
-                    HW: [[0.607, SYMBOLS, null, 0x23AB]],
-                    stretch: {
-                        top: [0x23AB, SYMBOLS],
-                        ext: [0x23AA, SYMBOLS],
-                        bot: [0x23A9, SYMBOLS]
-                    }
-                },
-                0x23B4: EXTRAH,
-                0x23B5: EXTRAH,
-                0x23D0: {
-                    dir: V,
-                    HW: [[0.800, MAIN, null, 0x7C], [1.350, MAIN, 1.688, 0x7C], [1.827, MAIN, 2.283, 0x7C], [2.303, MAIN, 2.879, 0x7C], [2.780, MAIN, 3.474, 0x7C]],
-                    stretch: {ext: [0x7C, MAIN]}
-                },
-                0x23DC: EXTRAH,
-                0x23DD: EXTRAH,
-                0x23DE: {
-                    dir: H,
-                    HW: [[0.520, MAIN], [1.019, SIZE1], [1.519, SIZE2], [2.019, SIZE3], [2.519, SIZE4], [3.019, SIZE5], [3.519, SIZE6]],
-                    stretch: {
-                        left: [0xE10D, SIZE6],
-                        rep: [0xE10E, SIZE6],
-                        mid: [0xE10F, SIZE6],
-                        right: [0xE110, SIZE6]
-                    }
-                },
-                0x23DF: {
-                    dir: H,
-                    HW: [[0.520, MAIN], [1.019, SIZE1], [1.519, SIZE2], [2.019, SIZE3], [2.519, SIZE4], [3.019, SIZE5], [3.519, SIZE6]],
-                    stretch: {
-                        left: [0xE111, SIZE6],
-                        rep: [0xE112, SIZE6],
-                        mid: [0xE113, SIZE6],
-                        right: [0xE114, SIZE6]
-                    }
-                },
-                0x23E0: EXTRAH,
-                0x23E1: EXTRAH,
-                0x2500: {alias: 0x305, dir: H},
-                0x27A1: EXTRAH,
-                0x27E6: EXTRAV,
-                0x27E7: EXTRAV,
-                0x27E8: {
-                    dir: V,
-                    HW: [[0.812, MAIN], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [1.827, SIZE3, 1.012], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
-                },
-                0x27E9: {
-                    dir: V,
-                    HW: [[0.812, MAIN], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [1.827, SIZE3, 1.012], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
-                },
-                0x27EA: EXTRAV,
-                0x27EB: EXTRAV,
-                0x27EE: {
-                    dir: V,
-                    HW: [[0.814, MAIN], [0.974, SIZE1], [1.166, SIZE2], [1.396, SIZE3], [1.672, SIZE4], [2.004, SIZE5], [2.402, SIZE6]],
-                    stretch: {
-                        bot: [0xE101, SIZE6],
-                        ext: [0xE102, SIZE6],
-                        top: [0xE103, SIZE6]
-                    }
-                },
-                0x27EF: {
-                    dir: V,
-                    HW: [[0.814, MAIN], [0.974, SIZE1], [1.166, SIZE2], [1.396, SIZE3], [1.672, SIZE4], [2.004, SIZE5], [2.402, SIZE6]],
-                    stretch: {
-                        bot: [0xE104, SIZE6],
-                        ext: [0xE105, SIZE6],
-                        top: [0xE106, SIZE6]
-                    }
-                },
-                0x27F5: {alias: 0x2190, dir: H},
-                0x27F6: {alias: 0x2192, dir: H},
-                0x27F7: {alias: 0x2194, dir: H},
-                0x27F8: {alias: 0x21D0, dir: H},
-                0x27F9: {alias: 0x21D2, dir: H},
-                0x27FA: {alias: 0x21D4, dir: H},
-                0x27FB: {alias: 0x21A4, dir: H},
-                0x27FC: {alias: 0x21A6, dir: H},
-                0x27FD: {alias: 0x2906, dir: H},
-                0x27FE: {alias: 0x2907, dir: H},
-                0x2906: {
-                    dir: H,
-                    HW: [[0.870, ARROWS], [1.190, SIZE1]],
-                    stretch: {
-                        left: [0xE0C5, SIZE6],
-                        rep: [0xE0C6, SIZE6],
-                        right: [0xE0C7, SIZE6]
-                    }
-                },
-                0x2907: {
-                    dir: H,
-                    HW: [[0.870, ARROWS], [1.190, SIZE1]],
-                    stretch: {
-                        left: [0xE0C8, SIZE6],
-                        rep: [0xE0C9, SIZE6],
-                        right: [0xE0CA, SIZE6]
-                    }
-                },
-                0x2A00: EXTRAV,
-                0x2A01: EXTRAV,
-                0x2A02: EXTRAV,
-                0x2A03: EXTRAV,
-                0x2A04: EXTRAV,
-                0x2A05: EXTRAV,
-                0x2A06: EXTRAV,
-                0x2A09: EXTRAV,
-                0x2A0C: EXTRAV,
-                0x2A11: EXTRAV,
-                0x2B04: EXTRAH,
-                0x2B05: EXTRAH,
-                0x2B06: EXTRAV,
-                0x2B07: EXTRAV,
-                0x2B0C: EXTRAH,
-                0x2B0D: EXTRAV,
-                0x2B31: EXTRAH,
-                0x3008: {alias: 0x27E8, dir: V},
-                0x3009: {alias: 0x27E9, dir: V},
-                0xFE37: {alias: 0x23DE, dir: H},
-                0xFE38: {alias: 0x23DF, dir: H}
-            }
+      DELIMITERS: {
+        0x28: {
+          dir: V,
+          HW: [[0.816, MAIN], [0.976, SIZE1], [1.168, SIZE2], [1.398, SIZE3], [1.674, SIZE4], [2.006, SIZE5], [2.404, SIZE6], [2.780, SIZE6, 1.157]],
+          stretch: {
+            bot: [0x239D, SYMBOLS],
+            ext: [0x239C, SYMBOLS],
+            top: [0x239B, SYMBOLS]
+          }
+        },
+        0x29: {
+          dir: V,
+          HW: [[0.816, MAIN], [0.976, SIZE1], [1.168, SIZE2], [1.398, SIZE3], [1.674, SIZE4], [2.006, SIZE5], [2.404, SIZE6], [2.780, SIZE6, 1.157]],
+          stretch: {
+            bot: [0x23A0, SYMBOLS],
+            ext: [0x239F, SYMBOLS],
+            top: [0x239E, SYMBOLS]
+          }
+        },
+        0x2D: {alias: 0x305, dir: H},
+        0x2F: {
+          dir: V,
+          HW: [[0.800, MAIN], [1.048, SIZE1], [1.372, SIZE2], [1.798, SIZE3], [1.827, SIZE3, 1.016], [2.356, SIZE4], [3.086, SIZE5], [4.044, SIZE6]]
+        },
+        0x3D: {
+          dir: H,
+          HW: [[0.500, MAIN]],
+          stretch: {
+            left: [0xE000, SIZE6],
+            rep: [0xE001, SIZE6],
+            right: [0xE002, SIZE6]
+          }
+        },
+        0x5B: {
+          dir: V,
+          HW: [[0.836, MAIN], [0.998, SIZE1], [1.190, SIZE2], [1.422, SIZE3], [1.698, SIZE4], [2.032, SIZE5], [2.432, SIZE6], [2.780, SIZE6, 1.143]],
+          stretch: {
+            bot: [0x23A3, SYMBOLS],
+            ext: [0x23A2, SYMBOLS],
+            top: [0x23A1, SYMBOLS]
+          }
+        },
+        0x5C: {
+          dir: V,
+          HW: [[0.800, MAIN], [1.048, SIZE1], [1.372, SIZE2], [1.798, SIZE3], [1.827, SIZE3, 1.016], [2.356, SIZE4], [3.086, SIZE5], [4.044, SIZE6]]
+        },
+        0x5D: {
+          dir: V,
+          HW: [[0.836, MAIN], [0.998, SIZE1], [1.190, SIZE2], [1.422, SIZE3], [1.698, SIZE4], [2.032, SIZE5], [2.432, SIZE6], [2.780, SIZE6, 1.143]],
+          stretch: {
+            bot: [0x23A6, SYMBOLS],
+            ext: [0x23A5, SYMBOLS],
+            top: [0x23A4, SYMBOLS]
+          }
+        },
+        0x5E: {alias: 0x302, dir: H},
+        0x5F: {alias: 0x332, dir: H},
+        0x7B: {
+          dir: V,
+          HW: [[0.820, MAIN], [0.980, SIZE1], [1.172, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.010, SIZE5], [2.408, SIZE6], [2.780, SIZE6, 1.155]],
+          stretch: {
+            bot: [0x23A9, SYMBOLS],
+            ext: [0xE003, SIZE6],
+            mid: [0x23A8, SYMBOLS],
+            top: [0x23A7, SYMBOLS]
+          }
+        },
+        0x7C: {
+          dir: V,
+          HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
+          stretch: {
+            bot: [0xE004, SIZE6],
+            ext: [0xE005, SIZE6],
+            top: [0xE006, SIZE6]
+          }
+        },
+        0x7D: {
+          dir: V,
+          HW: [[0.820, MAIN], [0.980, SIZE1], [1.172, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.010, SIZE5], [2.408, SIZE6], [2.780, SIZE6, 1.155]],
+          stretch: {
+            bot: [0x23AD, SYMBOLS],
+            ext: [0xE007, SIZE6],
+            mid: [0x23AC, SYMBOLS],
+            top: [0x23AB, SYMBOLS]
+          }
+        },
+        0x7E: {alias: 0x303, dir: H},
+        0xAF: {alias: 0x332, dir: H},
+        0x2C6: {alias: 0x302, dir: H},
+        0x2C9: {alias: 0x305, dir: H},
+        0x2DC: {alias: 0x303, dir: H},
+        0x302: {
+          dir: H,
+          HW: [[0.342, MAIN], [0.608, SIZE1], [0.727, SIZE2], [0.870, SIZE3], [1.041, SIZE4], [1.249, SIZE5], [1.496, SIZE6]]
+        },
+        0x303: {
+          dir: H,
+          HW: [[0.334, MAIN], [0.601, SIZE1], [0.720, SIZE2], [0.863, SIZE3], [1.037, SIZE4], [1.241, SIZE5], [1.491, SIZE6]]
+        },
+        0x305: {
+          dir: H,
+          HW: [[0.333, MARKS], [0.500, SIZE1]],
+          stretch: {
+            left: [0xE0FB, SIZE6],
+            rep: [0xE0FC, SIZE6],
+            right: [0xE0FD, SIZE6]
+          }
+        },
+        0x306: EXTRAH,
+        0x30C: {
+          dir: H,
+          HW: [[0.342, MAIN], [0.608, SIZE1], [0.727, SIZE2], [0.870, SIZE3], [1.041, SIZE4], [1.249, SIZE5], [1.496, SIZE6]]
+        },
+        0x311: EXTRAH,
+        0x32C: EXTRAH,
+        0x32D: EXTRAH,
+        0x32E: EXTRAH,
+        0x32F: EXTRAH,
+        0x330: EXTRAH,
+        0x332: {
+          dir: H,
+          HW: [[0.333, MARKS], [0.500, SIZE1]],
+          stretch: {
+            left: [0xE0F5, SIZE6],
+            rep: [0xE0F6, SIZE6],
+            right: [0xE0F7, SIZE6]
+          }
+        },
+        0x333: EXTRAH,
+        0x33F: EXTRAH,
+        0x2015: {alias: 0x305, dir: H},
+        0x2016: {
+          dir: V,
+          HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
+          stretch: {
+            bot: [0xE12A, SIZE6],
+            ext: [0xE12B, SIZE6],
+            top: [0xE12C, SIZE6]
+          }
+        },
+        0x2017: {alias: 0x305, dir: H},
+        0x203E: {alias: 0x305, dir: H},
+        0x2044: {
+          dir: V,
+          HW: [[0.800, MAIN], [1.048, SIZE1], [1.372, SIZE2], [1.798, SIZE3], [2.356, SIZE4], [3.086, SIZE5], [4.044, SIZE6]]
+        },
+        0x20D0: EXTRAH,
+        0x20D1: EXTRAH,
+        0x20D6: EXTRAH,
+        0x20D7: EXTRAH,
+        0x20E1: EXTRAH,
+        0x20E9: EXTRAH,
+        0x20EC: EXTRAH,
+        0x20ED: EXTRAH,
+        0x20EE: EXTRAH,
+        0x20EF: EXTRAH,
+        0x2140: {
+          dir: V,
+          HW: [[0.956, DOUBLESTRUCK], [1.360, SIZE1]]
+        },
+        0x2190: {
+          dir: H,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            left: [0xE023, SIZE6],
+            rep: [0xE024, SIZE6],
+            right: [0xE025, SIZE6]
+          }
+        },
+        0x2191: {
+          dir: V,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            bot: [0xE029, SIZE6],
+            ext: [0xE02A, SIZE6],
+            top: [0xE02B, SIZE6]
+          }
+        },
+        0x2192: {
+          dir: H,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            left: [0xE026, SIZE6],
+            rep: [0xE027, SIZE6],
+            right: [0xE028, SIZE6]
+          }
+        },
+        0x2193: {
+          dir: V,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            bot: [0xE02C, SIZE6],
+            ext: [0xE02D, SIZE6],
+            top: [0xE02E, SIZE6]
+          }
+        },
+        0x2194: {
+          dir: H,
+          HW: [[0.880, MAIN], [1.200, SIZE1]],
+          stretch: {
+            left: [0xE037, SIZE6],
+            rep: [0xE038, SIZE6],
+            right: [0xE039, SIZE6]
+          }
+        },
+        0x2195: {
+          dir: V,
+          HW: [[0.880, MAIN], [1.200, SIZE1]],
+          stretch: {
+            bot: [0xE03A, SIZE6],
+            ext: [0xE03B, SIZE6],
+            top: [0xE03C, SIZE6]
+          }
+        },
+        0x2196: EXTRAV,
+        0x2197: EXTRAV,
+        0x2198: EXTRAV,
+        0x2199: EXTRAV,
+        0x219A: EXTRAH,
+        0x219B: EXTRAH,
+        0x219E: EXTRAH,
+        0x219F: EXTRAV,
+        0x21A0: EXTRAH,
+        0x21A1: EXTRAV,
+        0x21A2: EXTRAH,
+        0x21A3: EXTRAH,
+        0x21A4: {
+          dir: H,
+          HW: [[0.690, ARROWS], [1.010, SIZE1]],
+          stretch: {
+            left: [0xE053, SIZE6],
+            rep: [0xE054, SIZE6],
+            right: [0xE055, SIZE6]
+          }
+        },
+        0x21A5: EXTRAV,
+        0x21A6: {
+          dir: H,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            left: [0xE056, SIZE6],
+            rep: [0xE057, SIZE6],
+            right: [0xE058, SIZE6]
+          }
+        },
+        0x21A7: EXTRAV,
+        0x21A9: EXTRAH,
+        0x21AA: EXTRAH,
+        0x21AB: EXTRAH,
+        0x21AC: EXTRAH,
+        0x21AD: EXTRAH,
+        0x21AE: EXTRAH,
+        0x21B0: EXTRAV,
+        0x21B1: EXTRAV,
+        0x21B2: EXTRAV,
+        0x21B3: EXTRAV,
+        0x21B6: EXTRAH,
+        0x21B7: EXTRAH,
+        0x21BC: EXTRAH,
+        0x21BD: EXTRAH,
+        0x21BE: EXTRAV,
+        0x21BF: EXTRAV,
+        0x21C0: EXTRAH,
+        0x21C1: EXTRAH,
+        0x21C2: EXTRAV,
+        0x21C3: EXTRAV,
+        0x21C4: EXTRAH,
+        0x21C5: EXTRAV,
+        0x21C6: EXTRAH,
+        0x21C7: EXTRAH,
+        0x21C8: EXTRAV,
+        0x21C9: EXTRAH,
+        0x21CA: EXTRAV,
+        0x21CB: EXTRAH,
+        0x21CC: EXTRAH,
+        0x21CD: EXTRAH,
+        0x21CE: EXTRAH,
+        0x21CF: EXTRAH,
+        0x21D0: {
+          dir: H,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            left: [0xE0A7, SIZE6],
+            rep: [0xE0A8, SIZE6],
+            right: [0xE0A9, SIZE6]
+          }
+        },
+        0x21D1: {
+          dir: V,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            bot: [0xE0AD, SIZE6],
+            ext: [0xE0AE, SIZE6],
+            top: [0xE0AF, SIZE6]
+          }
+        },
+        0x21D2: {
+          dir: H,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            left: [0xE0AA, SIZE6],
+            rep: [0xE0AB, SIZE6],
+            right: [0xE0AC, SIZE6]
+          }
+        },
+        0x21D3: {
+          dir: V,
+          HW: [[0.690, MAIN], [1.010, SIZE1]],
+          stretch: {
+            bot: [0xE0B0, SIZE6],
+            ext: [0xE0B1, SIZE6],
+            top: [0xE0B2, SIZE6]
+          }
+        },
+        0x21D4: {
+          dir: H,
+          HW: [[0.880, MAIN], [1.200, SIZE1]],
+          stretch: {
+            left: [0xE0B3, SIZE6],
+            rep: [0xE0B4, SIZE6],
+            right: [0xE0B5, SIZE6]
+          }
+        },
+        0x21D5: {
+          dir: V,
+          HW: [[0.880, MAIN], [1.200, SIZE1]],
+          stretch: {
+            bot: [0xE0B6, SIZE6],
+            ext: [0xE0B7, SIZE6],
+            top: [0xE0B8, SIZE6]
+          }
+        },
+        0x21D6: EXTRAV,
+        0x21D7: EXTRAV,
+        0x21D8: EXTRAV,
+        0x21D9: EXTRAV,
+        0x21DA: EXTRAH,
+        0x21DB: EXTRAH,
+        0x21DC: EXTRAH,
+        0x21DD: EXTRAH,
+        0x21E6: EXTRAH,
+        0x21E7: EXTRAV,
+        0x21E8: EXTRAH,
+        0x21E9: EXTRAV,
+        0x21F3: EXTRAV,
+        0x21F5: EXTRAV,
+        0x21F6: EXTRAH,
+        0x220F: EXTRAV,
+        0x2210: EXTRAV,
+        0x2211: EXTRAV,
+        0x2212: {
+          dir: H,
+          HW: [[0.500, MAIN]],
+          stretch: {
+            left: [0xE127, SIZE6],
+            rep: [0xE128, SIZE6],
+            right: [0xE129, SIZE6]
+          }
+        },
+        0x2215: {alias: 0x2044, dir: V},
+        0x221A: {
+          dir: V,
+          HW: [[0.706, MAIN], [1.090, SIZE1], [1.474, SIZE2], [1.858, SIZE3], [2.242, SIZE4], [2.626, SIZE5], [3.010, SIZE6]],
+          stretch: {
+            bot: [0x23B7, SYMBOLS],
+            ext: [0xE133, SIZE6],
+            top: [0xE134, SIZE6]
+          }
+        },
+        0x2223: {
+          dir: V,
+          HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
+          stretch: {
+            bot: [0xE004, SIZE6],
+            ext: [0xE005, SIZE6],
+            top: [0xE006, SIZE6]
+          }
+        },
+        0x2225: {
+          dir: V,
+          HW: [[0.800, MAIN], [0.960, SIZE1], [1.152, SIZE2], [1.382, SIZE3], [1.658, SIZE4], [1.990, SIZE5], [2.388, SIZE6]],
+          stretch: {
+            bot: [0xE12A, SIZE6],
+            ext: [0xE12B, SIZE6],
+            top: [0xE12C, SIZE6]
+          }
+        },
+        0x222B: EXTRAV,
+        0x222C: EXTRAV,
+        0x222D: EXTRAV,
+        0x222E: EXTRAV,
+        0x222F: EXTRAV,
+        0x2230: EXTRAV,
+        0x2231: EXTRAV,
+        0x2232: EXTRAV,
+        0x2233: EXTRAV,
+        0x2261: EXTRAH,
+        0x2263: EXTRAH,
+        0x22A2: EXTRAV,
+        0x22A3: EXTRAV,
+        0x22A4: EXTRAV,
+        0x22A5: EXTRAV,
+        0x22C0: EXTRAV,
+        0x22C1: EXTRAV,
+        0x22C2: EXTRAV,
+        0x22C3: EXTRAV,
+        0x2308: {
+          dir: V,
+          HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
+          stretch: {ext: [0x23A2, SYMBOLS], top: [0x23A1, SYMBOLS]}
+        },
+        0x2309: {
+          dir: V,
+          HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
+          stretch: {ext: [0x23A5, SYMBOLS], top: [0x23A4, SYMBOLS]}
+        },
+        0x230A: {
+          dir: V,
+          HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
+          stretch: {bot: [0x23A3, SYMBOLS], ext: [0x23A2, SYMBOLS]}
+        },
+        0x230B: {
+          dir: V,
+          HW: [[0.818, MAIN], [0.979, SIZE1], [1.171, SIZE2], [1.402, SIZE3], [1.678, SIZE4], [2.011, SIZE5], [2.410, SIZE6], [2.780, SIZE6, 1.154]],
+          stretch: {bot: [0x23A6, SYMBOLS], ext: [0x23A5, SYMBOLS]}
+        },
+        0x2329: {
+          dir: V,
+          HW: [[0.812, SYMBOLS], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
+        },
+        0x232A: {
+          dir: V,
+          HW: [[0.812, SYMBOLS], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
+        },
+        0x23AA: {
+          dir: V,
+          HW: [[0.596, SYMBOLS]],
+          stretch: {ext: [0x23AA, SYMBOLS]}
+        },
+        0x23AF: {alias: 0x305, dir: H},
+        0x23B0: {
+          dir: V,
+          HW: [[0.607, SYMBOLS, null, 0x23A7]],
+          stretch: {
+            top: [0x23A7, SYMBOLS],
+            ext: [0x23AA, SYMBOLS],
+            bot: [0x23AD, SYMBOLS]
+          }
+        },
+        0x23B1: {
+          dir: V,
+          HW: [[0.607, SYMBOLS, null, 0x23AB]],
+          stretch: {
+            top: [0x23AB, SYMBOLS],
+            ext: [0x23AA, SYMBOLS],
+            bot: [0x23A9, SYMBOLS]
+          }
+        },
+        0x23B4: EXTRAH,
+        0x23B5: EXTRAH,
+        0x23D0: {
+          dir: V,
+          HW: [[0.800, MAIN, null, 0x7C], [1.350, MAIN, 1.688, 0x7C], [1.827, MAIN, 2.283, 0x7C], [2.303, MAIN, 2.879, 0x7C], [2.780, MAIN, 3.474, 0x7C]],
+          stretch: {ext: [0x7C, MAIN]}
+        },
+        0x23DC: EXTRAH,
+        0x23DD: EXTRAH,
+        0x23DE: {
+          dir: H,
+          HW: [[0.520, MAIN], [1.019, SIZE1], [1.519, SIZE2], [2.019, SIZE3], [2.519, SIZE4], [3.019, SIZE5], [3.519, SIZE6]],
+          stretch: {
+            left: [0xE10D, SIZE6],
+            rep: [0xE10E, SIZE6],
+            mid: [0xE10F, SIZE6],
+            right: [0xE110, SIZE6]
+          }
+        },
+        0x23DF: {
+          dir: H,
+          HW: [[0.520, MAIN], [1.019, SIZE1], [1.519, SIZE2], [2.019, SIZE3], [2.519, SIZE4], [3.019, SIZE5], [3.519, SIZE6]],
+          stretch: {
+            left: [0xE111, SIZE6],
+            rep: [0xE112, SIZE6],
+            mid: [0xE113, SIZE6],
+            right: [0xE114, SIZE6]
+          }
+        },
+        0x23E0: EXTRAH,
+        0x23E1: EXTRAH,
+        0x2500: {alias: 0x305, dir: H},
+        0x27A1: EXTRAH,
+        0x27E6: EXTRAV,
+        0x27E7: EXTRAV,
+        0x27E8: {
+          dir: V,
+          HW: [[0.812, MAIN], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [1.827, SIZE3, 1.012], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
+        },
+        0x27E9: {
+          dir: V,
+          HW: [[0.812, MAIN], [1.060, SIZE1], [1.382, SIZE2], [1.806, SIZE3], [1.827, SIZE3, 1.012], [2.364, SIZE4], [3.092, SIZE5], [4.048, SIZE6]]
+        },
+        0x27EA: EXTRAV,
+        0x27EB: EXTRAV,
+        0x27EE: {
+          dir: V,
+          HW: [[0.814, MAIN], [0.974, SIZE1], [1.166, SIZE2], [1.396, SIZE3], [1.672, SIZE4], [2.004, SIZE5], [2.402, SIZE6]],
+          stretch: {
+            bot: [0xE101, SIZE6],
+            ext: [0xE102, SIZE6],
+            top: [0xE103, SIZE6]
+          }
+        },
+        0x27EF: {
+          dir: V,
+          HW: [[0.814, MAIN], [0.974, SIZE1], [1.166, SIZE2], [1.396, SIZE3], [1.672, SIZE4], [2.004, SIZE5], [2.402, SIZE6]],
+          stretch: {
+            bot: [0xE104, SIZE6],
+            ext: [0xE105, SIZE6],
+            top: [0xE106, SIZE6]
+          }
+        },
+        0x27F5: {alias: 0x2190, dir: H},
+        0x27F6: {alias: 0x2192, dir: H},
+        0x27F7: {alias: 0x2194, dir: H},
+        0x27F8: {alias: 0x21D0, dir: H},
+        0x27F9: {alias: 0x21D2, dir: H},
+        0x27FA: {alias: 0x21D4, dir: H},
+        0x27FB: {alias: 0x21A4, dir: H},
+        0x27FC: {alias: 0x21A6, dir: H},
+        0x27FD: {alias: 0x2906, dir: H},
+        0x27FE: {alias: 0x2907, dir: H},
+        0x2906: {
+          dir: H,
+          HW: [[0.870, ARROWS], [1.190, SIZE1]],
+          stretch: {
+            left: [0xE0C5, SIZE6],
+            rep: [0xE0C6, SIZE6],
+            right: [0xE0C7, SIZE6]
+          }
+        },
+        0x2907: {
+          dir: H,
+          HW: [[0.870, ARROWS], [1.190, SIZE1]],
+          stretch: {
+            left: [0xE0C8, SIZE6],
+            rep: [0xE0C9, SIZE6],
+            right: [0xE0CA, SIZE6]
+          }
+        },
+        0x2A00: EXTRAV,
+        0x2A01: EXTRAV,
+        0x2A02: EXTRAV,
+        0x2A03: EXTRAV,
+        0x2A04: EXTRAV,
+        0x2A05: EXTRAV,
+        0x2A06: EXTRAV,
+        0x2A09: EXTRAV,
+        0x2A0C: EXTRAV,
+        0x2A11: EXTRAV,
+        0x2B04: EXTRAH,
+        0x2B05: EXTRAH,
+        0x2B06: EXTRAV,
+        0x2B07: EXTRAV,
+        0x2B0C: EXTRAH,
+        0x2B0D: EXTRAV,
+        0x2B31: EXTRAH,
+        0x3008: {alias: 0x27E8, dir: V},
+        0x3009: {alias: 0x27E9, dir: V},
+        0xFE37: {alias: 0x23DE, dir: H},
+        0xFE38: {alias: 0x23DF, dir: H}
+      }
 
-        }
-    });
-    MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir + "/Size1/Regular/Main.js", function () {
-        var i;
-        for (i = 0x222B; i <= 0x222D; i++) {
-            HTMLCSS.FONTDATA.FONTS[SIZE1][i][2] -= 200;
-            HTMLCSS.FONTDATA.FONTS[SIZE1][i][5] = {rfix: -200};
-        }
-        for (i = 0x222E; i <= 0x2231; i++) {
-            HTMLCSS.FONTDATA.FONTS[SIZE1][i][2] -= 150;
-            HTMLCSS.FONTDATA.FONTS[SIZE1][i][5] = {rfix: -150};
-        }
-    });
-    AJAX.loadComplete(HTMLCSS.fontDir + "/fontdata.js");
+    }
+  });
+  MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir + "/Size1/Regular/Main.js", function () {
+    var i;
+    for (i = 0x222B; i <= 0x222D; i++) {
+      HTMLCSS.FONTDATA.FONTS[SIZE1][i][2] -= 200;
+      HTMLCSS.FONTDATA.FONTS[SIZE1][i][5] = {rfix: -200};
+    }
+    for (i = 0x222E; i <= 0x2231; i++) {
+      HTMLCSS.FONTDATA.FONTS[SIZE1][i][2] -= 150;
+      HTMLCSS.FONTDATA.FONTS[SIZE1][i][5] = {rfix: -150};
+    }
+  });
+  AJAX.loadComplete(HTMLCSS.fontDir + "/fontdata.js");
 
 })(MathJax.OutputJax["HTML-CSS"], MathJax.ElementJax.mml, MathJax.Ajax);

+ 81 - 81
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Marks/Regular/Main.js

@@ -18,87 +18,87 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['LatinModernMathJax_Marks'] = {
-    directory: 'Marks/Regular',
-    family: 'LatinModernMathJax_Marks',
-    testString: '\u00A0\u02DB\u02DD\u0305\u0309\u030F\u0311\u0323\u0326\u032C\u032D\u032E\u032F\u0330\u0331',
-    0x20: [0, 0, 332, 0, 0],
-    0xA0: [0, 0, 332, 0, 0],
-    0x2DB: [5, 211, 500, 135, 364],
-    0x2DD: [697, -511, 500, 128, 420],
-    0x305: [670, -630, 0, -460, -68],
-    0x309: [729, -520, 0, -361, -167],
-    0x30F: [732, -546, 0, -434, -142],
-    0x311: [742, -605, 0, -451, -77],
-    0x323: [-94, 200, 0, -318, -211],
-    0x326: [-66, 290, 0, -308, -220],
-    0x32C: [-96, 243, 0, -446, -82],
-    0x32D: [-108, 255, 0, -446, -82],
-    0x32E: [-96, 233, 0, -451, -77],
-    0x32F: [-118, 255, 0, -451, -77],
-    0x330: [-118, 310, 0, -449, -79],
-    0x331: [-131, 162, 0, -444, -83],
-    0x332: [-103, 143, 0, -460, -68],
-    0x333: [-103, 293, 0, -460, -68],
-    0x33F: [820, -630, 0, -460, -68],
-    0x2000: [0, 0, 500, 0, 0],
-    0x2001: [0, 0, 1000, 0, 0],
-    0x2007: [0, 0, 500, 0, 0],
-    0x2008: [0, 0, 250, 0, 0],
-    0x200B: [0, 0, 0, 0, 0],
-    0x200C: [0, 0, 0, 0, 0],
-    0x200D: [0, 0, 0, 0, 0],
-    0x2010: [245, -187, 333, 11, 276],
-    0x2012: [342, -302, 680, 56, 624],
-    0x2015: [270, -230, 1152, 56, 1096],
-    0x2017: [-103, 293, 504, 56, 448],
-    0x201A: [104, 195, 278, 79, 199],
-    0x201E: [104, 195, 472, 86, 400],
-    0x2022: [445, -55, 500, 55, 445],
-    0x202F: [0, 0, 200, 0, 0],
-    0x2030: [750, 56, 1140, 53, 1087],
-    0x2031: [750, 56, 1457, 56, 1417],
-    0x2036: [748, -430, 511, 60, 451],
-    0x2037: [748, -430, 711, 60, 651],
-    0x2039: [483, 0, 389, 111, 277],
-    0x203A: [483, 0, 389, 112, 278],
-    0x203B: [492, -8, 778, 147, 630],
-    0x203D: [756, 0, 472, 43, 402],
-    0x2052: [751, -1, 500, 56, 444],
-    0x205F: [0, 0, 222, 0, 0],
-    0x2060: [0, 0, 0, 0, 0],
-    0x2061: [640, 240, 960, 40, 920],
-    0x2062: [0, 0, 0, 0, 0],
-    0x2063: [0, 0, 0, 0, 0],
-    0x2064: [0, 0, 0, 0, 0],
-    0x20D0: [711, -601, 0, -475, -53],
-    0x20D1: [711, -601, 0, -475, -53],
-    0x20D2: [750, 250, 0, -284, -244],
-    0x20D3: [520, 20, 0, -284, -244],
-    0x20D4: [751, -589, 0, -473, -55],
-    0x20D5: [751, -589, 0, -473, -55],
-    0x20D6: [711, -521, 0, -472, -56],
-    0x20D8: [400, -100, 0, -414, -114],
-    0x20DB: [696, -604, 0, -530, 2],
-    0x20DC: [696, -604, 0, -640, 112],
-    0x20DD: [772, 272, 0, -786, 258],
-    0x20DE: [750, 250, 0, -764, 236],
-    0x20DF: [1028, 528, 0, -1042, 514],
-    0x20E1: [711, -521, 0, -499, -29],
-    0x20E4: [831, 311, 0, -924, 396],
-    0x20E5: [750, 250, 0, -458, -69],
-    0x20E6: [750, 250, 0, -352, -176],
-    0x20E8: [-96, 188, 0, -530, 2],
-    0x20E9: [726, -552, 0, -444, -84],
-    0x20EA: [510, 10, 0, -706, 178],
-    0x20EB: [750, 250, 0, -531, 3],
-    0x20EC: [-171, 281, 0, -475, -53],
-    0x20ED: [-171, 281, 0, -475, -53],
-    0x20EE: [-91, 281, 0, -472, -56],
-    0x20EF: [-91, 281, 0, -472, -56],
-    0x20F0: [827, -518, 0, -401, -126],
-    0x2E18: [500, 256, 472, 56, 415],
-    0x3016: [770, 270, 458, 56, 402],
-    0x3017: [770, 270, 458, 57, 402]
+  directory: 'Marks/Regular',
+  family: 'LatinModernMathJax_Marks',
+  testString: '\u00A0\u02DB\u02DD\u0305\u0309\u030F\u0311\u0323\u0326\u032C\u032D\u032E\u032F\u0330\u0331',
+  0x20: [0, 0, 332, 0, 0],
+  0xA0: [0, 0, 332, 0, 0],
+  0x2DB: [5, 211, 500, 135, 364],
+  0x2DD: [697, -511, 500, 128, 420],
+  0x305: [670, -630, 0, -460, -68],
+  0x309: [729, -520, 0, -361, -167],
+  0x30F: [732, -546, 0, -434, -142],
+  0x311: [742, -605, 0, -451, -77],
+  0x323: [-94, 200, 0, -318, -211],
+  0x326: [-66, 290, 0, -308, -220],
+  0x32C: [-96, 243, 0, -446, -82],
+  0x32D: [-108, 255, 0, -446, -82],
+  0x32E: [-96, 233, 0, -451, -77],
+  0x32F: [-118, 255, 0, -451, -77],
+  0x330: [-118, 310, 0, -449, -79],
+  0x331: [-131, 162, 0, -444, -83],
+  0x332: [-103, 143, 0, -460, -68],
+  0x333: [-103, 293, 0, -460, -68],
+  0x33F: [820, -630, 0, -460, -68],
+  0x2000: [0, 0, 500, 0, 0],
+  0x2001: [0, 0, 1000, 0, 0],
+  0x2007: [0, 0, 500, 0, 0],
+  0x2008: [0, 0, 250, 0, 0],
+  0x200B: [0, 0, 0, 0, 0],
+  0x200C: [0, 0, 0, 0, 0],
+  0x200D: [0, 0, 0, 0, 0],
+  0x2010: [245, -187, 333, 11, 276],
+  0x2012: [342, -302, 680, 56, 624],
+  0x2015: [270, -230, 1152, 56, 1096],
+  0x2017: [-103, 293, 504, 56, 448],
+  0x201A: [104, 195, 278, 79, 199],
+  0x201E: [104, 195, 472, 86, 400],
+  0x2022: [445, -55, 500, 55, 445],
+  0x202F: [0, 0, 200, 0, 0],
+  0x2030: [750, 56, 1140, 53, 1087],
+  0x2031: [750, 56, 1457, 56, 1417],
+  0x2036: [748, -430, 511, 60, 451],
+  0x2037: [748, -430, 711, 60, 651],
+  0x2039: [483, 0, 389, 111, 277],
+  0x203A: [483, 0, 389, 112, 278],
+  0x203B: [492, -8, 778, 147, 630],
+  0x203D: [756, 0, 472, 43, 402],
+  0x2052: [751, -1, 500, 56, 444],
+  0x205F: [0, 0, 222, 0, 0],
+  0x2060: [0, 0, 0, 0, 0],
+  0x2061: [640, 240, 960, 40, 920],
+  0x2062: [0, 0, 0, 0, 0],
+  0x2063: [0, 0, 0, 0, 0],
+  0x2064: [0, 0, 0, 0, 0],
+  0x20D0: [711, -601, 0, -475, -53],
+  0x20D1: [711, -601, 0, -475, -53],
+  0x20D2: [750, 250, 0, -284, -244],
+  0x20D3: [520, 20, 0, -284, -244],
+  0x20D4: [751, -589, 0, -473, -55],
+  0x20D5: [751, -589, 0, -473, -55],
+  0x20D6: [711, -521, 0, -472, -56],
+  0x20D8: [400, -100, 0, -414, -114],
+  0x20DB: [696, -604, 0, -530, 2],
+  0x20DC: [696, -604, 0, -640, 112],
+  0x20DD: [772, 272, 0, -786, 258],
+  0x20DE: [750, 250, 0, -764, 236],
+  0x20DF: [1028, 528, 0, -1042, 514],
+  0x20E1: [711, -521, 0, -499, -29],
+  0x20E4: [831, 311, 0, -924, 396],
+  0x20E5: [750, 250, 0, -458, -69],
+  0x20E6: [750, 250, 0, -352, -176],
+  0x20E8: [-96, 188, 0, -530, 2],
+  0x20E9: [726, -552, 0, -444, -84],
+  0x20EA: [510, 10, 0, -706, 178],
+  0x20EB: [750, 250, 0, -531, 3],
+  0x20EC: [-171, 281, 0, -475, -53],
+  0x20ED: [-171, 281, 0, -475, -53],
+  0x20EE: [-91, 281, 0, -472, -56],
+  0x20EF: [-91, 281, 0, -472, -56],
+  0x20F0: [827, -518, 0, -401, -126],
+  0x2E18: [500, 256, 472, 56, 415],
+  0x3016: [770, 270, 458, 56, 402],
+  0x3017: [770, 270, 458, 57, 402]
 };
 
 MathJax.Callback.Queue(

+ 9 - 9
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Misc/Regular/Main.js

@@ -18,15 +18,15 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['LatinModernMathJax_Misc'] = {
-    directory: 'Misc/Regular',
-    family: 'LatinModernMathJax_Misc',
-    testString: '\u00A0\u20A1\u20AC\u275A\u27A1',
-    0x20: [0, 0, 332, 0, 0],
-    0xA0: [0, 0, 332, 0, 0],
-    0x20A1: [728, 45, 722, 56, 665],
-    0x20AC: [705, 22, 627, 54, 571],
-    0x275A: [694, 83, 525, 227, 297],
-    0x27A1: [468, -31, 977, 56, 921]
+  directory: 'Misc/Regular',
+  family: 'LatinModernMathJax_Misc',
+  testString: '\u00A0\u20A1\u20AC\u275A\u27A1',
+  0x20: [0, 0, 332, 0, 0],
+  0xA0: [0, 0, 332, 0, 0],
+  0x20A1: [728, 45, 722, 56, 665],
+  0x20AC: [705, 22, 627, 54, 571],
+  0x275A: [694, 83, 525, 227, 297],
+  0x27A1: [468, -31, 977, 56, 921]
 };
 
 MathJax.Callback.Queue(

+ 88 - 88
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Operators/Regular/Main.js

@@ -18,94 +18,94 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['LatinModernMathJax_Operators'] = {
-    directory: 'Operators/Regular',
-    family: 'LatinModernMathJax_Operators',
-    testString: '\u00A0\u2206\u220A\u220C\u220E\u220F\u2210\u2211\u221F\u222C\u222D\u222E\u222F\u2230\u2231',
-    0x20: [0, 0, 332, 0, 0],
-    0xA0: [0, 0, 332, 0, 0],
-    0x2206: [716, 0, 833, 47, 785],
-    0x220A: [443, -57, 498, 56, 442],
-    0x220C: [730, 230, 667, 80, 587],
-    0x220E: [554, 0, 666, 56, 610],
-    0x220F: [750, 250, 944, 56, 887],
-    0x2210: [750, 250, 944, 56, 887],
-    0x2211: [750, 250, 1056, 56, 999],
-    0x221F: [679, -13, 778, 56, 722],
-    0x222C: [805, 306, 1035, 56, 979],
-    0x222D: [805, 306, 1405, 56, 1349],
-    0x222E: [805, 306, 665, 56, 609],
-    0x222F: [805, 306, 1035, 56, 979],
-    0x2230: [805, 306, 1405, 56, 1349],
-    0x2231: [805, 306, 695, 56, 667],
-    0x2232: [805, 306, 700, 56, 672],
-    0x2233: [805, 306, 682, 56, 644],
-    0x2236: [422, -78, 278, 86, 192],
-    0x2237: [422, -78, 516, 86, 430],
-    0x2238: [504, -230, 778, 56, 722],
-    0x2239: [422, -78, 906, 56, 850],
-    0x223A: [504, 4, 778, 56, 722],
-    0x223B: [536, 36, 773, 56, 717],
-    0x223E: [466, -34, 901, 56, 845],
-    0x223F: [492, -8, 778, 56, 722],
-    0x2244: [603, 103, 778, 56, 722],
-    0x2247: [603, 103, 778, 56, 722],
-    0x2249: [603, 103, 773, 56, 717],
-    0x224B: [541, 41, 773, 56, 717],
-    0x224C: [541, -36, 778, 56, 722],
-    0x2254: [422, -78, 906, 56, 850],
-    0x2255: [422, -78, 906, 56, 850],
-    0x2258: [619, -133, 778, 56, 722],
-    0x2259: [752, -133, 778, 56, 722],
-    0x225A: [752, -133, 778, 56, 722],
-    0x225B: [810, -133, 778, 56, 722],
-    0x225D: [793, -133, 778, 56, 722],
-    0x225E: [684, -133, 778, 56, 722],
-    0x225F: [803, -133, 778, 56, 722],
-    0x2262: [730, 230, 778, 56, 722],
-    0x2263: [561, 61, 778, 56, 722],
-    0x226D: [730, 230, 778, 56, 722],
-    0x2274: [691, 191, 776, 55, 719],
-    0x2275: [691, 191, 776, 55, 719],
-    0x2278: [776, 276, 778, 76, 701],
-    0x2279: [776, 276, 778, 76, 701],
-    0x2284: [730, 230, 778, 85, 693],
-    0x2285: [730, 230, 778, 85, 693],
-    0x228C: [604, 20, 667, 61, 607],
-    0x228D: [604, 20, 667, 61, 607],
-    0x229C: [592, 92, 796, 56, 740],
-    0x22A6: [684, 0, 445, 56, 389],
-    0x22A7: [684, 0, 445, 56, 389],
-    0x22AB: [684, 0, 653, 56, 597],
-    0x22B6: [400, -100, 1078, 56, 1022],
-    0x22B7: [400, -100, 1078, 56, 1022],
-    0x22B9: [603, 103, 818, 56, 762],
-    0x22BD: [684, 17, 642, 55, 585],
-    0x22BE: [679, 109, 900, 56, 844],
-    0x22BF: [679, -13, 778, 56, 722],
-    0x22C0: [780, 264, 833, 51, 781],
-    0x22C1: [764, 280, 833, 51, 781],
-    0x22C2: [772, 250, 833, 50, 784],
-    0x22C3: [750, 272, 833, 50, 784],
-    0x22C7: [586, 86, 802, 56, 745],
-    0x22D5: [750, 250, 778, 56, 722],
-    0x22DC: [631, 119, 778, 76, 702],
-    0x22DD: [631, 119, 778, 76, 702],
-    0x22E2: [730, 230, 778, 76, 702],
-    0x22E3: [730, 230, 778, 76, 702],
-    0x22E4: [627, 211, 778, 76, 702],
-    0x22E5: [627, 211, 778, 76, 702],
-    0x22F0: [500, 0, 613, 56, 556],
-    0x2A00: [743, 243, 1111, 63, 1049],
-    0x2A01: [743, 243, 1111, 63, 1049],
-    0x2A02: [743, 243, 1111, 63, 1049],
-    0x2A03: [750, 272, 833, 50, 784],
-    0x2A04: [750, 272, 833, 50, 784],
-    0x2A05: [764, 264, 833, 50, 784],
-    0x2A06: [764, 264, 833, 50, 784],
-    0x2A09: [740, 240, 1092, 55, 1036],
-    0x2A0C: [805, 306, 1775, 56, 1719],
-    0x2A11: [805, 306, 695, 56, 667],
-    0x2A2F: [496, -3, 778, 142, 636]
+  directory: 'Operators/Regular',
+  family: 'LatinModernMathJax_Operators',
+  testString: '\u00A0\u2206\u220A\u220C\u220E\u220F\u2210\u2211\u221F\u222C\u222D\u222E\u222F\u2230\u2231',
+  0x20: [0, 0, 332, 0, 0],
+  0xA0: [0, 0, 332, 0, 0],
+  0x2206: [716, 0, 833, 47, 785],
+  0x220A: [443, -57, 498, 56, 442],
+  0x220C: [730, 230, 667, 80, 587],
+  0x220E: [554, 0, 666, 56, 610],
+  0x220F: [750, 250, 944, 56, 887],
+  0x2210: [750, 250, 944, 56, 887],
+  0x2211: [750, 250, 1056, 56, 999],
+  0x221F: [679, -13, 778, 56, 722],
+  0x222C: [805, 306, 1035, 56, 979],
+  0x222D: [805, 306, 1405, 56, 1349],
+  0x222E: [805, 306, 665, 56, 609],
+  0x222F: [805, 306, 1035, 56, 979],
+  0x2230: [805, 306, 1405, 56, 1349],
+  0x2231: [805, 306, 695, 56, 667],
+  0x2232: [805, 306, 700, 56, 672],
+  0x2233: [805, 306, 682, 56, 644],
+  0x2236: [422, -78, 278, 86, 192],
+  0x2237: [422, -78, 516, 86, 430],
+  0x2238: [504, -230, 778, 56, 722],
+  0x2239: [422, -78, 906, 56, 850],
+  0x223A: [504, 4, 778, 56, 722],
+  0x223B: [536, 36, 773, 56, 717],
+  0x223E: [466, -34, 901, 56, 845],
+  0x223F: [492, -8, 778, 56, 722],
+  0x2244: [603, 103, 778, 56, 722],
+  0x2247: [603, 103, 778, 56, 722],
+  0x2249: [603, 103, 773, 56, 717],
+  0x224B: [541, 41, 773, 56, 717],
+  0x224C: [541, -36, 778, 56, 722],
+  0x2254: [422, -78, 906, 56, 850],
+  0x2255: [422, -78, 906, 56, 850],
+  0x2258: [619, -133, 778, 56, 722],
+  0x2259: [752, -133, 778, 56, 722],
+  0x225A: [752, -133, 778, 56, 722],
+  0x225B: [810, -133, 778, 56, 722],
+  0x225D: [793, -133, 778, 56, 722],
+  0x225E: [684, -133, 778, 56, 722],
+  0x225F: [803, -133, 778, 56, 722],
+  0x2262: [730, 230, 778, 56, 722],
+  0x2263: [561, 61, 778, 56, 722],
+  0x226D: [730, 230, 778, 56, 722],
+  0x2274: [691, 191, 776, 55, 719],
+  0x2275: [691, 191, 776, 55, 719],
+  0x2278: [776, 276, 778, 76, 701],
+  0x2279: [776, 276, 778, 76, 701],
+  0x2284: [730, 230, 778, 85, 693],
+  0x2285: [730, 230, 778, 85, 693],
+  0x228C: [604, 20, 667, 61, 607],
+  0x228D: [604, 20, 667, 61, 607],
+  0x229C: [592, 92, 796, 56, 740],
+  0x22A6: [684, 0, 445, 56, 389],
+  0x22A7: [684, 0, 445, 56, 389],
+  0x22AB: [684, 0, 653, 56, 597],
+  0x22B6: [400, -100, 1078, 56, 1022],
+  0x22B7: [400, -100, 1078, 56, 1022],
+  0x22B9: [603, 103, 818, 56, 762],
+  0x22BD: [684, 17, 642, 55, 585],
+  0x22BE: [679, 109, 900, 56, 844],
+  0x22BF: [679, -13, 778, 56, 722],
+  0x22C0: [780, 264, 833, 51, 781],
+  0x22C1: [764, 280, 833, 51, 781],
+  0x22C2: [772, 250, 833, 50, 784],
+  0x22C3: [750, 272, 833, 50, 784],
+  0x22C7: [586, 86, 802, 56, 745],
+  0x22D5: [750, 250, 778, 56, 722],
+  0x22DC: [631, 119, 778, 76, 702],
+  0x22DD: [631, 119, 778, 76, 702],
+  0x22E2: [730, 230, 778, 76, 702],
+  0x22E3: [730, 230, 778, 76, 702],
+  0x22E4: [627, 211, 778, 76, 702],
+  0x22E5: [627, 211, 778, 76, 702],
+  0x22F0: [500, 0, 613, 56, 556],
+  0x2A00: [743, 243, 1111, 63, 1049],
+  0x2A01: [743, 243, 1111, 63, 1049],
+  0x2A02: [743, 243, 1111, 63, 1049],
+  0x2A03: [750, 272, 833, 50, 784],
+  0x2A04: [750, 272, 833, 50, 784],
+  0x2A05: [764, 264, 833, 50, 784],
+  0x2A06: [764, 264, 833, 50, 784],
+  0x2A09: [740, 240, 1092, 55, 1036],
+  0x2A0C: [805, 306, 1775, 56, 1719],
+  0x2A11: [805, 306, 695, 56, 667],
+  0x2A2F: [496, -3, 778, 142, 636]
 };
 
 MathJax.Callback.Queue(

+ 57 - 57
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Script/Regular/Main.js

@@ -18,63 +18,63 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['LatinModernMathJax_Script'] = {
-    directory: 'Script/Regular',
-    family: 'LatinModernMathJax_Script',
-    testString: '\u00A0\u210B\u2110\u2112\u211B\u212C\u2130\u2131\u2133\uD835\uDC9C\uD835\uDC9E\uD835\uDC9F\uD835\uDCA2\uD835\uDCA5\uD835\uDCA6',
-    0x20: [0, 0, 332, 0, 0],
-    0xA0: [0, 0, 332, 0, 0],
-    0x210B: [690, 8, 1065, 40, 1024],
-    0x2110: [685, 14, 620, 40, 580],
-    0x2112: [685, 7, 770, 40, 730],
-    0x211B: [712, 6, 818, 40, 778],
-    0x212C: [712, 1, 778, 40, 737],
-    0x2130: [702, 12, 613, 40, 573],
-    0x2131: [699, 15, 904, 40, 865],
-    0x2133: [699, 13, 1149, 40, 1109],
-    0x1D49C: [694, 15, 857, 39, 817],
-    0x1D49E: [697, 15, 654, 39, 614],
-    0x1D49F: [716, -4, 871, 40, 831],
-    0x1D4A2: [697, 130, 685, 39, 644],
-    0x1D4A5: [692, 129, 698, 40, 658],
-    0x1D4A6: [690, 12, 989, 40, 949],
-    0x1D4A9: [706, 7, 1007, 40, 967],
-    0x1D4AA: [686, 18, 699, 40, 659],
-    0x1D4AB: [710, 11, 763, 40, 723],
-    0x1D4AC: [694, 24, 716, 40, 676],
-    0x1D4AE: [702, 12, 625, 40, 585],
-    0x1D4AF: [693, 6, 776, 39, 736],
-    0x1D4B0: [699, 16, 744, 41, 704],
-    0x1D4B1: [709, 9, 710, 40, 669],
-    0x1D4B2: [702, 5, 1028, 40, 988],
-    0x1D4B3: [706, 9, 870, 39, 829],
-    0x1D4B4: [702, 136, 628, 40, 588],
-    0x1D4B5: [696, 11, 726, 41, 687],
-    0x1D4D0: [711, 17, 969, 40, 930],
-    0x1D4D1: [727, 1, 916, 40, 876],
-    0x1D4D2: [709, 15, 745, 40, 705],
-    0x1D4D3: [727, 1, 1007, 40, 966],
-    0x1D4D4: [708, 12, 705, 40, 665],
-    0x1D4D5: [731, 14, 1005, 40, 966],
-    0x1D4D6: [705, 138, 790, 39, 749],
-    0x1D4D7: [699, 12, 1191, 39, 1150],
-    0x1D4D8: [703, 18, 715, 39, 675],
-    0x1D4D9: [701, 137, 771, 40, 732],
-    0x1D4DA: [709, 9, 1099, 39, 1058],
-    0x1D4DB: [710, 12, 861, 40, 822],
-    0x1D4DC: [710, 17, 1284, 40, 1244],
-    0x1D4DD: [712, 13, 1095, 40, 1054],
-    0x1D4DE: [707, 20, 822, 40, 781],
-    0x1D4DF: [726, 13, 880, 40, 840],
-    0x1D4E0: [705, 42, 839, 41, 799],
-    0x1D4E1: [732, 12, 923, 40, 882],
-    0x1D4E2: [715, 18, 722, 40, 682],
-    0x1D4E3: [697, 11, 910, 39, 870],
-    0x1D4E4: [709, 13, 853, 39, 813],
-    0x1D4E5: [702, 16, 784, 40, 744],
-    0x1D4E6: [710, 8, 1150, 40, 1110],
-    0x1D4E7: [712, 11, 970, 40, 930],
-    0x1D4E8: [709, 135, 738, 39, 698],
-    0x1D4E9: [705, 14, 800, 40, 760]
+  directory: 'Script/Regular',
+  family: 'LatinModernMathJax_Script',
+  testString: '\u00A0\u210B\u2110\u2112\u211B\u212C\u2130\u2131\u2133\uD835\uDC9C\uD835\uDC9E\uD835\uDC9F\uD835\uDCA2\uD835\uDCA5\uD835\uDCA6',
+  0x20: [0, 0, 332, 0, 0],
+  0xA0: [0, 0, 332, 0, 0],
+  0x210B: [690, 8, 1065, 40, 1024],
+  0x2110: [685, 14, 620, 40, 580],
+  0x2112: [685, 7, 770, 40, 730],
+  0x211B: [712, 6, 818, 40, 778],
+  0x212C: [712, 1, 778, 40, 737],
+  0x2130: [702, 12, 613, 40, 573],
+  0x2131: [699, 15, 904, 40, 865],
+  0x2133: [699, 13, 1149, 40, 1109],
+  0x1D49C: [694, 15, 857, 39, 817],
+  0x1D49E: [697, 15, 654, 39, 614],
+  0x1D49F: [716, -4, 871, 40, 831],
+  0x1D4A2: [697, 130, 685, 39, 644],
+  0x1D4A5: [692, 129, 698, 40, 658],
+  0x1D4A6: [690, 12, 989, 40, 949],
+  0x1D4A9: [706, 7, 1007, 40, 967],
+  0x1D4AA: [686, 18, 699, 40, 659],
+  0x1D4AB: [710, 11, 763, 40, 723],
+  0x1D4AC: [694, 24, 716, 40, 676],
+  0x1D4AE: [702, 12, 625, 40, 585],
+  0x1D4AF: [693, 6, 776, 39, 736],
+  0x1D4B0: [699, 16, 744, 41, 704],
+  0x1D4B1: [709, 9, 710, 40, 669],
+  0x1D4B2: [702, 5, 1028, 40, 988],
+  0x1D4B3: [706, 9, 870, 39, 829],
+  0x1D4B4: [702, 136, 628, 40, 588],
+  0x1D4B5: [696, 11, 726, 41, 687],
+  0x1D4D0: [711, 17, 969, 40, 930],
+  0x1D4D1: [727, 1, 916, 40, 876],
+  0x1D4D2: [709, 15, 745, 40, 705],
+  0x1D4D3: [727, 1, 1007, 40, 966],
+  0x1D4D4: [708, 12, 705, 40, 665],
+  0x1D4D5: [731, 14, 1005, 40, 966],
+  0x1D4D6: [705, 138, 790, 39, 749],
+  0x1D4D7: [699, 12, 1191, 39, 1150],
+  0x1D4D8: [703, 18, 715, 39, 675],
+  0x1D4D9: [701, 137, 771, 40, 732],
+  0x1D4DA: [709, 9, 1099, 39, 1058],
+  0x1D4DB: [710, 12, 861, 40, 822],
+  0x1D4DC: [710, 17, 1284, 40, 1244],
+  0x1D4DD: [712, 13, 1095, 40, 1054],
+  0x1D4DE: [707, 20, 822, 40, 781],
+  0x1D4DF: [726, 13, 880, 40, 840],
+  0x1D4E0: [705, 42, 839, 41, 799],
+  0x1D4E1: [732, 12, 923, 40, 882],
+  0x1D4E2: [715, 18, 722, 40, 682],
+  0x1D4E3: [697, 11, 910, 39, 870],
+  0x1D4E4: [709, 13, 853, 39, 813],
+  0x1D4E5: [702, 16, 784, 40, 744],
+  0x1D4E6: [710, 8, 1150, 40, 1110],
+  0x1D4E7: [712, 11, 970, 40, 930],
+  0x1D4E8: [709, 135, 738, 39, 698],
+  0x1D4E9: [705, 14, 800, 40, 760]
 };
 
 MathJax.Callback.Queue(

+ 180 - 180
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Size1/Regular/Main.js

@@ -18,186 +18,186 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['LatinModernMathJax_Size1'] = {
-    directory: 'Size1/Regular',
-    family: 'LatinModernMathJax_Size1',
-    testString: '\u00A0\u0302\u0303\u0305\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u0332\u0333\u033F',
-    0x20: [0, 0, 332, 0, 0],
-    0x28: [797, 297, 422, 116, 362],
-    0x29: [797, 297, 422, 60, 306],
-    0x2F: [905, 405, 617, 56, 561],
-    0x5B: [800, 300, 340, 161, 313],
-    0x5C: [905, 405, 617, 56, 561],
-    0x5D: [800, 300, 340, 27, 179],
-    0x7B: [800, 300, 540, 86, 454],
-    0x7C: [851, 351, 278, 117, 161],
-    0x7D: [800, 300, 540, 86, 454],
-    0xA0: [0, 0, 332, 0, 0],
-    0x302: [746, -572, 644, 0, 644],
-    0x303: [751, -550, 652, 0, 652],
-    0x305: [670, -630, 568, 0, 568],
-    0x306: [742, -578, 658, 0, 658],
-    0x30C: [740, -566, 644, 0, 644],
-    0x311: [756, -592, 658, 0, 658],
-    0x32C: [-96, 270, 644, 0, 644],
-    0x32D: [-108, 282, 644, 0, 644],
-    0x32E: [-96, 260, 658, 0, 658],
-    0x32F: [-118, 282, 658, 0, 658],
-    0x330: [-118, 319, 652, 0, 652],
-    0x332: [-103, 143, 568, 0, 568],
-    0x333: [-103, 293, 568, 0, 568],
-    0x33F: [820, -630, 568, 0, 568],
-    0x2016: [851, 351, 354, 56, 298],
-    0x2044: [905, 405, 617, 56, 561],
-    0x20D0: [711, -601, 667, 56, 611],
-    0x20D1: [711, -601, 667, 56, 611],
-    0x20D6: [711, -521, 659, 56, 603],
-    0x20D7: [711, -521, 659, 56, 603],
-    0x20E1: [711, -521, 715, 56, 659],
-    0x20E9: [730, -546, 735, 0, 735],
-    0x20EC: [-171, 281, 667, 56, 611],
-    0x20ED: [-171, 281, 667, 56, 611],
-    0x20EE: [-91, 281, 659, 56, 603],
-    0x20EF: [-91, 281, 659, 56, 603],
-    0x2190: [510, 10, 1463, 56, 1407],
-    0x2191: [912, 436, 500, 20, 480],
-    0x2192: [510, 10, 1463, 56, 1407],
-    0x2193: [936, 412, 500, 20, 480],
-    0x2194: [510, 10, 1442, 56, 1386],
-    0x2195: [757, 257, 572, 56, 516],
-    0x2196: [947, 436, 1495, 56, 1439],
-    0x2197: [947, 436, 1495, 56, 1439],
-    0x2198: [936, 447, 1495, 56, 1439],
-    0x2199: [936, 447, 1495, 56, 1439],
-    0x219A: [510, 10, 1463, 56, 1407],
-    0x219B: [510, 10, 1463, 56, 1407],
-    0x219E: [510, 10, 1463, 56, 1407],
-    0x219F: [912, 436, 572, 56, 516],
-    0x21A0: [510, 10, 1463, 56, 1407],
-    0x21A1: [936, 412, 572, 56, 516],
-    0x21A2: [510, 10, 1658, 56, 1602],
-    0x21A3: [510, 10, 1658, 56, 1602],
-    0x21A4: [510, 10, 1443, 56, 1387],
-    0x21A5: [912, 416, 632, 55, 576],
-    0x21A6: [510, 10, 1443, 56, 1387],
-    0x21A7: [916, 412, 632, 55, 576],
-    0x21A9: [550, 10, 1463, 56, 1407],
-    0x21AA: [550, 10, 1463, 56, 1407],
-    0x21AB: [550, 50, 1463, 56, 1407],
-    0x21AC: [550, 50, 1463, 56, 1407],
-    0x21AD: [510, 10, 1442, 56, 1386],
-    0x21AE: [510, 10, 1442, 56, 1386],
-    0x21B0: [834, 334, 797, 56, 741],
-    0x21B1: [834, 334, 797, 56, 741],
-    0x21B2: [834, 334, 797, 56, 741],
-    0x21B3: [834, 334, 797, 56, 741],
-    0x21B6: [659, -229, 1330, 56, 1274],
-    0x21B7: [659, -229, 1330, 56, 1274],
-    0x21BC: [503, -230, 1478, 56, 1422],
-    0x21BD: [270, 3, 1478, 56, 1422],
-    0x21BE: [930, 436, 441, 112, 385],
-    0x21BF: [930, 436, 441, 56, 329],
-    0x21C0: [503, -230, 1478, 56, 1422],
-    0x21C1: [270, 3, 1478, 56, 1422],
-    0x21C2: [936, 430, 441, 112, 385],
-    0x21C3: [936, 430, 441, 56, 329],
-    0x21C4: [672, 172, 1484, 56, 1428],
-    0x21C5: [936, 436, 896, 56, 840],
-    0x21C6: [672, 172, 1484, 56, 1428],
-    0x21C7: [750, 250, 1463, 56, 1407],
-    0x21C8: [912, 436, 992, 56, 936],
-    0x21C9: [750, 250, 1463, 56, 1407],
-    0x21CA: [936, 412, 992, 56, 936],
-    0x21CB: [600, 100, 1484, 56, 1428],
-    0x21CC: [600, 100, 1484, 56, 1428],
-    0x21CD: [520, 20, 1457, 56, 1401],
-    0x21CE: [520, 20, 1534, 56, 1478],
-    0x21CF: [520, 20, 1457, 56, 1401],
-    0x21D0: [520, 20, 1457, 56, 1401],
-    0x21D1: [909, 436, 652, 56, 596],
-    0x21D2: [520, 20, 1457, 56, 1401],
-    0x21D3: [936, 409, 652, 56, 596],
-    0x21D4: [520, 20, 1534, 56, 1478],
-    0x21D5: [961, 461, 652, 56, 596],
-    0x21D6: [915, 505, 1532, 56, 1476],
-    0x21D7: [915, 505, 1532, 56, 1476],
-    0x21D8: [1005, 415, 1532, 56, 1476],
-    0x21D9: [1005, 415, 1532, 56, 1476],
-    0x21DA: [617, 117, 1461, 56, 1405],
-    0x21DB: [617, 117, 1461, 56, 1405],
-    0x21DC: [510, 10, 1463, 56, 1407],
-    0x21DD: [510, 10, 1463, 56, 1407],
-    0x21E6: [520, 20, 1496, 56, 1440],
-    0x21E7: [948, 436, 652, 56, 596],
-    0x21E8: [520, 20, 1496, 56, 1440],
-    0x21E9: [936, 448, 652, 56, 596],
-    0x21F3: [948, 448, 652, 56, 596],
-    0x21F5: [936, 436, 896, 56, 840],
-    0x21F6: [990, 490, 1463, 56, 1407],
-    0x220F: [950, 450, 1278, 56, 1221],
-    0x2210: [950, 450, 1278, 56, 1221],
-    0x2211: [950, 450, 1444, 56, 1387],
-    0x221A: [850, 350, 1000, 110, 1020],
-    0x2223: [851, 351, 278, 117, 161],
-    0x2225: [851, 351, 354, 56, 298],
-    0x222B: [1361, 861, 999, 56, 943],
-    0x222C: [1361, 861, 1419, 56, 1363],
-    0x222D: [1361, 861, 1839, 56, 1783],
-    0x222E: [1361, 861, 999, 56, 943],
-    0x222F: [1361, 861, 1419, 56, 1363],
-    0x2230: [1361, 861, 1839, 56, 1783],
-    0x2231: [1361, 861, 999, 56, 943],
-    0x2232: [1361, 861, 999, 56, 943],
-    0x2233: [1361, 861, 999, 56, 943],
-    0x22A2: [684, 184, 946, 56, 890],
-    0x22A3: [684, 184, 946, 56, 890],
-    0x22A4: [684, 184, 986, 56, 930],
-    0x22A5: [684, 184, 946, 56, 890],
-    0x22C0: [957, 435, 1111, 66, 1043],
-    0x22C1: [935, 457, 1111, 66, 1043],
-    0x22C2: [939, 417, 1111, 66, 1046],
-    0x22C3: [917, 439, 1111, 66, 1046],
-    0x2308: [800, 300, 458, 178, 429],
-    0x2309: [800, 300, 458, 29, 280],
-    0x230A: [800, 300, 458, 178, 429],
-    0x230B: [800, 300, 458, 29, 280],
-    0x2329: [800, 300, 428, 124, 372],
-    0x232A: [800, 300, 428, 56, 304],
-    0x23B4: [730, -546, 735, 0, 735],
-    0x23B5: [-116, 300, 735, 0, 735],
-    0x23DC: [745, -540, 1006, 0, 1006],
-    0x23DD: [-110, 315, 1006, 0, 1006],
-    0x23DE: [815, -509, 993, 1, 994],
-    0x23DF: [-79, 385, 993, 0, 993],
-    0x23E0: [853, -613, 1048, 0, 1048],
-    0x23E1: [-183, 423, 1048, 0, 1048],
-    0x27A1: [468, -31, 1423, 56, 1367],
-    0x27E6: [800, 300, 444, 130, 422],
-    0x27E7: [800, 300, 444, 22, 314],
-    0x27E8: [800, 300, 428, 124, 372],
-    0x27E9: [800, 300, 428, 56, 304],
-    0x27EA: [800, 300, 623, 124, 567],
-    0x27EB: [800, 300, 623, 56, 499],
-    0x27EE: [813, 313, 305, 108, 249],
-    0x27EF: [813, 313, 305, 56, 197],
-    0x2906: [520, 20, 1437, 56, 1381],
-    0x2907: [520, 20, 1437, 56, 1381],
-    0x2A00: [902, 402, 1511, 104, 1408],
-    0x2A01: [902, 402, 1511, 104, 1408],
-    0x2A02: [902, 402, 1511, 104, 1408],
-    0x2A03: [917, 439, 1111, 66, 1046],
-    0x2A04: [917, 439, 1111, 66, 1046],
-    0x2A05: [936, 436, 1111, 66, 1046],
-    0x2A06: [936, 436, 1111, 66, 1046],
-    0x2A09: [879, 379, 1371, 56, 1315],
-    0x2A0C: [1361, 861, 2259, 56, 2203],
-    0x2A11: [1361, 861, 999, 56, 943],
-    0x2B04: [520, 20, 1508, 56, 1452],
-    0x2B05: [468, -31, 1423, 56, 1367],
-    0x2B06: [895, 416, 612, 87, 524],
-    0x2B07: [916, 395, 612, 87, 524],
-    0x2B0C: [468, -31, 1468, 89, 1379],
-    0x2B0D: [895, 395, 549, 56, 492],
-    0x2B31: [990, 490, 1463, 56, 1407]
+  directory: 'Size1/Regular',
+  family: 'LatinModernMathJax_Size1',
+  testString: '\u00A0\u0302\u0303\u0305\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u0332\u0333\u033F',
+  0x20: [0, 0, 332, 0, 0],
+  0x28: [797, 297, 422, 116, 362],
+  0x29: [797, 297, 422, 60, 306],
+  0x2F: [905, 405, 617, 56, 561],
+  0x5B: [800, 300, 340, 161, 313],
+  0x5C: [905, 405, 617, 56, 561],
+  0x5D: [800, 300, 340, 27, 179],
+  0x7B: [800, 300, 540, 86, 454],
+  0x7C: [851, 351, 278, 117, 161],
+  0x7D: [800, 300, 540, 86, 454],
+  0xA0: [0, 0, 332, 0, 0],
+  0x302: [746, -572, 644, 0, 644],
+  0x303: [751, -550, 652, 0, 652],
+  0x305: [670, -630, 568, 0, 568],
+  0x306: [742, -578, 658, 0, 658],
+  0x30C: [740, -566, 644, 0, 644],
+  0x311: [756, -592, 658, 0, 658],
+  0x32C: [-96, 270, 644, 0, 644],
+  0x32D: [-108, 282, 644, 0, 644],
+  0x32E: [-96, 260, 658, 0, 658],
+  0x32F: [-118, 282, 658, 0, 658],
+  0x330: [-118, 319, 652, 0, 652],
+  0x332: [-103, 143, 568, 0, 568],
+  0x333: [-103, 293, 568, 0, 568],
+  0x33F: [820, -630, 568, 0, 568],
+  0x2016: [851, 351, 354, 56, 298],
+  0x2044: [905, 405, 617, 56, 561],
+  0x20D0: [711, -601, 667, 56, 611],
+  0x20D1: [711, -601, 667, 56, 611],
+  0x20D6: [711, -521, 659, 56, 603],
+  0x20D7: [711, -521, 659, 56, 603],
+  0x20E1: [711, -521, 715, 56, 659],
+  0x20E9: [730, -546, 735, 0, 735],
+  0x20EC: [-171, 281, 667, 56, 611],
+  0x20ED: [-171, 281, 667, 56, 611],
+  0x20EE: [-91, 281, 659, 56, 603],
+  0x20EF: [-91, 281, 659, 56, 603],
+  0x2190: [510, 10, 1463, 56, 1407],
+  0x2191: [912, 436, 500, 20, 480],
+  0x2192: [510, 10, 1463, 56, 1407],
+  0x2193: [936, 412, 500, 20, 480],
+  0x2194: [510, 10, 1442, 56, 1386],
+  0x2195: [757, 257, 572, 56, 516],
+  0x2196: [947, 436, 1495, 56, 1439],
+  0x2197: [947, 436, 1495, 56, 1439],
+  0x2198: [936, 447, 1495, 56, 1439],
+  0x2199: [936, 447, 1495, 56, 1439],
+  0x219A: [510, 10, 1463, 56, 1407],
+  0x219B: [510, 10, 1463, 56, 1407],
+  0x219E: [510, 10, 1463, 56, 1407],
+  0x219F: [912, 436, 572, 56, 516],
+  0x21A0: [510, 10, 1463, 56, 1407],
+  0x21A1: [936, 412, 572, 56, 516],
+  0x21A2: [510, 10, 1658, 56, 1602],
+  0x21A3: [510, 10, 1658, 56, 1602],
+  0x21A4: [510, 10, 1443, 56, 1387],
+  0x21A5: [912, 416, 632, 55, 576],
+  0x21A6: [510, 10, 1443, 56, 1387],
+  0x21A7: [916, 412, 632, 55, 576],
+  0x21A9: [550, 10, 1463, 56, 1407],
+  0x21AA: [550, 10, 1463, 56, 1407],
+  0x21AB: [550, 50, 1463, 56, 1407],
+  0x21AC: [550, 50, 1463, 56, 1407],
+  0x21AD: [510, 10, 1442, 56, 1386],
+  0x21AE: [510, 10, 1442, 56, 1386],
+  0x21B0: [834, 334, 797, 56, 741],
+  0x21B1: [834, 334, 797, 56, 741],
+  0x21B2: [834, 334, 797, 56, 741],
+  0x21B3: [834, 334, 797, 56, 741],
+  0x21B6: [659, -229, 1330, 56, 1274],
+  0x21B7: [659, -229, 1330, 56, 1274],
+  0x21BC: [503, -230, 1478, 56, 1422],
+  0x21BD: [270, 3, 1478, 56, 1422],
+  0x21BE: [930, 436, 441, 112, 385],
+  0x21BF: [930, 436, 441, 56, 329],
+  0x21C0: [503, -230, 1478, 56, 1422],
+  0x21C1: [270, 3, 1478, 56, 1422],
+  0x21C2: [936, 430, 441, 112, 385],
+  0x21C3: [936, 430, 441, 56, 329],
+  0x21C4: [672, 172, 1484, 56, 1428],
+  0x21C5: [936, 436, 896, 56, 840],
+  0x21C6: [672, 172, 1484, 56, 1428],
+  0x21C7: [750, 250, 1463, 56, 1407],
+  0x21C8: [912, 436, 992, 56, 936],
+  0x21C9: [750, 250, 1463, 56, 1407],
+  0x21CA: [936, 412, 992, 56, 936],
+  0x21CB: [600, 100, 1484, 56, 1428],
+  0x21CC: [600, 100, 1484, 56, 1428],
+  0x21CD: [520, 20, 1457, 56, 1401],
+  0x21CE: [520, 20, 1534, 56, 1478],
+  0x21CF: [520, 20, 1457, 56, 1401],
+  0x21D0: [520, 20, 1457, 56, 1401],
+  0x21D1: [909, 436, 652, 56, 596],
+  0x21D2: [520, 20, 1457, 56, 1401],
+  0x21D3: [936, 409, 652, 56, 596],
+  0x21D4: [520, 20, 1534, 56, 1478],
+  0x21D5: [961, 461, 652, 56, 596],
+  0x21D6: [915, 505, 1532, 56, 1476],
+  0x21D7: [915, 505, 1532, 56, 1476],
+  0x21D8: [1005, 415, 1532, 56, 1476],
+  0x21D9: [1005, 415, 1532, 56, 1476],
+  0x21DA: [617, 117, 1461, 56, 1405],
+  0x21DB: [617, 117, 1461, 56, 1405],
+  0x21DC: [510, 10, 1463, 56, 1407],
+  0x21DD: [510, 10, 1463, 56, 1407],
+  0x21E6: [520, 20, 1496, 56, 1440],
+  0x21E7: [948, 436, 652, 56, 596],
+  0x21E8: [520, 20, 1496, 56, 1440],
+  0x21E9: [936, 448, 652, 56, 596],
+  0x21F3: [948, 448, 652, 56, 596],
+  0x21F5: [936, 436, 896, 56, 840],
+  0x21F6: [990, 490, 1463, 56, 1407],
+  0x220F: [950, 450, 1278, 56, 1221],
+  0x2210: [950, 450, 1278, 56, 1221],
+  0x2211: [950, 450, 1444, 56, 1387],
+  0x221A: [850, 350, 1000, 110, 1020],
+  0x2223: [851, 351, 278, 117, 161],
+  0x2225: [851, 351, 354, 56, 298],
+  0x222B: [1361, 861, 999, 56, 943],
+  0x222C: [1361, 861, 1419, 56, 1363],
+  0x222D: [1361, 861, 1839, 56, 1783],
+  0x222E: [1361, 861, 999, 56, 943],
+  0x222F: [1361, 861, 1419, 56, 1363],
+  0x2230: [1361, 861, 1839, 56, 1783],
+  0x2231: [1361, 861, 999, 56, 943],
+  0x2232: [1361, 861, 999, 56, 943],
+  0x2233: [1361, 861, 999, 56, 943],
+  0x22A2: [684, 184, 946, 56, 890],
+  0x22A3: [684, 184, 946, 56, 890],
+  0x22A4: [684, 184, 986, 56, 930],
+  0x22A5: [684, 184, 946, 56, 890],
+  0x22C0: [957, 435, 1111, 66, 1043],
+  0x22C1: [935, 457, 1111, 66, 1043],
+  0x22C2: [939, 417, 1111, 66, 1046],
+  0x22C3: [917, 439, 1111, 66, 1046],
+  0x2308: [800, 300, 458, 178, 429],
+  0x2309: [800, 300, 458, 29, 280],
+  0x230A: [800, 300, 458, 178, 429],
+  0x230B: [800, 300, 458, 29, 280],
+  0x2329: [800, 300, 428, 124, 372],
+  0x232A: [800, 300, 428, 56, 304],
+  0x23B4: [730, -546, 735, 0, 735],
+  0x23B5: [-116, 300, 735, 0, 735],
+  0x23DC: [745, -540, 1006, 0, 1006],
+  0x23DD: [-110, 315, 1006, 0, 1006],
+  0x23DE: [815, -509, 993, 1, 994],
+  0x23DF: [-79, 385, 993, 0, 993],
+  0x23E0: [853, -613, 1048, 0, 1048],
+  0x23E1: [-183, 423, 1048, 0, 1048],
+  0x27A1: [468, -31, 1423, 56, 1367],
+  0x27E6: [800, 300, 444, 130, 422],
+  0x27E7: [800, 300, 444, 22, 314],
+  0x27E8: [800, 300, 428, 124, 372],
+  0x27E9: [800, 300, 428, 56, 304],
+  0x27EA: [800, 300, 623, 124, 567],
+  0x27EB: [800, 300, 623, 56, 499],
+  0x27EE: [813, 313, 305, 108, 249],
+  0x27EF: [813, 313, 305, 56, 197],
+  0x2906: [520, 20, 1437, 56, 1381],
+  0x2907: [520, 20, 1437, 56, 1381],
+  0x2A00: [902, 402, 1511, 104, 1408],
+  0x2A01: [902, 402, 1511, 104, 1408],
+  0x2A02: [902, 402, 1511, 104, 1408],
+  0x2A03: [917, 439, 1111, 66, 1046],
+  0x2A04: [917, 439, 1111, 66, 1046],
+  0x2A05: [936, 436, 1111, 66, 1046],
+  0x2A06: [936, 436, 1111, 66, 1046],
+  0x2A09: [879, 379, 1371, 56, 1315],
+  0x2A0C: [1361, 861, 2259, 56, 2203],
+  0x2A11: [1361, 861, 999, 56, 943],
+  0x2B04: [520, 20, 1508, 56, 1452],
+  0x2B05: [468, -31, 1423, 56, 1367],
+  0x2B06: [895, 416, 612, 87, 524],
+  0x2B07: [916, 395, 612, 87, 524],
+  0x2B0C: [468, -31, 1468, 89, 1379],
+  0x2B0D: [895, 395, 549, 56, 492],
+  0x2B31: [990, 490, 1463, 56, 1407]
 };
 
 MathJax.Callback.Queue(

+ 52 - 52
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Size4/Regular/Main.js

@@ -18,58 +18,58 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['LatinModernMathJax_Size4'] = {
-    directory: 'Size4/Regular',
-    family: 'LatinModernMathJax_Size4',
-    testString: '\u00A0\u0302\u0303\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u2016\u2044\u20E9\u221A',
-    0x20: [0, 0, 332, 0, 0],
-    0x28: [1146, 646, 597, 179, 539],
-    0x29: [1146, 646, 597, 58, 418],
-    0x2F: [1722, 1222, 1222, 56, 1166],
-    0x5B: [1150, 650, 472, 226, 448],
-    0x5C: [1722, 1222, 1222, 56, 1166],
-    0x5D: [1150, 650, 472, 24, 246],
-    0x7B: [1150, 650, 667, 97, 569],
-    0x7C: [1292, 792, 278, 109, 169],
-    0x7D: [1150, 650, 667, 98, 570],
-    0xA0: [0, 0, 332, 0, 0],
-    0x302: [747, -571, 1100, 0, 1100],
-    0x303: [762, -539, 1115, 0, 1115],
-    0x306: [742, -576, 1120, 0, 1120],
-    0x30C: [741, -565, 1100, 0, 1100],
-    0x311: [759, -592, 1120, 0, 1120],
-    0x32C: [-96, 273, 1100, 0, 1100],
-    0x32D: [-108, 285, 1100, 0, 1100],
-    0x32E: [-96, 263, 1120, 0, 1120],
-    0x32F: [-118, 285, 1120, 0, 1120],
-    0x330: [-118, 341, 1115, 0, 1115],
-    0x2016: [1292, 792, 386, 56, 330],
-    0x2044: [1722, 1222, 1222, 56, 1166],
-    0x20E9: [750, -527, 1860, 0, 1860],
-    0x221A: [1750, 1250, 1000, 111, 1020],
-    0x2223: [1292, 792, 278, 109, 169],
-    0x2225: [1292, 792, 386, 56, 330],
-    0x2308: [1150, 650, 528, 196, 502],
-    0x2309: [1150, 650, 528, 26, 332],
-    0x230A: [1150, 650, 528, 196, 502],
-    0x230B: [1150, 650, 528, 26, 332],
-    0x2329: [1150, 650, 611, 159, 555],
-    0x232A: [1150, 650, 611, 56, 452],
-    0x23B4: [750, -527, 1860, 0, 1860],
-    0x23B5: [-97, 320, 1860, 0, 1860],
-    0x23DC: [774, -506, 2516, 0, 2516],
-    0x23DD: [-76, 344, 2516, 0, 2516],
-    0x23DE: [833, -502, 2498, 0, 2498],
-    0x23DF: [-71, 402, 2498, 0, 2498],
-    0x23E0: [863, -607, 2564, 0, 2564],
-    0x23E1: [-177, 433, 2564, 0, 2564],
-    0x27E6: [1150, 650, 660, 211, 637],
-    0x27E7: [1150, 650, 660, 23, 449],
-    0x27E8: [1150, 650, 611, 159, 555],
-    0x27E9: [1150, 650, 611, 56, 452],
-    0x27EA: [1150, 650, 905, 159, 849],
-    0x27EB: [1150, 650, 905, 56, 746],
-    0x27EE: [1168, 668, 432, 176, 376],
-    0x27EF: [1168, 668, 432, 56, 256]
+  directory: 'Size4/Regular',
+  family: 'LatinModernMathJax_Size4',
+  testString: '\u00A0\u0302\u0303\u0306\u030C\u0311\u032C\u032D\u032E\u032F\u0330\u2016\u2044\u20E9\u221A',
+  0x20: [0, 0, 332, 0, 0],
+  0x28: [1146, 646, 597, 179, 539],
+  0x29: [1146, 646, 597, 58, 418],
+  0x2F: [1722, 1222, 1222, 56, 1166],
+  0x5B: [1150, 650, 472, 226, 448],
+  0x5C: [1722, 1222, 1222, 56, 1166],
+  0x5D: [1150, 650, 472, 24, 246],
+  0x7B: [1150, 650, 667, 97, 569],
+  0x7C: [1292, 792, 278, 109, 169],
+  0x7D: [1150, 650, 667, 98, 570],
+  0xA0: [0, 0, 332, 0, 0],
+  0x302: [747, -571, 1100, 0, 1100],
+  0x303: [762, -539, 1115, 0, 1115],
+  0x306: [742, -576, 1120, 0, 1120],
+  0x30C: [741, -565, 1100, 0, 1100],
+  0x311: [759, -592, 1120, 0, 1120],
+  0x32C: [-96, 273, 1100, 0, 1100],
+  0x32D: [-108, 285, 1100, 0, 1100],
+  0x32E: [-96, 263, 1120, 0, 1120],
+  0x32F: [-118, 285, 1120, 0, 1120],
+  0x330: [-118, 341, 1115, 0, 1115],
+  0x2016: [1292, 792, 386, 56, 330],
+  0x2044: [1722, 1222, 1222, 56, 1166],
+  0x20E9: [750, -527, 1860, 0, 1860],
+  0x221A: [1750, 1250, 1000, 111, 1020],
+  0x2223: [1292, 792, 278, 109, 169],
+  0x2225: [1292, 792, 386, 56, 330],
+  0x2308: [1150, 650, 528, 196, 502],
+  0x2309: [1150, 650, 528, 26, 332],
+  0x230A: [1150, 650, 528, 196, 502],
+  0x230B: [1150, 650, 528, 26, 332],
+  0x2329: [1150, 650, 611, 159, 555],
+  0x232A: [1150, 650, 611, 56, 452],
+  0x23B4: [750, -527, 1860, 0, 1860],
+  0x23B5: [-97, 320, 1860, 0, 1860],
+  0x23DC: [774, -506, 2516, 0, 2516],
+  0x23DD: [-76, 344, 2516, 0, 2516],
+  0x23DE: [833, -502, 2498, 0, 2498],
+  0x23DF: [-71, 402, 2498, 0, 2498],
+  0x23E0: [863, -607, 2564, 0, 2564],
+  0x23E1: [-177, 433, 2564, 0, 2564],
+  0x27E6: [1150, 650, 660, 211, 637],
+  0x27E7: [1150, 650, 660, 23, 449],
+  0x27E8: [1150, 650, 611, 159, 555],
+  0x27E9: [1150, 650, 611, 56, 452],
+  0x27EA: [1150, 650, 905, 159, 849],
+  0x27EB: [1150, 650, 905, 56, 746],
+  0x27EE: [1168, 668, 432, 176, 376],
+  0x27EF: [1168, 668, 432, 56, 256]
 };
 
 MathJax.Callback.Queue(

+ 56 - 56
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Latin-Modern/Symbols/Regular/Main.js

@@ -18,62 +18,62 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['LatinModernMathJax_Symbols'] = {
-    directory: 'Symbols/Regular',
-    family: 'LatinModernMathJax_Symbols',
-    testString: '\u00A0\u2300\u2305\u2306\u2310\u2319\u231C\u231D\u231E\u231F\u2320\u2321\u2329\u232A\u239B',
-    0x20: [0, 0, 332, 0, 0],
-    0xA0: [0, 0, 332, 0, 0],
-    0x2300: [596, 96, 778, 43, 735],
-    0x2305: [270, 155, 778, 56, 722],
-    0x2306: [367, 252, 778, 56, 722],
-    0x2310: [367, -133, 667, 47, 620],
-    0x2319: [367, -133, 667, 47, 620],
-    0x231C: [770, -490, 392, 56, 336],
-    0x231D: [770, -490, 392, 56, 336],
-    0x231E: [10, 270, 392, 56, 336],
-    0x231F: [10, 270, 392, 56, 336],
-    0x2320: [1344, 0, 1185, 551, 1129],
-    0x2321: [1322, 22, 1185, 56, 685],
-    0x2329: [750, 250, 389, 110, 336],
-    0x232A: [750, 250, 389, 53, 279],
-    0x239B: [1495, 0, 875, 277, 823],
-    0x239C: [498, 0, 875, 277, 379],
-    0x239D: [1495, 0, 875, 277, 823],
-    0x239E: [1495, 0, 875, 52, 598],
-    0x239F: [498, 0, 875, 496, 598],
-    0x23A0: [1495, 0, 875, 52, 598],
-    0x23A1: [1500, 0, 667, 321, 647],
-    0x23A2: [1000, 0, 667, 321, 381],
-    0x23A3: [1500, 0, 667, 321, 647],
-    0x23A4: [1500, 0, 667, 20, 346],
-    0x23A5: [1000, 0, 667, 286, 346],
-    0x23A6: [1500, 0, 667, 20, 346],
-    0x23A7: [750, 0, 902, 400, 755],
-    0x23A8: [1500, 0, 902, 147, 502],
-    0x23A9: [750, 0, 902, 400, 755],
-    0x23AA: [748, 0, 902, 400, 502],
-    0x23AB: [750, 0, 902, 147, 502],
-    0x23AC: [1500, 0, 902, 400, 755],
-    0x23AD: [750, 0, 902, 147, 502],
-    0x23B2: [846, 0, 1576, 56, 1520],
-    0x23B3: [847, 0, 1576, 57, 1520],
-    0x23B7: [1820, 0, 1056, 111, 742],
-    0x27C2: [684, 0, 778, 56, 722],
-    0x27D8: [684, 184, 946, 56, 890],
-    0x27D9: [684, 184, 986, 56, 930],
-    0x27DA: [684, 0, 1026, 56, 970],
-    0x27DB: [684, 0, 1026, 56, 970],
-    0x27DC: [400, -100, 948, 56, 892],
-    0x27DD: [684, 184, 946, 56, 890],
-    0x27DE: [684, 184, 946, 56, 890],
-    0x27E0: [610, 110, 572, 56, 516],
-    0x27E1: [501, 1, 614, 56, 558],
-    0x27E2: [501, 1, 730, 56, 674],
-    0x27E3: [501, 1, 730, 56, 674],
-    0x27E6: [750, 250, 410, 118, 388],
-    0x27E7: [750, 250, 410, 22, 292],
-    0x27EA: [750, 250, 570, 110, 517],
-    0x27EB: [750, 250, 570, 53, 460]
+  directory: 'Symbols/Regular',
+  family: 'LatinModernMathJax_Symbols',
+  testString: '\u00A0\u2300\u2305\u2306\u2310\u2319\u231C\u231D\u231E\u231F\u2320\u2321\u2329\u232A\u239B',
+  0x20: [0, 0, 332, 0, 0],
+  0xA0: [0, 0, 332, 0, 0],
+  0x2300: [596, 96, 778, 43, 735],
+  0x2305: [270, 155, 778, 56, 722],
+  0x2306: [367, 252, 778, 56, 722],
+  0x2310: [367, -133, 667, 47, 620],
+  0x2319: [367, -133, 667, 47, 620],
+  0x231C: [770, -490, 392, 56, 336],
+  0x231D: [770, -490, 392, 56, 336],
+  0x231E: [10, 270, 392, 56, 336],
+  0x231F: [10, 270, 392, 56, 336],
+  0x2320: [1344, 0, 1185, 551, 1129],
+  0x2321: [1322, 22, 1185, 56, 685],
+  0x2329: [750, 250, 389, 110, 336],
+  0x232A: [750, 250, 389, 53, 279],
+  0x239B: [1495, 0, 875, 277, 823],
+  0x239C: [498, 0, 875, 277, 379],
+  0x239D: [1495, 0, 875, 277, 823],
+  0x239E: [1495, 0, 875, 52, 598],
+  0x239F: [498, 0, 875, 496, 598],
+  0x23A0: [1495, 0, 875, 52, 598],
+  0x23A1: [1500, 0, 667, 321, 647],
+  0x23A2: [1000, 0, 667, 321, 381],
+  0x23A3: [1500, 0, 667, 321, 647],
+  0x23A4: [1500, 0, 667, 20, 346],
+  0x23A5: [1000, 0, 667, 286, 346],
+  0x23A6: [1500, 0, 667, 20, 346],
+  0x23A7: [750, 0, 902, 400, 755],
+  0x23A8: [1500, 0, 902, 147, 502],
+  0x23A9: [750, 0, 902, 400, 755],
+  0x23AA: [748, 0, 902, 400, 502],
+  0x23AB: [750, 0, 902, 147, 502],
+  0x23AC: [1500, 0, 902, 400, 755],
+  0x23AD: [750, 0, 902, 147, 502],
+  0x23B2: [846, 0, 1576, 56, 1520],
+  0x23B3: [847, 0, 1576, 57, 1520],
+  0x23B7: [1820, 0, 1056, 111, 742],
+  0x27C2: [684, 0, 778, 56, 722],
+  0x27D8: [684, 184, 946, 56, 890],
+  0x27D9: [684, 184, 986, 56, 930],
+  0x27DA: [684, 0, 1026, 56, 970],
+  0x27DB: [684, 0, 1026, 56, 970],
+  0x27DC: [400, -100, 948, 56, 892],
+  0x27DD: [684, 184, 946, 56, 890],
+  0x27DE: [684, 184, 946, 56, 890],
+  0x27E0: [610, 110, 572, 56, 516],
+  0x27E1: [501, 1, 614, 56, 558],
+  0x27E2: [501, 1, 730, 56, 674],
+  0x27E3: [501, 1, 730, 56, 674],
+  0x27E6: [750, 250, 410, 118, 388],
+  0x27E7: [750, 250, 410, 22, 292],
+  0x27EA: [750, 250, 570, 110, 517],
+  0x27EB: [750, 250, 570, 53, 460]
 };
 
 MathJax.Callback.Queue(

+ 9 - 9
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Arrows/Regular/Main.js

@@ -18,15 +18,15 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['NeoEulerMathJax_Arrows'] = {
-    directory: 'Arrows/Regular',
-    family: 'NeoEulerMathJax_Arrows',
-    testString: '\u00A0\u21A4\u27FB\u27FD\u27FE',
-    0x20: [0, 0, 333, 0, 0],
-    0xA0: [0, 0, 333, 0, 0],
-    0x21A4: [500, 0, 1000, 56, 944],
-    0x27FB: [500, 0, 1690, 56, 1634],
-    0x27FD: [598, 98, 1700, 76, 1643],
-    0x27FE: [598, 98, 1700, 75, 1643]
+  directory: 'Arrows/Regular',
+  family: 'NeoEulerMathJax_Arrows',
+  testString: '\u00A0\u21A4\u27FB\u27FD\u27FE',
+  0x20: [0, 0, 333, 0, 0],
+  0xA0: [0, 0, 333, 0, 0],
+  0x21A4: [500, 0, 1000, 56, 944],
+  0x27FB: [500, 0, 1690, 56, 1634],
+  0x27FD: [598, 98, 1700, 76, 1643],
+  0x27FE: [598, 98, 1700, 75, 1643]
 };
 
 MathJax.Callback.Queue(

+ 25 - 25
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Marks/Regular/Main.js

@@ -18,31 +18,31 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['NeoEulerMathJax_Marks'] = {
-    directory: 'Marks/Regular',
-    family: 'NeoEulerMathJax_Marks',
-    testString: '\u00A0\u0305\u030F\u0311\u0323\u0324\u0325\u032E\u032F\u0330\u0331\u0332\u2036\u2037\u20D6',
-    0x20: [0, 0, 333, 0, 0],
-    0xA0: [0, 0, 333, 0, 0],
-    0x305: [615, -570, 0, -445, -53],
-    0x30F: [683, -502, 0, -497, -154],
-    0x311: [671, -513, 0, -390, -108],
-    0x323: [-93, 193, 0, -225, -125],
-    0x324: [-93, 193, 0, -399, -100],
-    0x325: [-43, 243, 0, -349, -149],
-    0x32E: [-78, 207, 0, -388, -83],
-    0x32F: [-78, 207, 0, -388, -83],
-    0x330: [-95, 196, 0, -389, -68],
-    0x331: [-116, 169, 0, -405, -93],
-    0x332: [-120, 165, 0, -445, -53],
-    0x2036: [782, -422, 433, 30, 386],
-    0x2037: [782, -422, 626, 30, 578],
-    0x20D6: [750, -479, 287, -131, 287],
-    0x20DB: [642, -542, 0, -599, -100],
-    0x20DC: [642, -542, 0, -799, -100],
-    0x20DD: [716, 216, 1000, 55, 944],
-    0x20E1: [750, -479, 449, 0, 449],
-    0x20EE: [50, 221, 287, -131, 287],
-    0x20EF: [50, 221, 287, 0, 418]
+  directory: 'Marks/Regular',
+  family: 'NeoEulerMathJax_Marks',
+  testString: '\u00A0\u0305\u030F\u0311\u0323\u0324\u0325\u032E\u032F\u0330\u0331\u0332\u2036\u2037\u20D6',
+  0x20: [0, 0, 333, 0, 0],
+  0xA0: [0, 0, 333, 0, 0],
+  0x305: [615, -570, 0, -445, -53],
+  0x30F: [683, -502, 0, -497, -154],
+  0x311: [671, -513, 0, -390, -108],
+  0x323: [-93, 193, 0, -225, -125],
+  0x324: [-93, 193, 0, -399, -100],
+  0x325: [-43, 243, 0, -349, -149],
+  0x32E: [-78, 207, 0, -388, -83],
+  0x32F: [-78, 207, 0, -388, -83],
+  0x330: [-95, 196, 0, -389, -68],
+  0x331: [-116, 169, 0, -405, -93],
+  0x332: [-120, 165, 0, -445, -53],
+  0x2036: [782, -422, 433, 30, 386],
+  0x2037: [782, -422, 626, 30, 578],
+  0x20D6: [750, -479, 287, -131, 287],
+  0x20DB: [642, -542, 0, -599, -100],
+  0x20DC: [642, -542, 0, -799, -100],
+  0x20DD: [716, 216, 1000, 55, 944],
+  0x20E1: [750, -479, 449, 0, 449],
+  0x20EE: [50, 221, 287, -131, 287],
+  0x20EF: [50, 221, 287, 0, 418]
 };
 
 MathJax.Callback.Queue(

+ 32 - 32
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Size3/Regular/Main.js

@@ -18,38 +18,38 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['NeoEulerMathJax_Size3'] = {
-    directory: 'Size3/Regular',
-    family: 'NeoEulerMathJax_Size3',
-    testString: '\u00A0\u2016\u2044\u2215\u221A\u2223\u2225\u2308\u2309\u230A\u230B\u2329\u232A\u23DC\u23DD',
-    0x20: [0, 0, 333, 0, 0],
-    0x28: [2199, 199, 734, 208, 714],
-    0x29: [2199, 199, 734, 20, 526],
-    0x2F: [2199, 200, 1044, 54, 992],
-    0x5B: [2274, 125, 527, 250, 513],
-    0x5C: [2199, 200, 1044, 54, 992],
-    0x5D: [2274, 125, 527, 14, 277],
-    0x7B: [2199, 200, 750, 131, 618],
-    0x7C: [2498, 208, 213, 86, 126],
-    0x7D: [2199, 200, 750, 131, 618],
-    0xA0: [0, 0, 333, 0, 0],
-    0x2016: [2498, 208, 403, 86, 316],
-    0x2044: [2199, 200, 1044, 54, 992],
-    0x2215: [2199, 200, 1044, 54, 992],
-    0x221A: [2402, 1, 1000, 111, 1025],
-    0x2223: [2498, 208, 213, 86, 126],
-    0x2225: [1897, 208, 403, 86, 316],
-    0x2308: [2199, 200, 583, 250, 568],
-    0x2309: [2199, 200, 583, 14, 332],
-    0x230A: [2199, 200, 583, 250, 568],
-    0x230B: [2199, 200, 583, 14, 332],
-    0x2329: [2134, 232, 757, 123, 648],
-    0x232A: [2134, 232, 818, 100, 625],
-    0x23DC: [800, -308, 2511, 56, 2455],
-    0x23DD: [248, 244, 2511, 56, 2455],
-    0x23DE: [944, -457, 2511, 56, 2455],
-    0x23DF: [97, 390, 2511, 56, 2455],
-    0x27E8: [1536, 234, 629, 109, 520],
-    0x27E9: [1536, 234, 693, 89, 500]
+  directory: 'Size3/Regular',
+  family: 'NeoEulerMathJax_Size3',
+  testString: '\u00A0\u2016\u2044\u2215\u221A\u2223\u2225\u2308\u2309\u230A\u230B\u2329\u232A\u23DC\u23DD',
+  0x20: [0, 0, 333, 0, 0],
+  0x28: [2199, 199, 734, 208, 714],
+  0x29: [2199, 199, 734, 20, 526],
+  0x2F: [2199, 200, 1044, 54, 992],
+  0x5B: [2274, 125, 527, 250, 513],
+  0x5C: [2199, 200, 1044, 54, 992],
+  0x5D: [2274, 125, 527, 14, 277],
+  0x7B: [2199, 200, 750, 131, 618],
+  0x7C: [2498, 208, 213, 86, 126],
+  0x7D: [2199, 200, 750, 131, 618],
+  0xA0: [0, 0, 333, 0, 0],
+  0x2016: [2498, 208, 403, 86, 316],
+  0x2044: [2199, 200, 1044, 54, 992],
+  0x2215: [2199, 200, 1044, 54, 992],
+  0x221A: [2402, 1, 1000, 111, 1025],
+  0x2223: [2498, 208, 213, 86, 126],
+  0x2225: [1897, 208, 403, 86, 316],
+  0x2308: [2199, 200, 583, 250, 568],
+  0x2309: [2199, 200, 583, 14, 332],
+  0x230A: [2199, 200, 583, 250, 568],
+  0x230B: [2199, 200, 583, 14, 332],
+  0x2329: [2134, 232, 757, 123, 648],
+  0x232A: [2134, 232, 818, 100, 625],
+  0x23DC: [800, -308, 2511, 56, 2455],
+  0x23DD: [248, 244, 2511, 56, 2455],
+  0x23DE: [944, -457, 2511, 56, 2455],
+  0x23DF: [97, 390, 2511, 56, 2455],
+  0x27E8: [1536, 234, 629, 109, 520],
+  0x27E9: [1536, 234, 693, 89, 500]
 };
 
 MathJax.Callback.Queue(

+ 29 - 29
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Symbols/Regular/Main.js

@@ -18,35 +18,35 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['NeoEulerMathJax_Symbols'] = {
-    directory: 'Symbols/Regular',
-    family: 'NeoEulerMathJax_Symbols',
-    testString: '\u00A0\u2320\u2321\u2329\u232A\u239B\u239C\u239D\u239E\u239F\u23A0\u23A1\u23A2\u23A3\u23A4',
-    0x20: [0, 0, 333, 0, 0],
-    0xA0: [0, 0, 333, 0, 0],
-    0x2320: [915, 0, 444, 180, 452],
-    0x2321: [925, 0, 444, -23, 265],
-    0x2329: [737, 237, 388, 107, 330],
-    0x232A: [737, 237, 388, 57, 280],
-    0x239B: [1808, 0, 883, 292, 851],
-    0x239C: [620, 0, 875, 292, 403],
-    0x239D: [1808, 0, 883, 292, 851],
-    0x239E: [1808, 0, 873, 22, 581],
-    0x239F: [620, 0, 875, 472, 583],
-    0x23A0: [1808, 0, 873, 22, 581],
-    0x23A1: [1799, 0, 666, 326, 659],
-    0x23A2: [602, 0, 666, 326, 395],
-    0x23A3: [1800, -1, 666, 326, 659],
-    0x23A4: [1799, 0, 666, 7, 340],
-    0x23A5: [602, 0, 666, 271, 340],
-    0x23A6: [1800, -1, 666, 7, 340],
-    0x23A7: [909, 0, 889, 395, 718],
-    0x23A8: [1820, 0, 889, 170, 492],
-    0x23A9: [909, 0, 889, 395, 718],
-    0x23AA: [320, 0, 889, 395, 492],
-    0x23AB: [909, 0, 889, 170, 492],
-    0x23AC: [1820, 0, 889, 395, 718],
-    0x23AD: [909, 0, 889, 170, 492],
-    0x23AE: [381, 0, 444, 181, 265]
+  directory: 'Symbols/Regular',
+  family: 'NeoEulerMathJax_Symbols',
+  testString: '\u00A0\u2320\u2321\u2329\u232A\u239B\u239C\u239D\u239E\u239F\u23A0\u23A1\u23A2\u23A3\u23A4',
+  0x20: [0, 0, 333, 0, 0],
+  0xA0: [0, 0, 333, 0, 0],
+  0x2320: [915, 0, 444, 180, 452],
+  0x2321: [925, 0, 444, -23, 265],
+  0x2329: [737, 237, 388, 107, 330],
+  0x232A: [737, 237, 388, 57, 280],
+  0x239B: [1808, 0, 883, 292, 851],
+  0x239C: [620, 0, 875, 292, 403],
+  0x239D: [1808, 0, 883, 292, 851],
+  0x239E: [1808, 0, 873, 22, 581],
+  0x239F: [620, 0, 875, 472, 583],
+  0x23A0: [1808, 0, 873, 22, 581],
+  0x23A1: [1799, 0, 666, 326, 659],
+  0x23A2: [602, 0, 666, 326, 395],
+  0x23A3: [1800, -1, 666, 326, 659],
+  0x23A4: [1799, 0, 666, 7, 340],
+  0x23A5: [602, 0, 666, 271, 340],
+  0x23A6: [1800, -1, 666, 7, 340],
+  0x23A7: [909, 0, 889, 395, 718],
+  0x23A8: [1820, 0, 889, 170, 492],
+  0x23A9: [909, 0, 889, 395, 718],
+  0x23AA: [320, 0, 889, 395, 492],
+  0x23AB: [909, 0, 889, 170, 492],
+  0x23AC: [1820, 0, 889, 395, 718],
+  0x23AD: [909, 0, 889, 170, 492],
+  0x23AE: [381, 0, 444, 181, 265]
 };
 
 MathJax.Callback.Queue(

+ 22 - 22
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/Neo-Euler/Variants/Regular/Main.js

@@ -18,28 +18,28 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['NeoEulerMathJax_Variants'] = {
-    directory: 'Variants/Regular',
-    family: 'NeoEulerMathJax_Variants',
-    testString: '\u00A0\u2032\u2033\u2034\u2035\u2036\u2037\u2057\uE200\uE201\uE202\uE203\uE204\uE205\uE206',
-    0x20: [0, 0, 333, 0, 0],
-    0xA0: [0, 0, 333, 0, 0],
-    0x2032: [559, -41, 329, 48, 299],
-    0x2033: [559, -41, 640, 48, 610],
-    0x2034: [559, -41, 950, 48, 920],
-    0x2035: [559, -41, 329, 48, 299],
-    0x2036: [559, -41, 640, 48, 610],
-    0x2037: [559, -41, 950, 48, 919],
-    0x2057: [559, -41, 1260, 48, 1230],
-    0xE200: [493, 13, 501, 41, 456],
-    0xE201: [469, 1, 501, 46, 460],
-    0xE202: [474, -1, 501, 59, 485],
-    0xE203: [474, 182, 501, 38, 430],
-    0xE204: [476, 192, 501, 10, 482],
-    0xE205: [458, 184, 501, 47, 441],
-    0xE206: [700, 13, 501, 45, 471],
-    0xE207: [468, 181, 501, 37, 498],
-    0xE208: [706, 10, 501, 40, 461],
-    0xE209: [470, 182, 501, 27, 468]
+  directory: 'Variants/Regular',
+  family: 'NeoEulerMathJax_Variants',
+  testString: '\u00A0\u2032\u2033\u2034\u2035\u2036\u2037\u2057\uE200\uE201\uE202\uE203\uE204\uE205\uE206',
+  0x20: [0, 0, 333, 0, 0],
+  0xA0: [0, 0, 333, 0, 0],
+  0x2032: [559, -41, 329, 48, 299],
+  0x2033: [559, -41, 640, 48, 610],
+  0x2034: [559, -41, 950, 48, 920],
+  0x2035: [559, -41, 329, 48, 299],
+  0x2036: [559, -41, 640, 48, 610],
+  0x2037: [559, -41, 950, 48, 919],
+  0x2057: [559, -41, 1260, 48, 1230],
+  0xE200: [493, 13, 501, 41, 456],
+  0xE201: [469, 1, 501, 46, 460],
+  0xE202: [474, -1, 501, 59, 485],
+  0xE203: [474, 182, 501, 38, 430],
+  0xE204: [476, 192, 501, 10, 482],
+  0xE205: [458, 184, 501, 47, 441],
+  0xE206: [700, 13, 501, 45, 471],
+  0xE207: [468, 181, 501, 37, 498],
+  0xE208: [706, 10, 501, 40, 461],
+  0xE209: [470, 182, 501, 27, 468]
 };
 
 MathJax.Callback.Queue(

+ 184 - 184
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Alphabets/BoldItalic/Main.js

@@ -18,190 +18,190 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Alphabets-bold-italic'] = {
-    directory: 'Alphabets/BoldItalic',
-    family: 'STIXMathJax_Alphabets',
-    weight: 'bold',
-    style: 'italic',
-    testString: '\u00A0\u0384\u0385\u0386\u0387\u0388\u0389\u038A\u038C\u038E\u038F\u0390\u03AA\u03AB\u03AC',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x384: [680, -516, 300, 140, 319],
-    0x385: [680, -516, 380, 27, 440],
-    0x386: [693, 0, 667, -68, 593],
-    0x387: [459, -311, 333, 116, 264],
-    0x388: [693, 0, 700, 10, 748],
-    0x389: [693, 0, 850, 9, 889],
-    0x38A: [693, 0, 450, 9, 503],
-    0x38C: [693, 18, 722, 11, 691],
-    0x38E: [693, 0, 700, 8, 855],
-    0x38F: [693, 0, 808, 25, 774],
-    0x390: [680, 9, 278, 6, 419],
-    0x3AA: [905, 0, 389, -32, 486],
-    0x3AB: [905, 0, 611, 21, 697],
-    0x3AC: [680, 13, 576, -3, 574],
-    0x3AD: [680, 13, 454, -5, 408],
-    0x3AE: [680, 205, 488, -7, 474],
-    0x3AF: [680, 9, 278, 2, 286],
-    0x3B0: [680, 13, 536, -7, 500],
-    0x3CA: [655, 9, 278, 2, 351],
-    0x3CB: [655, 13, 536, -7, 477],
-    0x3CC: [680, 13, 500, -3, 441],
-    0x3CD: [680, 13, 536, -7, 477],
-    0x3CE: [680, 13, 735, -3, 676],
-    0x401: [905, 0, 667, -35, 645],
-    0x402: [669, 205, 789, 80, 737],
-    0x403: [947, 0, 604, -32, 658],
-    0x404: [685, 18, 657, 44, 689],
-    0x405: [685, 18, 556, -22, 502],
-    0x406: [669, 0, 389, -32, 406],
-    0x407: [905, 0, 389, -35, 477],
-    0x408: [669, 99, 500, -8, 562],
-    0x409: [669, 18, 954, -59, 896],
-    0x40A: [669, 0, 982, -32, 924],
-    0x40B: [669, 0, 830, 71, 757],
-    0x40C: [947, 0, 678, -35, 697],
-    0x40E: [951, 18, 666, 99, 712],
-    0x40F: [669, 184, 778, -33, 791],
-    0x410: [683, 0, 667, -57, 604],
-    0x411: [669, 0, 635, -18, 629],
-    0x412: [669, 0, 654, -25, 624],
-    0x413: [669, 0, 604, -32, 658],
-    0x414: [669, 184, 696, -115, 718],
-    0x415: [669, 0, 667, -35, 645],
-    0x416: [678, 0, 927, -63, 969],
-    0x417: [686, 18, 561, -10, 549],
-    0x418: [669, 0, 768, -33, 790],
-    0x419: [948, 0, 768, -33, 790],
-    0x41A: [678, 0, 678, -35, 697],
-    0x41B: [669, 18, 742, -59, 764],
-    0x41C: [669, 12, 890, -34, 912],
-    0x41D: [669, 0, 769, -32, 791],
-    0x41E: [685, 18, 722, 53, 717],
-    0x41F: [669, 0, 767, -35, 789],
-    0x420: [669, 0, 590, -30, 611],
-    0x421: [685, 18, 667, 65, 710],
-    0x422: [669, 0, 611, 80, 681],
-    0x423: [669, 18, 666, 99, 712],
-    0x424: [669, 0, 833, 72, 816],
-    0x425: [669, 0, 607, -61, 657],
-    0x426: [669, 184, 770, -32, 792],
-    0x427: [669, 0, 758, 120, 780],
-    0x428: [669, 0, 960, -33, 982],
-    0x429: [669, 184, 960, -33, 982],
-    0x42A: [669, 0, 780, 107, 722],
-    0x42B: [669, 0, 985, -19, 1007],
-    0x42C: [669, 0, 636, -19, 578],
-    0x42D: [685, 18, 671, 4, 648],
-    0x42E: [685, 18, 905, -38, 871],
-    0x42F: [669, 0, 710, -65, 732],
-    0x430: [462, 14, 527, 20, 497],
-    0x431: [685, 13, 499, 32, 570],
-    0x432: [462, 13, 482, 25, 458],
-    0x433: [461, 14, 368, -8, 371],
-    0x434: [695, 13, 496, 22, 466],
-    0x435: [462, 13, 431, 22, 415],
-    0x436: [462, 13, 898, -4, 890],
-    0x437: [462, 13, 400, -11, 378],
-    0x438: [462, 9, 542, 34, 512],
-    0x439: [697, 9, 542, 34, 514],
-    0x43A: [461, 8, 522, 12, 527],
-    0x43B: [462, 11, 507, -48, 477],
-    0x43C: [449, 11, 667, -48, 637],
-    0x43D: [462, 9, 543, 13, 513],
-    0x43E: [462, 13, 500, 24, 468],
-    0x43F: [462, 9, 543, 13, 513],
-    0x440: [462, 205, 497, -96, 470],
-    0x441: [462, 13, 435, 26, 423],
-    0x442: [462, 9, 777, 10, 747],
-    0x443: [462, 205, 447, -94, 422],
-    0x444: [699, 205, 750, 28, 717],
-    0x445: [462, 13, 456, -38, 511],
-    0x446: [462, 179, 542, 34, 512],
-    0x447: [462, 9, 531, 48, 501],
-    0x448: [462, 9, 800, 36, 770],
-    0x449: [462, 179, 800, 36, 770],
-    0x44A: [462, 13, 594, 29, 556],
-    0x44B: [462, 13, 754, 43, 724],
-    0x44C: [462, 13, 491, 43, 453],
-    0x44D: [462, 13, 444, -12, 405],
-    0x44E: [462, 13, 740, 12, 710],
-    0x44F: [449, 11, 538, 2, 508],
-    0x451: [655, 13, 434, 22, 487],
-    0x452: [699, 205, 523, 12, 490],
-    0x453: [697, 14, 368, -8, 456],
-    0x454: [462, 13, 415, 22, 450],
-    0x455: [462, 13, 389, 0, 352],
-    0x456: [684, 9, 278, 20, 280],
-    0x457: [655, 9, 278, 22, 382],
-    0x458: [685, 207, 278, -161, 307],
-    0x459: [462, 13, 694, -48, 656],
-    0x45A: [462, 13, 733, 12, 695],
-    0x45B: [699, 9, 556, 12, 515],
-    0x45C: [697, 8, 522, 12, 527],
-    0x45E: [697, 205, 447, -94, 436],
-    0x45F: [462, 179, 538, 30, 508],
-    0x462: [669, 0, 761, 62, 707],
-    0x463: [699, 13, 569, 20, 531],
-    0x46A: [669, 0, 978, -22, 918],
-    0x46B: [449, 13, 844, -4, 825],
-    0x472: [685, 18, 722, 53, 717],
-    0x473: [462, 13, 500, 24, 468],
-    0x474: [678, 18, 667, 66, 750],
-    0x475: [462, 13, 487, 15, 534],
-    0x490: [834, 0, 539, -32, 641],
-    0x491: [590, 9, 360, 31, 457],
-    0x2105: [683, 14, 847, 52, 795],
-    0x2116: [675, 15, 1055, 24, 1031],
-    0xE09C: [775, 235, 776, 40, 765],
-    0xE09D: [775, 235, 759, 44, 779],
-    0xE09E: [775, 235, 658, 44, 771],
-    0xE0B3: [703, 205, 556, -188, 517],
-    0xE32D: [775, 207, 671, 46, 675],
-    0xE32F: [775, 207, 664, -65, 706],
-    0xE331: [775, 207, 588, -100, 671],
-    0xE333: [775, 207, 571, 46, 547],
-    0xE335: [775, 207, 508, 44, 515],
-    0xE337: [775, 207, 505, -54, 629],
-    0xE339: [775, 207, 579, 20, 583],
-    0xE33B: [775, 207, 615, 46, 602],
-    0xE33D: [775, 207, 355, 29, 483],
-    0xE33F: [775, 207, 594, 35, 656],
-    0xE341: [775, 207, 598, 18, 642],
-    0xE343: [775, 207, 697, -34, 737],
-    0xE345: [775, 207, 571, 35, 584],
-    0xE347: [775, 207, 504, -54, 629],
-    0xE349: [775, 235, 500, 32, 506],
-    0xE34B: [775, 207, 652, 1, 772],
-    0xE34D: [775, 207, 636, 27, 652],
-    0xE34F: [775, 207, 504, 23, 514],
-    0xE351: [775, 207, 595, 46, 641],
-    0xE353: [775, 207, 474, 20, 521],
-    0xE355: [775, 207, 582, 20, 584],
-    0xE357: [775, 207, 726, 1, 772],
-    0xE359: [775, 207, 622, -41, 730],
-    0xE35B: [775, 207, 720, 37, 808],
-    0xE35D: [775, 207, 782, 24, 795],
-    0xE35F: [775, 207, 608, 20, 681],
-    0xE361: [775, 207, 727, 0, 771],
-    0xE363: [775, 207, 925, 6, 978],
-    0xE367: [775, 235, 475, -35, 509],
-    0xE36B: [775, 235, 525, -68, 651],
-    0xE36F: [775, 235, 485, 16, 466],
-    0xE373: [775, 235, 530, 12, 731],
-    0xE375: [775, 235, 569, -50, 592],
-    0xE377: [775, 207, 571, 46, 547],
-    0xE379: [775, 207, 601, 46, 579],
-    0xE37B: [775, 207, 525, 46, 543],
-    0xE37E: [775, 235, 792, -40, 777],
-    0xE380: [707, 14, 670, 10, 662],
-    0xE382: [707, 14, 622, 14, 598],
-    0xE384: [628, 14, 411, 18, 390],
-    0xE386: [473, 14, 355, 15, 338],
-    0xE388: [666, 0, 493, 25, 508],
-    0xE389: [666, 0, 480, 16, 472],
-    0xE3C5: [462, 207, 514, 47, 475],
-    0xE3C6: [462, 9, 357, 55, 274],
-    0xE400: [703, 205, 556, -188, 517]
+  directory: 'Alphabets/BoldItalic',
+  family: 'STIXMathJax_Alphabets',
+  weight: 'bold',
+  style: 'italic',
+  testString: '\u00A0\u0384\u0385\u0386\u0387\u0388\u0389\u038A\u038C\u038E\u038F\u0390\u03AA\u03AB\u03AC',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x384: [680, -516, 300, 140, 319],
+  0x385: [680, -516, 380, 27, 440],
+  0x386: [693, 0, 667, -68, 593],
+  0x387: [459, -311, 333, 116, 264],
+  0x388: [693, 0, 700, 10, 748],
+  0x389: [693, 0, 850, 9, 889],
+  0x38A: [693, 0, 450, 9, 503],
+  0x38C: [693, 18, 722, 11, 691],
+  0x38E: [693, 0, 700, 8, 855],
+  0x38F: [693, 0, 808, 25, 774],
+  0x390: [680, 9, 278, 6, 419],
+  0x3AA: [905, 0, 389, -32, 486],
+  0x3AB: [905, 0, 611, 21, 697],
+  0x3AC: [680, 13, 576, -3, 574],
+  0x3AD: [680, 13, 454, -5, 408],
+  0x3AE: [680, 205, 488, -7, 474],
+  0x3AF: [680, 9, 278, 2, 286],
+  0x3B0: [680, 13, 536, -7, 500],
+  0x3CA: [655, 9, 278, 2, 351],
+  0x3CB: [655, 13, 536, -7, 477],
+  0x3CC: [680, 13, 500, -3, 441],
+  0x3CD: [680, 13, 536, -7, 477],
+  0x3CE: [680, 13, 735, -3, 676],
+  0x401: [905, 0, 667, -35, 645],
+  0x402: [669, 205, 789, 80, 737],
+  0x403: [947, 0, 604, -32, 658],
+  0x404: [685, 18, 657, 44, 689],
+  0x405: [685, 18, 556, -22, 502],
+  0x406: [669, 0, 389, -32, 406],
+  0x407: [905, 0, 389, -35, 477],
+  0x408: [669, 99, 500, -8, 562],
+  0x409: [669, 18, 954, -59, 896],
+  0x40A: [669, 0, 982, -32, 924],
+  0x40B: [669, 0, 830, 71, 757],
+  0x40C: [947, 0, 678, -35, 697],
+  0x40E: [951, 18, 666, 99, 712],
+  0x40F: [669, 184, 778, -33, 791],
+  0x410: [683, 0, 667, -57, 604],
+  0x411: [669, 0, 635, -18, 629],
+  0x412: [669, 0, 654, -25, 624],
+  0x413: [669, 0, 604, -32, 658],
+  0x414: [669, 184, 696, -115, 718],
+  0x415: [669, 0, 667, -35, 645],
+  0x416: [678, 0, 927, -63, 969],
+  0x417: [686, 18, 561, -10, 549],
+  0x418: [669, 0, 768, -33, 790],
+  0x419: [948, 0, 768, -33, 790],
+  0x41A: [678, 0, 678, -35, 697],
+  0x41B: [669, 18, 742, -59, 764],
+  0x41C: [669, 12, 890, -34, 912],
+  0x41D: [669, 0, 769, -32, 791],
+  0x41E: [685, 18, 722, 53, 717],
+  0x41F: [669, 0, 767, -35, 789],
+  0x420: [669, 0, 590, -30, 611],
+  0x421: [685, 18, 667, 65, 710],
+  0x422: [669, 0, 611, 80, 681],
+  0x423: [669, 18, 666, 99, 712],
+  0x424: [669, 0, 833, 72, 816],
+  0x425: [669, 0, 607, -61, 657],
+  0x426: [669, 184, 770, -32, 792],
+  0x427: [669, 0, 758, 120, 780],
+  0x428: [669, 0, 960, -33, 982],
+  0x429: [669, 184, 960, -33, 982],
+  0x42A: [669, 0, 780, 107, 722],
+  0x42B: [669, 0, 985, -19, 1007],
+  0x42C: [669, 0, 636, -19, 578],
+  0x42D: [685, 18, 671, 4, 648],
+  0x42E: [685, 18, 905, -38, 871],
+  0x42F: [669, 0, 710, -65, 732],
+  0x430: [462, 14, 527, 20, 497],
+  0x431: [685, 13, 499, 32, 570],
+  0x432: [462, 13, 482, 25, 458],
+  0x433: [461, 14, 368, -8, 371],
+  0x434: [695, 13, 496, 22, 466],
+  0x435: [462, 13, 431, 22, 415],
+  0x436: [462, 13, 898, -4, 890],
+  0x437: [462, 13, 400, -11, 378],
+  0x438: [462, 9, 542, 34, 512],
+  0x439: [697, 9, 542, 34, 514],
+  0x43A: [461, 8, 522, 12, 527],
+  0x43B: [462, 11, 507, -48, 477],
+  0x43C: [449, 11, 667, -48, 637],
+  0x43D: [462, 9, 543, 13, 513],
+  0x43E: [462, 13, 500, 24, 468],
+  0x43F: [462, 9, 543, 13, 513],
+  0x440: [462, 205, 497, -96, 470],
+  0x441: [462, 13, 435, 26, 423],
+  0x442: [462, 9, 777, 10, 747],
+  0x443: [462, 205, 447, -94, 422],
+  0x444: [699, 205, 750, 28, 717],
+  0x445: [462, 13, 456, -38, 511],
+  0x446: [462, 179, 542, 34, 512],
+  0x447: [462, 9, 531, 48, 501],
+  0x448: [462, 9, 800, 36, 770],
+  0x449: [462, 179, 800, 36, 770],
+  0x44A: [462, 13, 594, 29, 556],
+  0x44B: [462, 13, 754, 43, 724],
+  0x44C: [462, 13, 491, 43, 453],
+  0x44D: [462, 13, 444, -12, 405],
+  0x44E: [462, 13, 740, 12, 710],
+  0x44F: [449, 11, 538, 2, 508],
+  0x451: [655, 13, 434, 22, 487],
+  0x452: [699, 205, 523, 12, 490],
+  0x453: [697, 14, 368, -8, 456],
+  0x454: [462, 13, 415, 22, 450],
+  0x455: [462, 13, 389, 0, 352],
+  0x456: [684, 9, 278, 20, 280],
+  0x457: [655, 9, 278, 22, 382],
+  0x458: [685, 207, 278, -161, 307],
+  0x459: [462, 13, 694, -48, 656],
+  0x45A: [462, 13, 733, 12, 695],
+  0x45B: [699, 9, 556, 12, 515],
+  0x45C: [697, 8, 522, 12, 527],
+  0x45E: [697, 205, 447, -94, 436],
+  0x45F: [462, 179, 538, 30, 508],
+  0x462: [669, 0, 761, 62, 707],
+  0x463: [699, 13, 569, 20, 531],
+  0x46A: [669, 0, 978, -22, 918],
+  0x46B: [449, 13, 844, -4, 825],
+  0x472: [685, 18, 722, 53, 717],
+  0x473: [462, 13, 500, 24, 468],
+  0x474: [678, 18, 667, 66, 750],
+  0x475: [462, 13, 487, 15, 534],
+  0x490: [834, 0, 539, -32, 641],
+  0x491: [590, 9, 360, 31, 457],
+  0x2105: [683, 14, 847, 52, 795],
+  0x2116: [675, 15, 1055, 24, 1031],
+  0xE09C: [775, 235, 776, 40, 765],
+  0xE09D: [775, 235, 759, 44, 779],
+  0xE09E: [775, 235, 658, 44, 771],
+  0xE0B3: [703, 205, 556, -188, 517],
+  0xE32D: [775, 207, 671, 46, 675],
+  0xE32F: [775, 207, 664, -65, 706],
+  0xE331: [775, 207, 588, -100, 671],
+  0xE333: [775, 207, 571, 46, 547],
+  0xE335: [775, 207, 508, 44, 515],
+  0xE337: [775, 207, 505, -54, 629],
+  0xE339: [775, 207, 579, 20, 583],
+  0xE33B: [775, 207, 615, 46, 602],
+  0xE33D: [775, 207, 355, 29, 483],
+  0xE33F: [775, 207, 594, 35, 656],
+  0xE341: [775, 207, 598, 18, 642],
+  0xE343: [775, 207, 697, -34, 737],
+  0xE345: [775, 207, 571, 35, 584],
+  0xE347: [775, 207, 504, -54, 629],
+  0xE349: [775, 235, 500, 32, 506],
+  0xE34B: [775, 207, 652, 1, 772],
+  0xE34D: [775, 207, 636, 27, 652],
+  0xE34F: [775, 207, 504, 23, 514],
+  0xE351: [775, 207, 595, 46, 641],
+  0xE353: [775, 207, 474, 20, 521],
+  0xE355: [775, 207, 582, 20, 584],
+  0xE357: [775, 207, 726, 1, 772],
+  0xE359: [775, 207, 622, -41, 730],
+  0xE35B: [775, 207, 720, 37, 808],
+  0xE35D: [775, 207, 782, 24, 795],
+  0xE35F: [775, 207, 608, 20, 681],
+  0xE361: [775, 207, 727, 0, 771],
+  0xE363: [775, 207, 925, 6, 978],
+  0xE367: [775, 235, 475, -35, 509],
+  0xE36B: [775, 235, 525, -68, 651],
+  0xE36F: [775, 235, 485, 16, 466],
+  0xE373: [775, 235, 530, 12, 731],
+  0xE375: [775, 235, 569, -50, 592],
+  0xE377: [775, 207, 571, 46, 547],
+  0xE379: [775, 207, 601, 46, 579],
+  0xE37B: [775, 207, 525, 46, 543],
+  0xE37E: [775, 235, 792, -40, 777],
+  0xE380: [707, 14, 670, 10, 662],
+  0xE382: [707, 14, 622, 14, 598],
+  0xE384: [628, 14, 411, 18, 390],
+  0xE386: [473, 14, 355, 15, 338],
+  0xE388: [666, 0, 493, 25, 508],
+  0xE389: [666, 0, 480, 16, 472],
+  0xE3C5: [462, 207, 514, 47, 475],
+  0xE3C6: [462, 9, 357, 55, 274],
+  0xE400: [703, 205, 556, -188, 517]
 };
 
 MathJax.Callback.Queue(

+ 181 - 181
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Alphabets/Italic/Main.js

@@ -18,187 +18,187 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Alphabets-italic'] = {
-    directory: 'Alphabets/Italic',
-    family: 'STIXMathJax_Alphabets',
-    style: 'italic',
-    testString: '\u00A0\u0384\u0385\u0386\u0387\u0388\u0389\u038A\u038C\u038E\u038F\u0390\u03AA\u03AB\u03AC',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x384: [649, -494, 289, 160, 322],
-    0x385: [649, -494, 333, 70, 387],
-    0x386: [678, 0, 611, -51, 564],
-    0x387: [441, -330, 333, 150, 261],
-    0x388: [678, 0, 630, 7, 679],
-    0x389: [678, 0, 740, 4, 821],
-    0x38A: [678, 0, 350, 3, 429],
-    0x38C: [678, 18, 722, 58, 699],
-    0x38E: [678, 0, 580, 8, 725],
-    0x38F: [678, 0, 762, -6, 739],
-    0x390: [649, 11, 278, 49, 387],
-    0x3AA: [856, 0, 333, -8, 460],
-    0x3AB: [856, 0, 556, 78, 648],
-    0x3AC: [649, 11, 552, 27, 549],
-    0x3AD: [649, 11, 444, 30, 425],
-    0x3AE: [649, 205, 474, 14, 442],
-    0x3AF: [649, 11, 278, 49, 288],
-    0x3B0: [649, 10, 478, 19, 446],
-    0x3CA: [606, 11, 278, 49, 359],
-    0x3CB: [606, 10, 478, 19, 446],
-    0x3CC: [649, 11, 500, 27, 468],
-    0x3CD: [649, 10, 478, 19, 446],
-    0x3CE: [649, 11, 686, 27, 654],
-    0x401: [856, 0, 611, 1, 631],
-    0x402: [653, 208, 723, 70, 663],
-    0x403: [914, 0, 569, -36, 603],
-    0x404: [666, 18, 657, 67, 680],
-    0x405: [667, 18, 500, 7, 498],
-    0x406: [653, 0, 333, -7, 382],
-    0x407: [856, 0, 333, -31, 433],
-    0x408: [653, 18, 444, -34, 463],
-    0x409: [653, 16, 961, -35, 901],
-    0x40A: [653, 0, 966, -28, 906],
-    0x40B: [653, 0, 786, 70, 701],
-    0x40C: [914, 0, 621, -28, 657],
-    0x40E: [887, 14, 656, 110, 716],
-    0x40F: [653, 179, 722, -25, 747],
-    0x410: [668, 0, 611, -49, 566],
-    0x411: [653, 0, 590, -28, 603],
-    0x412: [653, 0, 597, -23, 571],
-    0x413: [653, 0, 569, -36, 603],
-    0x414: [653, 179, 655, -103, 696],
-    0x415: [653, 0, 611, 1, 631],
-    0x416: [661, 0, 956, -55, 972],
-    0x417: [668, 16, 564, 9, 548],
-    0x418: [653, 0, 708, -25, 749],
-    0x419: [887, 0, 708, -25, 749],
-    0x41A: [661, 0, 621, -28, 657],
-    0x41B: [653, 16, 699, -35, 740],
-    0x41C: [653, 0, 814, -33, 855],
-    0x41D: [653, 0, 708, -26, 749],
-    0x41E: [666, 18, 712, 60, 699],
-    0x41F: [653, 0, 704, -29, 745],
-    0x420: [653, 0, 568, -24, 578],
-    0x421: [666, 18, 667, 67, 690],
-    0x422: [653, 0, 556, 70, 644],
-    0x423: [653, 14, 656, 110, 716],
-    0x424: [653, 0, 772, 73, 758],
-    0x425: [653, 0, 575, -67, 617],
-    0x426: [653, 179, 706, -25, 747],
-    0x427: [653, 0, 622, 54, 663],
-    0x428: [653, 0, 936, -14, 977],
-    0x429: [653, 179, 936, -14, 977],
-    0x42A: [653, 0, 695, 63, 652],
-    0x42B: [653, 0, 852, -28, 893],
-    0x42C: [653, 0, 597, -28, 537],
-    0x42D: [666, 18, 658, 15, 636],
-    0x42E: [666, 18, 877, -32, 850],
-    0x42F: [653, 0, 635, -49, 676],
-    0x430: [441, 11, 514, 23, 482],
-    0x431: [683, 11, 498, 36, 535],
-    0x432: [441, 11, 442, 31, 423],
-    0x433: [441, 11, 390, 1, 384],
-    0x434: [683, 11, 489, 30, 470],
-    0x435: [441, 11, 440, 34, 422],
-    0x436: [441, 11, 799, 0, 791],
-    0x437: [441, 11, 376, -18, 357],
-    0x438: [441, 11, 527, 29, 495],
-    0x439: [667, 11, 527, 29, 495],
-    0x43A: [441, 11, 491, 18, 485],
-    0x43B: [441, 12, 474, -44, 442],
-    0x43C: [432, 12, 633, -45, 601],
-    0x43D: [441, 9, 504, 20, 472],
-    0x43E: [441, 11, 489, 29, 470],
-    0x43F: [441, 9, 511, 19, 479],
-    0x440: [441, 205, 483, -77, 464],
-    0x441: [441, 11, 441, 27, 422],
-    0x442: [441, 9, 741, 17, 709],
-    0x443: [441, 206, 421, -61, 389],
-    0x444: [683, 205, 702, 29, 677],
-    0x445: [441, 11, 444, -35, 439],
-    0x446: [441, 182, 527, 29, 495],
-    0x447: [441, 9, 482, 42, 450],
-    0x448: [441, 11, 785, 31, 753],
-    0x449: [441, 182, 785, 31, 753],
-    0x44A: [441, 11, 567, 12, 528],
-    0x44B: [441, 11, 689, 50, 657],
-    0x44C: [441, 11, 471, 50, 433],
-    0x44D: [441, 11, 408, 7, 391],
-    0x44E: [441, 11, 674, 21, 655],
-    0x44F: [432, 9, 481, -25, 449],
-    0x451: [606, 11, 440, 34, 475],
-    0x452: [683, 208, 479, 20, 448],
-    0x453: [664, 11, 390, 1, 455],
-    0x454: [441, 11, 428, 26, 441],
-    0x455: [442, 13, 389, -9, 341],
-    0x456: [654, 11, 278, 43, 258],
-    0x457: [606, 11, 278, 43, 357],
-    0x458: [652, 207, 278, -172, 231],
-    0x459: [441, 12, 679, -44, 631],
-    0x45A: [441, 11, 697, 21, 649],
-    0x45B: [683, 9, 511, 20, 479],
-    0x45C: [664, 11, 491, 18, 485],
-    0x45E: [667, 206, 421, -61, 417],
-    0x45F: [441, 182, 527, 29, 495],
-    0x462: [653, 0, 681, 19, 621],
-    0x463: [683, 11, 542, 13, 504],
-    0x46A: [653, 0, 953, -55, 893],
-    0x46B: [432, 11, 741, 0, 686],
-    0x472: [666, 18, 712, 60, 699],
-    0x473: [441, 11, 489, 29, 470],
-    0x474: [662, 18, 646, 76, 742],
-    0x475: [441, 18, 464, 34, 528],
-    0x490: [783, 0, 524, -30, 622],
-    0x491: [507, 11, 337, 42, 404],
-    0x2105: [676, 14, 855, 47, 808],
-    0x2116: [668, 15, 1046, 19, 1031],
-    0xE09C: [756, 218, 753, 37, 787],
-    0xE09D: [756, 218, 706, 42, 732],
-    0xE09E: [756, 218, 624, 42, 724],
-    0xE0B3: [681, 207, 500, -141, 504],
-    0xE32C: [756, 218, 613, 42, 612],
-    0xE32E: [756, 218, 595, -47, 644],
-    0xE330: [756, 218, 514, -58, 634],
-    0xE332: [756, 218, 536, 40, 522],
-    0xE334: [756, 218, 478, 29, 491],
-    0xE336: [756, 218, 440, 11, 482],
-    0xE338: [756, 218, 512, 32, 536],
-    0xE33A: [756, 218, 529, 20, 519],
-    0xE33C: [756, 217, 326, -10, 453],
-    0xE33E: [756, 218, 546, 57, 558],
-    0xE340: [756, 218, 557, 52, 619],
-    0xE342: [756, 217, 630, 0, 696],
-    0xE344: [756, 218, 466, 32, 495],
-    0xE346: [756, 218, 454, 9, 468],
-    0xE348: [756, 240, 533, 27, 498],
-    0xE34A: [756, 217, 591, 14, 710],
-    0xE34C: [756, 218, 584, 32, 591],
-    0xE34E: [756, 218, 468, 1, 460],
-    0xE350: [756, 218, 534, 42, 560],
-    0xE352: [756, 218, 448, 32, 537],
-    0xE354: [756, 218, 514, 32, 545],
-    0xE356: [756, 218, 663, -2, 690],
-    0xE358: [756, 218, 632, 4, 700],
-    0xE35A: [756, 218, 668, 32, 736],
-    0xE35C: [756, 217, 733, 42, 758],
-    0xE35E: [756, 218, 602, 32, 590],
-    0xE360: [756, 218, 666, 42, 778],
-    0xE362: [756, 217, 889, 32, 897],
-    0xE366: [756, 240, 444, 7, 482],
-    0xE36A: [756, 240, 528, -57, 648],
-    0xE36E: [756, 240, 457, 31, 445],
-    0xE372: [756, 240, 528, 8, 715],
-    0xE374: [756, 240, 533, -16, 559],
-    0xE376: [756, 218, 533, 42, 525],
-    0xE378: [756, 218, 533, 35, 506],
-    0xE37A: [756, 218, 477, 42, 539],
-    0xE37D: [756, 218, 710, -50, 694],
-    0xE37F: [683, 10, 606, 10, 601],
-    0xE381: [683, 10, 554, 39, 540],
-    0xE383: [579, 10, 353, 6, 323],
-    0xE385: [460, 10, 326, 15, 278],
-    0xE387: [668, 0, 490, 30, 502],
-    0xE389: [668, 0, 490, 30, 478],
-    0xE400: [681, 207, 500, -141, 504]
+  directory: 'Alphabets/Italic',
+  family: 'STIXMathJax_Alphabets',
+  style: 'italic',
+  testString: '\u00A0\u0384\u0385\u0386\u0387\u0388\u0389\u038A\u038C\u038E\u038F\u0390\u03AA\u03AB\u03AC',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x384: [649, -494, 289, 160, 322],
+  0x385: [649, -494, 333, 70, 387],
+  0x386: [678, 0, 611, -51, 564],
+  0x387: [441, -330, 333, 150, 261],
+  0x388: [678, 0, 630, 7, 679],
+  0x389: [678, 0, 740, 4, 821],
+  0x38A: [678, 0, 350, 3, 429],
+  0x38C: [678, 18, 722, 58, 699],
+  0x38E: [678, 0, 580, 8, 725],
+  0x38F: [678, 0, 762, -6, 739],
+  0x390: [649, 11, 278, 49, 387],
+  0x3AA: [856, 0, 333, -8, 460],
+  0x3AB: [856, 0, 556, 78, 648],
+  0x3AC: [649, 11, 552, 27, 549],
+  0x3AD: [649, 11, 444, 30, 425],
+  0x3AE: [649, 205, 474, 14, 442],
+  0x3AF: [649, 11, 278, 49, 288],
+  0x3B0: [649, 10, 478, 19, 446],
+  0x3CA: [606, 11, 278, 49, 359],
+  0x3CB: [606, 10, 478, 19, 446],
+  0x3CC: [649, 11, 500, 27, 468],
+  0x3CD: [649, 10, 478, 19, 446],
+  0x3CE: [649, 11, 686, 27, 654],
+  0x401: [856, 0, 611, 1, 631],
+  0x402: [653, 208, 723, 70, 663],
+  0x403: [914, 0, 569, -36, 603],
+  0x404: [666, 18, 657, 67, 680],
+  0x405: [667, 18, 500, 7, 498],
+  0x406: [653, 0, 333, -7, 382],
+  0x407: [856, 0, 333, -31, 433],
+  0x408: [653, 18, 444, -34, 463],
+  0x409: [653, 16, 961, -35, 901],
+  0x40A: [653, 0, 966, -28, 906],
+  0x40B: [653, 0, 786, 70, 701],
+  0x40C: [914, 0, 621, -28, 657],
+  0x40E: [887, 14, 656, 110, 716],
+  0x40F: [653, 179, 722, -25, 747],
+  0x410: [668, 0, 611, -49, 566],
+  0x411: [653, 0, 590, -28, 603],
+  0x412: [653, 0, 597, -23, 571],
+  0x413: [653, 0, 569, -36, 603],
+  0x414: [653, 179, 655, -103, 696],
+  0x415: [653, 0, 611, 1, 631],
+  0x416: [661, 0, 956, -55, 972],
+  0x417: [668, 16, 564, 9, 548],
+  0x418: [653, 0, 708, -25, 749],
+  0x419: [887, 0, 708, -25, 749],
+  0x41A: [661, 0, 621, -28, 657],
+  0x41B: [653, 16, 699, -35, 740],
+  0x41C: [653, 0, 814, -33, 855],
+  0x41D: [653, 0, 708, -26, 749],
+  0x41E: [666, 18, 712, 60, 699],
+  0x41F: [653, 0, 704, -29, 745],
+  0x420: [653, 0, 568, -24, 578],
+  0x421: [666, 18, 667, 67, 690],
+  0x422: [653, 0, 556, 70, 644],
+  0x423: [653, 14, 656, 110, 716],
+  0x424: [653, 0, 772, 73, 758],
+  0x425: [653, 0, 575, -67, 617],
+  0x426: [653, 179, 706, -25, 747],
+  0x427: [653, 0, 622, 54, 663],
+  0x428: [653, 0, 936, -14, 977],
+  0x429: [653, 179, 936, -14, 977],
+  0x42A: [653, 0, 695, 63, 652],
+  0x42B: [653, 0, 852, -28, 893],
+  0x42C: [653, 0, 597, -28, 537],
+  0x42D: [666, 18, 658, 15, 636],
+  0x42E: [666, 18, 877, -32, 850],
+  0x42F: [653, 0, 635, -49, 676],
+  0x430: [441, 11, 514, 23, 482],
+  0x431: [683, 11, 498, 36, 535],
+  0x432: [441, 11, 442, 31, 423],
+  0x433: [441, 11, 390, 1, 384],
+  0x434: [683, 11, 489, 30, 470],
+  0x435: [441, 11, 440, 34, 422],
+  0x436: [441, 11, 799, 0, 791],
+  0x437: [441, 11, 376, -18, 357],
+  0x438: [441, 11, 527, 29, 495],
+  0x439: [667, 11, 527, 29, 495],
+  0x43A: [441, 11, 491, 18, 485],
+  0x43B: [441, 12, 474, -44, 442],
+  0x43C: [432, 12, 633, -45, 601],
+  0x43D: [441, 9, 504, 20, 472],
+  0x43E: [441, 11, 489, 29, 470],
+  0x43F: [441, 9, 511, 19, 479],
+  0x440: [441, 205, 483, -77, 464],
+  0x441: [441, 11, 441, 27, 422],
+  0x442: [441, 9, 741, 17, 709],
+  0x443: [441, 206, 421, -61, 389],
+  0x444: [683, 205, 702, 29, 677],
+  0x445: [441, 11, 444, -35, 439],
+  0x446: [441, 182, 527, 29, 495],
+  0x447: [441, 9, 482, 42, 450],
+  0x448: [441, 11, 785, 31, 753],
+  0x449: [441, 182, 785, 31, 753],
+  0x44A: [441, 11, 567, 12, 528],
+  0x44B: [441, 11, 689, 50, 657],
+  0x44C: [441, 11, 471, 50, 433],
+  0x44D: [441, 11, 408, 7, 391],
+  0x44E: [441, 11, 674, 21, 655],
+  0x44F: [432, 9, 481, -25, 449],
+  0x451: [606, 11, 440, 34, 475],
+  0x452: [683, 208, 479, 20, 448],
+  0x453: [664, 11, 390, 1, 455],
+  0x454: [441, 11, 428, 26, 441],
+  0x455: [442, 13, 389, -9, 341],
+  0x456: [654, 11, 278, 43, 258],
+  0x457: [606, 11, 278, 43, 357],
+  0x458: [652, 207, 278, -172, 231],
+  0x459: [441, 12, 679, -44, 631],
+  0x45A: [441, 11, 697, 21, 649],
+  0x45B: [683, 9, 511, 20, 479],
+  0x45C: [664, 11, 491, 18, 485],
+  0x45E: [667, 206, 421, -61, 417],
+  0x45F: [441, 182, 527, 29, 495],
+  0x462: [653, 0, 681, 19, 621],
+  0x463: [683, 11, 542, 13, 504],
+  0x46A: [653, 0, 953, -55, 893],
+  0x46B: [432, 11, 741, 0, 686],
+  0x472: [666, 18, 712, 60, 699],
+  0x473: [441, 11, 489, 29, 470],
+  0x474: [662, 18, 646, 76, 742],
+  0x475: [441, 18, 464, 34, 528],
+  0x490: [783, 0, 524, -30, 622],
+  0x491: [507, 11, 337, 42, 404],
+  0x2105: [676, 14, 855, 47, 808],
+  0x2116: [668, 15, 1046, 19, 1031],
+  0xE09C: [756, 218, 753, 37, 787],
+  0xE09D: [756, 218, 706, 42, 732],
+  0xE09E: [756, 218, 624, 42, 724],
+  0xE0B3: [681, 207, 500, -141, 504],
+  0xE32C: [756, 218, 613, 42, 612],
+  0xE32E: [756, 218, 595, -47, 644],
+  0xE330: [756, 218, 514, -58, 634],
+  0xE332: [756, 218, 536, 40, 522],
+  0xE334: [756, 218, 478, 29, 491],
+  0xE336: [756, 218, 440, 11, 482],
+  0xE338: [756, 218, 512, 32, 536],
+  0xE33A: [756, 218, 529, 20, 519],
+  0xE33C: [756, 217, 326, -10, 453],
+  0xE33E: [756, 218, 546, 57, 558],
+  0xE340: [756, 218, 557, 52, 619],
+  0xE342: [756, 217, 630, 0, 696],
+  0xE344: [756, 218, 466, 32, 495],
+  0xE346: [756, 218, 454, 9, 468],
+  0xE348: [756, 240, 533, 27, 498],
+  0xE34A: [756, 217, 591, 14, 710],
+  0xE34C: [756, 218, 584, 32, 591],
+  0xE34E: [756, 218, 468, 1, 460],
+  0xE350: [756, 218, 534, 42, 560],
+  0xE352: [756, 218, 448, 32, 537],
+  0xE354: [756, 218, 514, 32, 545],
+  0xE356: [756, 218, 663, -2, 690],
+  0xE358: [756, 218, 632, 4, 700],
+  0xE35A: [756, 218, 668, 32, 736],
+  0xE35C: [756, 217, 733, 42, 758],
+  0xE35E: [756, 218, 602, 32, 590],
+  0xE360: [756, 218, 666, 42, 778],
+  0xE362: [756, 217, 889, 32, 897],
+  0xE366: [756, 240, 444, 7, 482],
+  0xE36A: [756, 240, 528, -57, 648],
+  0xE36E: [756, 240, 457, 31, 445],
+  0xE372: [756, 240, 528, 8, 715],
+  0xE374: [756, 240, 533, -16, 559],
+  0xE376: [756, 218, 533, 42, 525],
+  0xE378: [756, 218, 533, 35, 506],
+  0xE37A: [756, 218, 477, 42, 539],
+  0xE37D: [756, 218, 710, -50, 694],
+  0xE37F: [683, 10, 606, 10, 601],
+  0xE381: [683, 10, 554, 39, 540],
+  0xE383: [579, 10, 353, 6, 323],
+  0xE385: [460, 10, 326, 15, 278],
+  0xE387: [668, 0, 490, 30, 502],
+  0xE389: [668, 0, 490, 30, 478],
+  0xE400: [681, 207, 500, -141, 504]
 };
 
 MathJax.Callback.Queue(

+ 223 - 223
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Arrows/Regular/Main.js

@@ -18,229 +18,229 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Arrows'] = {
-    directory: 'Arrows/Regular',
-    family: 'STIXMathJax_Arrows',
-    testString: '\u00A0\u219C\u219D\u219F\u21A1\u21A4\u21A5\u21A7\u21A8\u21AF\u21B2\u21B3\u21B4\u21B5\u21B8',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x219C: [411, -102, 926, 70, 856],
-    0x219D: [411, -102, 926, 70, 856],
-    0x219F: [662, 154, 511, 60, 451],
-    0x21A1: [662, 154, 511, 60, 451],
-    0x21A4: [450, -57, 926, 70, 857],
-    0x21A5: [662, 154, 511, 60, 451],
-    0x21A7: [662, 154, 511, 59, 451],
-    0x21A8: [662, 154, 511, 59, 451],
-    0x21AF: [662, 154, 511, 60, 451],
-    0x21B2: [662, 154, 463, 25, 419],
-    0x21B3: [662, 154, 463, 39, 433],
-    0x21B4: [662, 154, 926, 70, 856],
-    0x21B5: [662, 156, 926, 70, 856],
-    0x21B8: [732, 156, 926, 55, 872],
-    0x21B9: [598, 92, 926, 60, 866],
-    0x21C5: [662, 156, 773, 31, 742],
-    0x21D6: [662, 156, 926, 55, 874],
-    0x21D7: [662, 156, 926, 55, 874],
-    0x21D8: [662, 156, 926, 55, 874],
-    0x21D9: [662, 156, 926, 55, 874],
-    0x21DC: [449, -58, 926, 60, 866],
-    0x21DE: [662, 156, 511, 60, 451],
-    0x21DF: [662, 156, 511, 60, 451],
-    0x21E1: [662, 156, 511, 60, 451],
-    0x21E3: [662, 156, 511, 60, 451],
-    0x21E4: [450, -58, 926, 60, 866],
-    0x21E5: [450, -58, 926, 60, 866],
-    0x21E6: [551, 45, 926, 60, 866],
-    0x21E7: [662, 156, 685, 45, 641],
-    0x21E8: [551, 45, 926, 60, 866],
-    0x21E9: [662, 156, 685, 45, 641],
-    0x21EA: [690, 184, 685, 45, 641],
-    0x21F4: [448, -57, 926, 70, 856],
-    0x21F5: [662, 156, 773, 31, 742],
-    0x21F6: [739, 232, 926, 60, 866],
-    0x21F7: [450, -58, 926, 60, 866],
-    0x21F8: [450, -58, 926, 55, 861],
-    0x21F9: [450, -58, 926, 48, 878],
-    0x21FA: [450, -58, 926, 60, 866],
-    0x21FB: [450, -58, 926, 60, 866],
-    0x21FC: [450, -58, 926, 38, 888],
-    0x21FD: [449, -57, 926, 60, 866],
-    0x21FE: [449, -57, 926, 60, 866],
-    0x21FF: [449, -57, 926, 20, 906],
-    0x27F0: [662, 156, 1033, 69, 965],
-    0x27F1: [662, 156, 1033, 69, 965],
-    0x27F2: [626, 116, 974, 54, 882],
-    0x27F3: [626, 116, 974, 92, 920],
-    0x27F4: [569, 61, 1200, 52, 1147],
-    0x27FB: [450, -57, 1574, 55, 1519],
-    0x27FD: [551, 45, 1574, 55, 1519],
-    0x27FE: [551, 45, 1574, 55, 1519],
-    0x27FF: [449, -58, 1574, 55, 1519],
-    0x2900: [450, -57, 926, 56, 871],
-    0x2901: [450, -57, 926, 55, 871],
-    0x2902: [551, 45, 926, 55, 871],
-    0x2903: [551, 45, 926, 55, 871],
-    0x2904: [551, 45, 926, 20, 906],
-    0x2905: [450, -57, 926, 55, 871],
-    0x2906: [551, 45, 926, 55, 871],
-    0x2907: [551, 45, 926, 55, 871],
-    0x2908: [662, 156, 511, 59, 452],
-    0x2909: [662, 156, 511, 59, 452],
-    0x290A: [662, 156, 926, 71, 854],
-    0x290B: [662, 156, 926, 72, 855],
-    0x290C: [449, -57, 926, 55, 871],
-    0x290D: [449, -57, 926, 55, 871],
-    0x290E: [449, -57, 926, 55, 871],
-    0x290F: [449, -57, 926, 55, 871],
-    0x2910: [449, -57, 1412, 55, 1357],
-    0x2911: [449, -57, 926, 55, 873],
-    0x2912: [662, 156, 511, 59, 452],
-    0x2913: [662, 156, 511, 59, 452],
-    0x2914: [450, -57, 926, 55, 871],
-    0x2915: [450, -57, 926, 55, 871],
-    0x2916: [449, -57, 926, 55, 871],
-    0x2917: [450, -57, 926, 55, 871],
-    0x2918: [450, -57, 926, 50, 876],
-    0x2919: [449, -57, 926, 55, 871],
-    0x291A: [449, -57, 926, 55, 871],
-    0x291B: [449, -57, 926, 55, 871],
-    0x291C: [449, -57, 926, 55, 871],
-    0x291D: [449, -57, 926, 55, 871],
-    0x291E: [449, -57, 926, 55, 871],
-    0x291F: [450, -57, 926, 55, 871],
-    0x2920: [450, -57, 926, 55, 871],
-    0x2921: [662, 156, 926, 55, 871],
-    0x2922: [660, 156, 926, 55, 873],
-    0x2923: [662, 156, 926, 55, 871],
-    0x2924: [662, 156, 926, 55, 871],
-    0x2925: [662, 156, 926, 55, 871],
-    0x2926: [662, 156, 926, 55, 871],
-    0x2927: [662, 156, 926, 55, 873],
-    0x2928: [662, 156, 926, 53, 871],
-    0x2929: [662, 156, 926, 53, 871],
-    0x292A: [662, 156, 926, 55, 873],
-    0x292B: [662, 156, 926, 55, 871],
-    0x292C: [662, 156, 926, 55, 871],
-    0x292D: [662, 156, 926, 55, 871],
-    0x292E: [662, 156, 926, 55, 871],
-    0x292F: [662, 156, 926, 55, 871],
-    0x2930: [662, 154, 926, 55, 873],
-    0x2931: [662, 156, 926, 54, 870],
-    0x2932: [662, 156, 926, 55, 871],
-    0x2933: [449, -57, 926, 55, 871],
-    0x2934: [562, 0, 926, 141, 797],
-    0x2935: [562, 0, 926, 141, 797],
-    0x2936: [493, 163, 784, 87, 649],
-    0x2937: [493, 163, 784, 135, 697],
-    0x2938: [657, 153, 511, 70, 415],
-    0x2939: [657, 153, 511, 96, 441],
-    0x293A: [423, -78, 926, 69, 866],
-    0x293B: [423, -78, 926, 60, 857],
-    0x293C: [423, -64, 926, 59, 856],
-    0x293D: [423, 29, 926, 69, 866],
-    0x293E: [563, 116, 926, 69, 856],
-    0x293F: [563, 116, 926, 69, 856],
-    0x2940: [788, 116, 926, 92, 834],
-    0x2941: [788, 116, 926, 92, 834],
-    0x2942: [598, 92, 926, 55, 871],
-    0x2943: [598, 92, 926, 55, 871],
-    0x2944: [598, 92, 926, 55, 871],
-    0x2945: [449, 69, 926, 55, 871],
-    0x2946: [449, 69, 926, 55, 871],
-    0x2947: [449, -57, 926, 55, 871],
-    0x2948: [449, -57, 926, 38, 888],
-    0x2949: [662, 154, 511, 60, 451],
-    0x294A: [439, -67, 926, 38, 888],
-    0x294B: [439, -67, 926, 38, 888],
-    0x294C: [662, 156, 511, 69, 441],
-    0x294D: [662, 156, 511, 69, 441],
-    0x294E: [439, -220, 926, 38, 888],
-    0x294F: [662, 156, 511, 222, 441],
-    0x2950: [286, -67, 926, 38, 888],
-    0x2951: [662, 156, 511, 69, 288],
-    0x2952: [448, -58, 926, 55, 871],
-    0x2953: [448, -58, 926, 55, 871],
-    0x2954: [662, 156, 511, 60, 451],
-    0x2955: [662, 156, 511, 60, 451],
-    0x2956: [448, -58, 926, 55, 871],
-    0x2957: [448, -58, 926, 55, 871],
-    0x2958: [662, 156, 511, 60, 451],
-    0x2959: [662, 156, 511, 60, 451],
-    0x295A: [448, -58, 926, 55, 871],
-    0x295B: [448, -58, 926, 55, 871],
-    0x295C: [662, 156, 511, 60, 451],
-    0x295D: [662, 156, 511, 60, 451],
-    0x295E: [448, -58, 926, 55, 871],
-    0x295F: [448, -58, 926, 55, 871],
-    0x2960: [662, 156, 511, 59, 450],
-    0x2961: [662, 156, 511, 59, 450],
-    0x2962: [539, 33, 926, 55, 871],
-    0x2963: [662, 156, 685, 57, 629],
-    0x2964: [539, 33, 926, 55, 871],
-    0x2965: [662, 156, 685, 57, 629],
-    0x2966: [539, -120, 926, 55, 871],
-    0x2967: [386, 33, 926, 55, 871],
-    0x2968: [539, -120, 926, 55, 871],
-    0x2969: [386, 33, 926, 55, 871],
-    0x296A: [539, -120, 926, 55, 871],
-    0x296B: [386, 33, 926, 55, 871],
-    0x296C: [539, -120, 926, 55, 871],
-    0x296D: [386, 33, 926, 55, 871],
-    0x296E: [662, 156, 685, 57, 629],
-    0x296F: [662, 156, 685, 57, 629],
-    0x2970: [386, -120, 926, 55, 871],
-    0x2971: [565, -57, 926, 55, 871],
-    0x2972: [508, -57, 926, 55, 871],
-    0x2973: [449, 2, 926, 55, 871],
-    0x2974: [449, 2, 926, 55, 871],
-    0x2975: [449, 141, 926, 55, 871],
-    0x2976: [607, 283, 685, 64, 621],
-    0x2977: [532, 26, 926, 45, 871],
-    0x2978: [608, 282, 685, 64, 621],
-    0x2979: [627, 262, 685, 64, 621],
-    0x297A: [532, 26, 926, 45, 871],
-    0x297B: [627, 262, 685, 63, 620],
-    0x297C: [511, 5, 926, 135, 791],
-    0x297D: [511, 5, 926, 135, 791],
-    0x297E: [581, 75, 685, 84, 600],
-    0x297F: [581, 75, 685, 84, 600],
-    0xE0B4: [556, -220, 313, 55, 258],
-    0xE0B5: [556, -220, 313, 55, 258],
-    0xE0B6: [449, -57, 0, 30, 124],
-    0xE112: [662, 156, 926, 55, 872],
-    0xE113: [662, 156, 926, 55, 872],
-    0xE114: [662, 156, 926, 54, 871],
-    0xE115: [662, 156, 926, 54, 871],
-    0xE11A: [662, 156, 511, 59, 451],
-    0xE11B: [662, 156, 511, 59, 451],
-    0xE11C: [662, 156, 926, 54, 872],
-    0xE11D: [662, 156, 926, 54, 872],
-    0xE11E: [662, 156, 926, 54, 872],
-    0xE11F: [662, 156, 926, 54, 872],
-    0xE120: [411, -94, 511, 220, 293],
-    0xE121: [290, -217, 311, -3, 314],
-    0xE122: [382, -123, 367, 54, 313],
-    0xE123: [383, -124, 367, 54, 313],
-    0xE124: [662, 156, 511, 59, 451],
-    0xE125: [662, 156, 511, 59, 451],
-    0xE126: [449, -57, 926, 54, 872],
-    0xE127: [449, -57, 926, 54, 872],
-    0xE128: [662, 155, 926, 54, 872],
-    0xE129: [662, 156, 926, 55, 872],
-    0xE12A: [662, 156, 926, 54, 871],
-    0xE12B: [661, 156, 926, 54, 872],
-    0xE12C: [404, -101, 511, 220, 293],
-    0xE12D: [403, -100, 511, 220, 293],
-    0xE12E: [290, -217, 371, 14, 317],
-    0xE12F: [290, -217, 371, 54, 357],
-    0xE130: [373, -134, 379, 70, 309],
-    0xE131: [373, -134, 379, 70, 309],
-    0xE132: [373, -134, 379, 70, 309],
-    0xE133: [373, -134, 379, 70, 309],
-    0xE134: [486, -20, 315, 0, 315],
-    0xE135: [405, -101, 926, 230, 696],
-    0xE136: [541, 35, 315, 0, 315],
-    0xE137: [405, -101, 1033, 229, 805]
+  directory: 'Arrows/Regular',
+  family: 'STIXMathJax_Arrows',
+  testString: '\u00A0\u219C\u219D\u219F\u21A1\u21A4\u21A5\u21A7\u21A8\u21AF\u21B2\u21B3\u21B4\u21B5\u21B8',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x219C: [411, -102, 926, 70, 856],
+  0x219D: [411, -102, 926, 70, 856],
+  0x219F: [662, 154, 511, 60, 451],
+  0x21A1: [662, 154, 511, 60, 451],
+  0x21A4: [450, -57, 926, 70, 857],
+  0x21A5: [662, 154, 511, 60, 451],
+  0x21A7: [662, 154, 511, 59, 451],
+  0x21A8: [662, 154, 511, 59, 451],
+  0x21AF: [662, 154, 511, 60, 451],
+  0x21B2: [662, 154, 463, 25, 419],
+  0x21B3: [662, 154, 463, 39, 433],
+  0x21B4: [662, 154, 926, 70, 856],
+  0x21B5: [662, 156, 926, 70, 856],
+  0x21B8: [732, 156, 926, 55, 872],
+  0x21B9: [598, 92, 926, 60, 866],
+  0x21C5: [662, 156, 773, 31, 742],
+  0x21D6: [662, 156, 926, 55, 874],
+  0x21D7: [662, 156, 926, 55, 874],
+  0x21D8: [662, 156, 926, 55, 874],
+  0x21D9: [662, 156, 926, 55, 874],
+  0x21DC: [449, -58, 926, 60, 866],
+  0x21DE: [662, 156, 511, 60, 451],
+  0x21DF: [662, 156, 511, 60, 451],
+  0x21E1: [662, 156, 511, 60, 451],
+  0x21E3: [662, 156, 511, 60, 451],
+  0x21E4: [450, -58, 926, 60, 866],
+  0x21E5: [450, -58, 926, 60, 866],
+  0x21E6: [551, 45, 926, 60, 866],
+  0x21E7: [662, 156, 685, 45, 641],
+  0x21E8: [551, 45, 926, 60, 866],
+  0x21E9: [662, 156, 685, 45, 641],
+  0x21EA: [690, 184, 685, 45, 641],
+  0x21F4: [448, -57, 926, 70, 856],
+  0x21F5: [662, 156, 773, 31, 742],
+  0x21F6: [739, 232, 926, 60, 866],
+  0x21F7: [450, -58, 926, 60, 866],
+  0x21F8: [450, -58, 926, 55, 861],
+  0x21F9: [450, -58, 926, 48, 878],
+  0x21FA: [450, -58, 926, 60, 866],
+  0x21FB: [450, -58, 926, 60, 866],
+  0x21FC: [450, -58, 926, 38, 888],
+  0x21FD: [449, -57, 926, 60, 866],
+  0x21FE: [449, -57, 926, 60, 866],
+  0x21FF: [449, -57, 926, 20, 906],
+  0x27F0: [662, 156, 1033, 69, 965],
+  0x27F1: [662, 156, 1033, 69, 965],
+  0x27F2: [626, 116, 974, 54, 882],
+  0x27F3: [626, 116, 974, 92, 920],
+  0x27F4: [569, 61, 1200, 52, 1147],
+  0x27FB: [450, -57, 1574, 55, 1519],
+  0x27FD: [551, 45, 1574, 55, 1519],
+  0x27FE: [551, 45, 1574, 55, 1519],
+  0x27FF: [449, -58, 1574, 55, 1519],
+  0x2900: [450, -57, 926, 56, 871],
+  0x2901: [450, -57, 926, 55, 871],
+  0x2902: [551, 45, 926, 55, 871],
+  0x2903: [551, 45, 926, 55, 871],
+  0x2904: [551, 45, 926, 20, 906],
+  0x2905: [450, -57, 926, 55, 871],
+  0x2906: [551, 45, 926, 55, 871],
+  0x2907: [551, 45, 926, 55, 871],
+  0x2908: [662, 156, 511, 59, 452],
+  0x2909: [662, 156, 511, 59, 452],
+  0x290A: [662, 156, 926, 71, 854],
+  0x290B: [662, 156, 926, 72, 855],
+  0x290C: [449, -57, 926, 55, 871],
+  0x290D: [449, -57, 926, 55, 871],
+  0x290E: [449, -57, 926, 55, 871],
+  0x290F: [449, -57, 926, 55, 871],
+  0x2910: [449, -57, 1412, 55, 1357],
+  0x2911: [449, -57, 926, 55, 873],
+  0x2912: [662, 156, 511, 59, 452],
+  0x2913: [662, 156, 511, 59, 452],
+  0x2914: [450, -57, 926, 55, 871],
+  0x2915: [450, -57, 926, 55, 871],
+  0x2916: [449, -57, 926, 55, 871],
+  0x2917: [450, -57, 926, 55, 871],
+  0x2918: [450, -57, 926, 50, 876],
+  0x2919: [449, -57, 926, 55, 871],
+  0x291A: [449, -57, 926, 55, 871],
+  0x291B: [449, -57, 926, 55, 871],
+  0x291C: [449, -57, 926, 55, 871],
+  0x291D: [449, -57, 926, 55, 871],
+  0x291E: [449, -57, 926, 55, 871],
+  0x291F: [450, -57, 926, 55, 871],
+  0x2920: [450, -57, 926, 55, 871],
+  0x2921: [662, 156, 926, 55, 871],
+  0x2922: [660, 156, 926, 55, 873],
+  0x2923: [662, 156, 926, 55, 871],
+  0x2924: [662, 156, 926, 55, 871],
+  0x2925: [662, 156, 926, 55, 871],
+  0x2926: [662, 156, 926, 55, 871],
+  0x2927: [662, 156, 926, 55, 873],
+  0x2928: [662, 156, 926, 53, 871],
+  0x2929: [662, 156, 926, 53, 871],
+  0x292A: [662, 156, 926, 55, 873],
+  0x292B: [662, 156, 926, 55, 871],
+  0x292C: [662, 156, 926, 55, 871],
+  0x292D: [662, 156, 926, 55, 871],
+  0x292E: [662, 156, 926, 55, 871],
+  0x292F: [662, 156, 926, 55, 871],
+  0x2930: [662, 154, 926, 55, 873],
+  0x2931: [662, 156, 926, 54, 870],
+  0x2932: [662, 156, 926, 55, 871],
+  0x2933: [449, -57, 926, 55, 871],
+  0x2934: [562, 0, 926, 141, 797],
+  0x2935: [562, 0, 926, 141, 797],
+  0x2936: [493, 163, 784, 87, 649],
+  0x2937: [493, 163, 784, 135, 697],
+  0x2938: [657, 153, 511, 70, 415],
+  0x2939: [657, 153, 511, 96, 441],
+  0x293A: [423, -78, 926, 69, 866],
+  0x293B: [423, -78, 926, 60, 857],
+  0x293C: [423, -64, 926, 59, 856],
+  0x293D: [423, 29, 926, 69, 866],
+  0x293E: [563, 116, 926, 69, 856],
+  0x293F: [563, 116, 926, 69, 856],
+  0x2940: [788, 116, 926, 92, 834],
+  0x2941: [788, 116, 926, 92, 834],
+  0x2942: [598, 92, 926, 55, 871],
+  0x2943: [598, 92, 926, 55, 871],
+  0x2944: [598, 92, 926, 55, 871],
+  0x2945: [449, 69, 926, 55, 871],
+  0x2946: [449, 69, 926, 55, 871],
+  0x2947: [449, -57, 926, 55, 871],
+  0x2948: [449, -57, 926, 38, 888],
+  0x2949: [662, 154, 511, 60, 451],
+  0x294A: [439, -67, 926, 38, 888],
+  0x294B: [439, -67, 926, 38, 888],
+  0x294C: [662, 156, 511, 69, 441],
+  0x294D: [662, 156, 511, 69, 441],
+  0x294E: [439, -220, 926, 38, 888],
+  0x294F: [662, 156, 511, 222, 441],
+  0x2950: [286, -67, 926, 38, 888],
+  0x2951: [662, 156, 511, 69, 288],
+  0x2952: [448, -58, 926, 55, 871],
+  0x2953: [448, -58, 926, 55, 871],
+  0x2954: [662, 156, 511, 60, 451],
+  0x2955: [662, 156, 511, 60, 451],
+  0x2956: [448, -58, 926, 55, 871],
+  0x2957: [448, -58, 926, 55, 871],
+  0x2958: [662, 156, 511, 60, 451],
+  0x2959: [662, 156, 511, 60, 451],
+  0x295A: [448, -58, 926, 55, 871],
+  0x295B: [448, -58, 926, 55, 871],
+  0x295C: [662, 156, 511, 60, 451],
+  0x295D: [662, 156, 511, 60, 451],
+  0x295E: [448, -58, 926, 55, 871],
+  0x295F: [448, -58, 926, 55, 871],
+  0x2960: [662, 156, 511, 59, 450],
+  0x2961: [662, 156, 511, 59, 450],
+  0x2962: [539, 33, 926, 55, 871],
+  0x2963: [662, 156, 685, 57, 629],
+  0x2964: [539, 33, 926, 55, 871],
+  0x2965: [662, 156, 685, 57, 629],
+  0x2966: [539, -120, 926, 55, 871],
+  0x2967: [386, 33, 926, 55, 871],
+  0x2968: [539, -120, 926, 55, 871],
+  0x2969: [386, 33, 926, 55, 871],
+  0x296A: [539, -120, 926, 55, 871],
+  0x296B: [386, 33, 926, 55, 871],
+  0x296C: [539, -120, 926, 55, 871],
+  0x296D: [386, 33, 926, 55, 871],
+  0x296E: [662, 156, 685, 57, 629],
+  0x296F: [662, 156, 685, 57, 629],
+  0x2970: [386, -120, 926, 55, 871],
+  0x2971: [565, -57, 926, 55, 871],
+  0x2972: [508, -57, 926, 55, 871],
+  0x2973: [449, 2, 926, 55, 871],
+  0x2974: [449, 2, 926, 55, 871],
+  0x2975: [449, 141, 926, 55, 871],
+  0x2976: [607, 283, 685, 64, 621],
+  0x2977: [532, 26, 926, 45, 871],
+  0x2978: [608, 282, 685, 64, 621],
+  0x2979: [627, 262, 685, 64, 621],
+  0x297A: [532, 26, 926, 45, 871],
+  0x297B: [627, 262, 685, 63, 620],
+  0x297C: [511, 5, 926, 135, 791],
+  0x297D: [511, 5, 926, 135, 791],
+  0x297E: [581, 75, 685, 84, 600],
+  0x297F: [581, 75, 685, 84, 600],
+  0xE0B4: [556, -220, 313, 55, 258],
+  0xE0B5: [556, -220, 313, 55, 258],
+  0xE0B6: [449, -57, 0, 30, 124],
+  0xE112: [662, 156, 926, 55, 872],
+  0xE113: [662, 156, 926, 55, 872],
+  0xE114: [662, 156, 926, 54, 871],
+  0xE115: [662, 156, 926, 54, 871],
+  0xE11A: [662, 156, 511, 59, 451],
+  0xE11B: [662, 156, 511, 59, 451],
+  0xE11C: [662, 156, 926, 54, 872],
+  0xE11D: [662, 156, 926, 54, 872],
+  0xE11E: [662, 156, 926, 54, 872],
+  0xE11F: [662, 156, 926, 54, 872],
+  0xE120: [411, -94, 511, 220, 293],
+  0xE121: [290, -217, 311, -3, 314],
+  0xE122: [382, -123, 367, 54, 313],
+  0xE123: [383, -124, 367, 54, 313],
+  0xE124: [662, 156, 511, 59, 451],
+  0xE125: [662, 156, 511, 59, 451],
+  0xE126: [449, -57, 926, 54, 872],
+  0xE127: [449, -57, 926, 54, 872],
+  0xE128: [662, 155, 926, 54, 872],
+  0xE129: [662, 156, 926, 55, 872],
+  0xE12A: [662, 156, 926, 54, 871],
+  0xE12B: [661, 156, 926, 54, 872],
+  0xE12C: [404, -101, 511, 220, 293],
+  0xE12D: [403, -100, 511, 220, 293],
+  0xE12E: [290, -217, 371, 14, 317],
+  0xE12F: [290, -217, 371, 54, 357],
+  0xE130: [373, -134, 379, 70, 309],
+  0xE131: [373, -134, 379, 70, 309],
+  0xE132: [373, -134, 379, 70, 309],
+  0xE133: [373, -134, 379, 70, 309],
+  0xE134: [486, -20, 315, 0, 315],
+  0xE135: [405, -101, 926, 230, 696],
+  0xE136: [541, 35, 315, 0, 315],
+  0xE137: [405, -101, 1033, 229, 805]
 };
 
 MathJax.Callback.Queue(

+ 72 - 72
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/DoubleStruck/Regular/Main.js

@@ -18,78 +18,78 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_DoubleStruck'] = {
-    directory: 'DoubleStruck/Regular',
-    family: 'STIXMathJax_DoubleStruck',
-    testString: '\u00A0\u2102\u210D\u2115\u2119\u211A\u211D\u2124\u213C\u213D\u213E\u213F\u2140\uD835\uDD38\uD835\uDD39',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2102: [676, 14, 705, 45, 663],
-    0x210D: [662, 0, 718, 70, 648],
-    0x2115: [662, 0, 698, 70, 628],
-    0x2119: [662, 0, 678, 70, 628],
-    0x211A: [676, 65, 765, 45, 715],
-    0x211D: [662, 0, 747, 70, 712],
-    0x2124: [662, 0, 727, 50, 677],
-    0x213C: [450, 12, 673, 25, 645],
-    0x213D: [460, 218, 540, 0, 526],
-    0x213E: [662, 0, 469, 70, 567],
-    0x213F: [662, 0, 718, 70, 648],
-    0x2140: [763, 259, 923, 61, 882],
-    0x1D538: [662, 0, 741, 50, 691],
-    0x1D539: [662, 0, 676, 70, 626],
-    0x1D53B: [662, 0, 722, 70, 677],
-    0x1D53C: [662, 0, 622, 70, 567],
-    0x1D53D: [662, 0, 469, 70, 567],
-    0x1D53E: [676, 13, 706, 45, 664],
-    0x1D540: [662, 0, 322, 78, 244],
-    0x1D541: [662, 14, 560, 40, 495],
-    0x1D542: [674, 0, 735, 70, 729],
-    0x1D543: [662, 0, 591, 70, 571],
-    0x1D544: [662, 0, 855, 70, 785],
-    0x1D546: [676, 14, 760, 45, 715],
-    0x1D54A: [676, 14, 636, 35, 597],
-    0x1D54B: [662, 0, 527, 20, 622],
-    0x1D54C: [662, 14, 698, 65, 633],
-    0x1D54D: [662, 0, 568, 12, 653],
-    0x1D54E: [662, 0, 920, 12, 949],
-    0x1D54F: [662, 0, 768, 35, 733],
-    0x1D550: [662, 0, 563, 12, 685],
-    0x1D552: [460, 10, 561, 45, 506],
-    0x1D553: [683, 10, 565, 50, 524],
-    0x1D554: [460, 10, 520, 45, 475],
-    0x1D555: [683, 10, 574, 45, 519],
-    0x1D556: [460, 10, 523, 45, 478],
-    0x1D557: [683, 0, 368, 25, 431],
-    0x1D558: [460, 218, 574, 45, 519],
-    0x1D559: [683, 0, 544, 55, 489],
-    0x1D55A: [683, 0, 258, 55, 203],
-    0x1D55B: [683, 217, 305, -15, 250],
-    0x1D55C: [683, 0, 551, 50, 539],
-    0x1D55D: [683, 0, 258, 55, 203],
-    0x1D55E: [460, 0, 830, 55, 775],
-    0x1D55F: [460, 0, 544, 55, 489],
-    0x1D560: [458, 12, 553, 45, 508],
-    0x1D561: [460, 218, 574, 55, 529],
-    0x1D562: [460, 218, 574, 45, 519],
-    0x1D563: [462, 0, 301, 55, 407],
-    0x1D564: [460, 10, 519, 36, 483],
-    0x1D565: [633, 10, 329, 20, 297],
-    0x1D566: [450, 10, 544, 55, 489],
-    0x1D567: [450, 0, 443, 20, 479],
-    0x1D568: [450, 0, 676, 20, 695],
-    0x1D569: [450, 0, 560, 30, 530],
-    0x1D56A: [450, 218, 468, 20, 510],
-    0x1D56B: [450, 0, 519, 43, 476],
-    0x1D7D8: [676, 14, 540, 28, 512],
-    0x1D7D9: [693, 0, 540, 91, 355],
-    0x1D7DA: [676, 0, 547, 48, 514],
-    0x1D7DB: [676, 14, 540, 49, 478],
-    0x1D7DC: [676, 0, 540, 20, 524],
-    0x1D7DD: [662, 14, 540, 35, 489],
-    0x1D7DE: [676, 14, 540, 28, 512],
-    0x1D7DF: [662, 0, 540, 24, 511],
-    0x1D7E0: [676, 14, 540, 28, 512],
-    0x1D7E1: [676, 12, 540, 28, 512]
+  directory: 'DoubleStruck/Regular',
+  family: 'STIXMathJax_DoubleStruck',
+  testString: '\u00A0\u2102\u210D\u2115\u2119\u211A\u211D\u2124\u213C\u213D\u213E\u213F\u2140\uD835\uDD38\uD835\uDD39',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2102: [676, 14, 705, 45, 663],
+  0x210D: [662, 0, 718, 70, 648],
+  0x2115: [662, 0, 698, 70, 628],
+  0x2119: [662, 0, 678, 70, 628],
+  0x211A: [676, 65, 765, 45, 715],
+  0x211D: [662, 0, 747, 70, 712],
+  0x2124: [662, 0, 727, 50, 677],
+  0x213C: [450, 12, 673, 25, 645],
+  0x213D: [460, 218, 540, 0, 526],
+  0x213E: [662, 0, 469, 70, 567],
+  0x213F: [662, 0, 718, 70, 648],
+  0x2140: [763, 259, 923, 61, 882],
+  0x1D538: [662, 0, 741, 50, 691],
+  0x1D539: [662, 0, 676, 70, 626],
+  0x1D53B: [662, 0, 722, 70, 677],
+  0x1D53C: [662, 0, 622, 70, 567],
+  0x1D53D: [662, 0, 469, 70, 567],
+  0x1D53E: [676, 13, 706, 45, 664],
+  0x1D540: [662, 0, 322, 78, 244],
+  0x1D541: [662, 14, 560, 40, 495],
+  0x1D542: [674, 0, 735, 70, 729],
+  0x1D543: [662, 0, 591, 70, 571],
+  0x1D544: [662, 0, 855, 70, 785],
+  0x1D546: [676, 14, 760, 45, 715],
+  0x1D54A: [676, 14, 636, 35, 597],
+  0x1D54B: [662, 0, 527, 20, 622],
+  0x1D54C: [662, 14, 698, 65, 633],
+  0x1D54D: [662, 0, 568, 12, 653],
+  0x1D54E: [662, 0, 920, 12, 949],
+  0x1D54F: [662, 0, 768, 35, 733],
+  0x1D550: [662, 0, 563, 12, 685],
+  0x1D552: [460, 10, 561, 45, 506],
+  0x1D553: [683, 10, 565, 50, 524],
+  0x1D554: [460, 10, 520, 45, 475],
+  0x1D555: [683, 10, 574, 45, 519],
+  0x1D556: [460, 10, 523, 45, 478],
+  0x1D557: [683, 0, 368, 25, 431],
+  0x1D558: [460, 218, 574, 45, 519],
+  0x1D559: [683, 0, 544, 55, 489],
+  0x1D55A: [683, 0, 258, 55, 203],
+  0x1D55B: [683, 217, 305, -15, 250],
+  0x1D55C: [683, 0, 551, 50, 539],
+  0x1D55D: [683, 0, 258, 55, 203],
+  0x1D55E: [460, 0, 830, 55, 775],
+  0x1D55F: [460, 0, 544, 55, 489],
+  0x1D560: [458, 12, 553, 45, 508],
+  0x1D561: [460, 218, 574, 55, 529],
+  0x1D562: [460, 218, 574, 45, 519],
+  0x1D563: [462, 0, 301, 55, 407],
+  0x1D564: [460, 10, 519, 36, 483],
+  0x1D565: [633, 10, 329, 20, 297],
+  0x1D566: [450, 10, 544, 55, 489],
+  0x1D567: [450, 0, 443, 20, 479],
+  0x1D568: [450, 0, 676, 20, 695],
+  0x1D569: [450, 0, 560, 30, 530],
+  0x1D56A: [450, 218, 468, 20, 510],
+  0x1D56B: [450, 0, 519, 43, 476],
+  0x1D7D8: [676, 14, 540, 28, 512],
+  0x1D7D9: [693, 0, 540, 91, 355],
+  0x1D7DA: [676, 0, 547, 48, 514],
+  0x1D7DB: [676, 14, 540, 49, 478],
+  0x1D7DC: [676, 0, 540, 20, 524],
+  0x1D7DD: [662, 14, 540, 35, 489],
+  0x1D7DE: [676, 14, 540, 28, 512],
+  0x1D7DF: [662, 0, 540, 24, 511],
+  0x1D7E0: [676, 14, 540, 28, 512],
+  0x1D7E1: [676, 12, 540, 28, 512]
 };
 
 MathJax.Callback.Queue(

+ 55 - 55
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Fraktur/Regular/Main.js

@@ -18,61 +18,61 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Fraktur'] = {
-    directory: 'Fraktur/Regular',
-    family: 'STIXMathJax_Fraktur',
-    testString: '\u00A0\u210C\u2128\u212D\uD835\uDD04\uD835\uDD05\uD835\uDD07\uD835\uDD08\uD835\uDD09\uD835\uDD0A\uD835\uDD0D\uD835\uDD0E\uD835\uDD0F\uD835\uDD10\uD835\uDD11',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x210C: [695, 204, 824, 43, 773],
-    0x2128: [695, 204, 726, 50, 676],
-    0x212D: [695, 24, 717, 47, 675],
-    0x1D504: [695, 22, 785, 47, 742],
-    0x1D505: [704, 24, 822, 48, 774],
-    0x1D507: [695, 24, 868, 50, 817],
-    0x1D508: [695, 24, 729, 50, 678],
-    0x1D509: [695, 204, 767, 50, 716],
-    0x1D50A: [695, 24, 806, 50, 755],
-    0x1D50D: [695, 204, 772, 50, 721],
-    0x1D50E: [695, 22, 846, 50, 801],
-    0x1D50F: [695, 24, 669, 47, 626],
-    0x1D510: [695, 22, 1083, 50, 1031],
-    0x1D511: [695, 22, 827, 50, 775],
-    0x1D512: [695, 24, 837, 37, 786],
-    0x1D513: [695, 204, 823, 40, 773],
-    0x1D514: [695, 64, 865, 37, 814],
-    0x1D516: [695, 24, 856, 55, 801],
-    0x1D517: [695, 24, 766, 47, 722],
-    0x1D518: [696, 22, 787, 50, 744],
-    0x1D519: [695, 24, 831, 48, 781],
-    0x1D51A: [695, 24, 1075, 48, 1025],
-    0x1D51B: [695, 31, 763, 46, 735],
-    0x1D51C: [695, 204, 766, 47, 714],
-    0x1D51E: [468, 18, 530, 51, 479],
-    0x1D51F: [695, 18, 513, 46, 462],
-    0x1D520: [468, 18, 385, 57, 344],
-    0x1D521: [695, 18, 506, 45, 455],
-    0x1D522: [468, 18, 420, 47, 379],
-    0x1D523: [694, 209, 327, 27, 316],
-    0x1D524: [468, 209, 499, 51, 461],
-    0x1D525: [695, 209, 528, 48, 476],
-    0x1D526: [694, 18, 384, 42, 338],
-    0x1D527: [695, 209, 345, 44, 311],
-    0x1D528: [695, 18, 420, 48, 368],
-    0x1D529: [695, 18, 398, 46, 350],
-    0x1D52A: [468, 25, 910, 59, 856],
-    0x1D52B: [468, 25, 636, 60, 582],
-    0x1D52C: [468, 18, 503, 50, 452],
-    0x1D52D: [586, 209, 555, 38, 504],
-    0x1D52E: [468, 209, 507, 51, 459],
-    0x1D52F: [468, 18, 463, 38, 426],
-    0x1D530: [623, 24, 518, 49, 469],
-    0x1D531: [656, 18, 374, 38, 337],
-    0x1D532: [478, 18, 647, 60, 593],
-    0x1D533: [586, 18, 515, 47, 464],
-    0x1D534: [586, 25, 759, 41, 708],
-    0x1D535: [468, 189, 456, 45, 406],
-    0x1D536: [586, 209, 516, 48, 464],
-    0x1D537: [468, 209, 457, 43, 407]
+  directory: 'Fraktur/Regular',
+  family: 'STIXMathJax_Fraktur',
+  testString: '\u00A0\u210C\u2128\u212D\uD835\uDD04\uD835\uDD05\uD835\uDD07\uD835\uDD08\uD835\uDD09\uD835\uDD0A\uD835\uDD0D\uD835\uDD0E\uD835\uDD0F\uD835\uDD10\uD835\uDD11',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x210C: [695, 204, 824, 43, 773],
+  0x2128: [695, 204, 726, 50, 676],
+  0x212D: [695, 24, 717, 47, 675],
+  0x1D504: [695, 22, 785, 47, 742],
+  0x1D505: [704, 24, 822, 48, 774],
+  0x1D507: [695, 24, 868, 50, 817],
+  0x1D508: [695, 24, 729, 50, 678],
+  0x1D509: [695, 204, 767, 50, 716],
+  0x1D50A: [695, 24, 806, 50, 755],
+  0x1D50D: [695, 204, 772, 50, 721],
+  0x1D50E: [695, 22, 846, 50, 801],
+  0x1D50F: [695, 24, 669, 47, 626],
+  0x1D510: [695, 22, 1083, 50, 1031],
+  0x1D511: [695, 22, 827, 50, 775],
+  0x1D512: [695, 24, 837, 37, 786],
+  0x1D513: [695, 204, 823, 40, 773],
+  0x1D514: [695, 64, 865, 37, 814],
+  0x1D516: [695, 24, 856, 55, 801],
+  0x1D517: [695, 24, 766, 47, 722],
+  0x1D518: [696, 22, 787, 50, 744],
+  0x1D519: [695, 24, 831, 48, 781],
+  0x1D51A: [695, 24, 1075, 48, 1025],
+  0x1D51B: [695, 31, 763, 46, 735],
+  0x1D51C: [695, 204, 766, 47, 714],
+  0x1D51E: [468, 18, 530, 51, 479],
+  0x1D51F: [695, 18, 513, 46, 462],
+  0x1D520: [468, 18, 385, 57, 344],
+  0x1D521: [695, 18, 506, 45, 455],
+  0x1D522: [468, 18, 420, 47, 379],
+  0x1D523: [694, 209, 327, 27, 316],
+  0x1D524: [468, 209, 499, 51, 461],
+  0x1D525: [695, 209, 528, 48, 476],
+  0x1D526: [694, 18, 384, 42, 338],
+  0x1D527: [695, 209, 345, 44, 311],
+  0x1D528: [695, 18, 420, 48, 368],
+  0x1D529: [695, 18, 398, 46, 350],
+  0x1D52A: [468, 25, 910, 59, 856],
+  0x1D52B: [468, 25, 636, 60, 582],
+  0x1D52C: [468, 18, 503, 50, 452],
+  0x1D52D: [586, 209, 555, 38, 504],
+  0x1D52E: [468, 209, 507, 51, 459],
+  0x1D52F: [468, 18, 463, 38, 426],
+  0x1D530: [623, 24, 518, 49, 469],
+  0x1D531: [656, 18, 374, 38, 337],
+  0x1D532: [478, 18, 647, 60, 593],
+  0x1D533: [586, 18, 515, 47, 464],
+  0x1D534: [586, 25, 759, 41, 708],
+  0x1D535: [468, 189, 456, 45, 406],
+  0x1D536: [586, 209, 516, 48, 464],
+  0x1D537: [468, 209, 457, 43, 407]
 };
 
 MathJax.Callback.Queue(

+ 257 - 257
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Latin/Bold/Main.js

@@ -18,263 +18,263 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Latin-bold'] = {
-    directory: 'Latin/Bold',
-    family: 'STIXMathJax_Latin',
-    weight: 'bold',
-    testString: '\u00A0\u00A1\u00A2\u00A4\u00A6\u00A9\u00AA\u00AB\u00AD\u00B2\u00B3\u00B6\u00B8\u00B9\u00BA',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0xA1: [501, 203, 333, 82, 252],
-    0xA2: [588, 140, 500, 53, 458],
-    0xA4: [542, 10, 500, -26, 526],
-    0xA6: [691, 19, 220, 66, 154],
-    0xA9: [691, 19, 747, 26, 721],
-    0xAA: [688, -397, 300, -1, 301],
-    0xAB: [415, -36, 500, 23, 473],
-    0xAD: [287, -171, 333, 44, 287],
-    0xB2: [688, -275, 300, 0, 300],
-    0xB3: [688, -268, 300, 3, 297],
-    0xB6: [676, 186, 639, 60, 579],
-    0xB8: [0, 218, 333, 68, 294],
-    0xB9: [688, -275, 300, 28, 273],
-    0xBA: [688, -397, 330, 18, 312],
-    0xBB: [415, -36, 500, 27, 477],
-    0xBC: [688, 12, 750, 28, 743],
-    0xBD: [688, 12, 750, -7, 775],
-    0xBE: [688, 12, 750, 23, 733],
-    0xBF: [501, 201, 500, 55, 443],
-    0xC0: [963, 0, 722, 9, 689],
-    0xC1: [963, 0, 722, 9, 689],
-    0xC2: [954, 0, 722, 9, 689],
-    0xC3: [924, 0, 722, 9, 689],
-    0xC4: [916, 0, 722, 9, 689],
-    0xC5: [1000, 0, 722, 9, 689],
-    0xC6: [676, 0, 1000, 4, 951],
-    0xC7: [691, 218, 722, 49, 687],
-    0xC8: [963, 0, 667, 16, 641],
-    0xC9: [963, 0, 667, 16, 641],
-    0xCA: [954, 0, 667, 16, 641],
-    0xCB: [916, 0, 667, 16, 641],
-    0xCC: [963, 0, 389, 20, 370],
-    0xCD: [963, 0, 389, 20, 370],
-    0xCE: [954, 0, 389, 20, 370],
-    0xCF: [916, 0, 389, 20, 370],
-    0xD0: [676, 0, 722, 6, 690],
-    0xD1: [924, 18, 722, 16, 701],
-    0xD2: [963, 19, 778, 35, 743],
-    0xD3: [963, 19, 778, 35, 743],
-    0xD4: [954, 19, 778, 35, 743],
-    0xD5: [924, 19, 778, 35, 743],
-    0xD6: [916, 19, 778, 35, 743],
-    0xD8: [737, 74, 778, 35, 743],
-    0xD9: [963, 19, 722, 16, 701],
-    0xDA: [963, 19, 722, 16, 701],
-    0xDB: [954, 19, 722, 16, 701],
-    0xDC: [916, 19, 722, 16, 701],
-    0xDD: [963, 0, 722, 15, 699],
-    0xDE: [676, 0, 611, 16, 600],
-    0xDF: [691, 12, 556, 19, 517],
-    0xE0: [713, 14, 500, 25, 488],
-    0xE1: [713, 14, 500, 25, 488],
-    0xE2: [704, 14, 500, 25, 488],
-    0xE3: [674, 14, 500, 25, 488],
-    0xE4: [666, 14, 500, 25, 488],
-    0xE5: [752, 14, 500, 25, 488],
-    0xE6: [473, 14, 722, 33, 694],
-    0xE7: [473, 218, 444, 25, 430],
-    0xE8: [713, 14, 444, 25, 427],
-    0xE9: [713, 14, 444, 25, 427],
-    0xEA: [704, 14, 444, 25, 427],
-    0xEB: [666, 14, 444, 25, 427],
-    0xEC: [713, 0, 278, 14, 257],
-    0xED: [713, 0, 278, 15, 258],
-    0xEE: [704, 0, 278, -29, 308],
-    0xEF: [666, 0, 278, -29, 310],
-    0xF1: [674, 0, 556, 21, 539],
-    0xF2: [713, 14, 500, 25, 476],
-    0xF3: [713, 14, 500, 25, 476],
-    0xF4: [704, 14, 500, 25, 476],
-    0xF5: [674, 14, 500, 25, 476],
-    0xF6: [666, 14, 500, 25, 476],
-    0xF8: [549, 92, 500, 25, 476],
-    0xF9: [713, 14, 556, 16, 538],
-    0xFA: [713, 14, 556, 16, 538],
-    0xFB: [704, 14, 556, 16, 538],
-    0xFC: [666, 14, 556, 16, 538],
-    0xFD: [713, 205, 500, 16, 482],
-    0xFE: [676, 205, 556, 19, 524],
-    0xFF: [666, 205, 500, 16, 482],
-    0x100: [810, 0, 722, 9, 689],
-    0x101: [600, 14, 500, 25, 488],
-    0x102: [901, 0, 722, 9, 689],
-    0x103: [691, 14, 500, 25, 488],
-    0x104: [690, 205, 722, 9, 721],
-    0x105: [473, 205, 500, 25, 569],
-    0x106: [923, 19, 722, 49, 687],
-    0x107: [713, 14, 444, 25, 430],
-    0x108: [914, 19, 722, 49, 687],
-    0x109: [704, 14, 444, 25, 430],
-    0x10A: [876, 19, 722, 49, 687],
-    0x10B: [666, 14, 444, 25, 430],
-    0x10C: [914, 19, 722, 49, 687],
-    0x10D: [704, 14, 444, 25, 430],
-    0x10E: [914, 0, 722, 14, 690],
-    0x10F: [709, 14, 680, 25, 710],
-    0x110: [676, 0, 722, 6, 690],
-    0x111: [676, 14, 556, 25, 534],
-    0x112: [810, 0, 667, 16, 641],
-    0x113: [600, 14, 444, 25, 427],
-    0x114: [901, 0, 667, 16, 641],
-    0x115: [691, 14, 444, 25, 427],
-    0x116: [876, 0, 667, 16, 641],
-    0x117: [666, 14, 444, 25, 427],
-    0x118: [676, 205, 667, 16, 641],
-    0x119: [473, 205, 444, 25, 435],
-    0x11A: [914, 0, 667, 16, 641],
-    0x11B: [704, 14, 444, 25, 427],
-    0x11C: [914, 19, 778, 37, 755],
-    0x11D: [704, 206, 500, 28, 483],
-    0x11E: [901, 19, 778, 37, 755],
-    0x11F: [691, 206, 500, 28, 483],
-    0x120: [876, 19, 778, 37, 755],
-    0x121: [666, 206, 500, 28, 483],
-    0x122: [691, 378, 778, 37, 755],
-    0x123: [863, 206, 500, 28, 483],
-    0x124: [914, 0, 778, 21, 759],
-    0x125: [914, 0, 556, 15, 534],
-    0x126: [676, 0, 778, 21, 759],
-    0x128: [884, 0, 389, 14, 379],
-    0x129: [674, 0, 278, -47, 318],
-    0x12A: [810, 0, 389, 20, 370],
-    0x12B: [600, 0, 278, -25, 305],
-    0x12C: [900, 0, 389, 20, 370],
-    0x12D: [691, 0, 278, -11, 292],
-    0x12E: [676, 205, 389, 20, 389],
-    0x12F: [691, 205, 278, 15, 321],
-    0x130: [876, 0, 389, 20, 370],
-    0x132: [676, 96, 838, 20, 917],
-    0x133: [691, 203, 552, 15, 531],
-    0x134: [914, 96, 500, 3, 479],
-    0x135: [704, 203, 333, -57, 335],
-    0x136: [676, 378, 778, 30, 769],
-    0x137: [676, 378, 556, 22, 543],
-    0x138: [470, 0, 600, 19, 627],
-    0x139: [923, 0, 667, 19, 638],
-    0x13A: [923, 0, 278, 15, 260],
-    0x13B: [676, 378, 667, 19, 638],
-    0x13C: [676, 378, 278, 15, 256],
-    0x13D: [691, 0, 667, 19, 638],
-    0x13E: [709, 0, 457, 15, 442],
-    0x13F: [676, 0, 667, 19, 638],
-    0x140: [676, 0, 414, 15, 441],
-    0x141: [676, 0, 667, 18, 638],
-    0x142: [676, 0, 278, -22, 303],
-    0x143: [923, 18, 722, 16, 701],
-    0x144: [713, 0, 556, 21, 539],
-    0x145: [676, 378, 722, 16, 701],
-    0x146: [473, 378, 556, 21, 539],
-    0x147: [914, 18, 722, 16, 701],
-    0x148: [704, 0, 556, 21, 539],
-    0x149: [709, 0, 705, 13, 693],
-    0x14A: [676, 96, 732, 14, 712],
-    0x14B: [473, 205, 556, 21, 490],
-    0x14C: [810, 19, 778, 35, 743],
-    0x14D: [600, 14, 500, 25, 476],
-    0x14E: [901, 19, 778, 35, 743],
-    0x14F: [691, 14, 500, 25, 476],
-    0x150: [923, 19, 778, 35, 743],
-    0x151: [713, 14, 500, 25, 476],
-    0x152: [684, 5, 1000, 22, 981],
-    0x153: [473, 14, 722, 22, 696],
-    0x154: [923, 0, 722, 26, 716],
-    0x155: [713, 0, 444, 28, 434],
-    0x156: [676, 378, 722, 26, 716],
-    0x157: [473, 378, 444, 28, 434],
-    0x158: [914, 0, 722, 26, 716],
-    0x159: [704, 0, 444, 28, 434],
-    0x15A: [923, 19, 556, 35, 513],
-    0x15B: [713, 14, 389, 25, 364],
-    0x15C: [914, 19, 556, 35, 513],
-    0x15D: [704, 14, 389, 22, 361],
-    0x15E: [692, 218, 556, 35, 513],
-    0x15F: [473, 218, 389, 25, 361],
-    0x160: [914, 19, 556, 35, 513],
-    0x161: [704, 14, 389, 22, 361],
-    0x162: [676, 218, 667, 31, 636],
-    0x163: [630, 218, 333, 19, 332],
-    0x164: [914, 0, 667, 31, 636],
-    0x165: [709, 12, 415, 19, 445],
-    0x166: [676, 0, 667, 31, 636],
-    0x167: [630, 12, 333, 17, 332],
-    0x168: [886, 19, 722, 16, 701],
-    0x169: [674, 14, 556, 16, 538],
-    0x16A: [810, 19, 722, 16, 701],
-    0x16B: [600, 14, 556, 16, 538],
-    0x16C: [901, 19, 722, 16, 701],
-    0x16D: [691, 14, 556, 16, 538],
-    0x16E: [935, 19, 722, 16, 701],
-    0x16F: [740, 14, 556, 16, 538],
-    0x170: [923, 19, 722, 16, 701],
-    0x171: [713, 14, 556, 16, 538],
-    0x172: [676, 205, 722, 16, 701],
-    0x173: [461, 205, 556, 16, 547],
-    0x174: [914, 15, 1000, 19, 981],
-    0x175: [704, 14, 722, 23, 707],
-    0x176: [914, 0, 722, 15, 699],
-    0x177: [704, 205, 500, 16, 482],
-    0x178: [876, 0, 722, 15, 699],
-    0x179: [923, 0, 667, 28, 634],
-    0x17A: [713, 0, 444, 21, 420],
-    0x17B: [876, 0, 667, 28, 634],
-    0x17C: [666, 0, 444, 21, 420],
-    0x17D: [914, 0, 667, 28, 634],
-    0x17E: [704, 0, 444, 21, 420],
-    0x17F: [691, 0, 333, 14, 389],
-    0x180: [676, 14, 553, -28, 516],
-    0x188: [576, 14, 568, 30, 574],
-    0x190: [686, 4, 610, 38, 587],
-    0x192: [706, 155, 500, 0, 498],
-    0x195: [676, 10, 797, 14, 767],
-    0x199: [691, 0, 533, 12, 533],
-    0x19A: [676, 0, 291, 24, 265],
-    0x19B: [666, 0, 536, 60, 526],
-    0x19E: [473, 205, 559, 21, 539],
-    0x1A0: [732, 19, 778, 35, 788],
-    0x1A1: [505, 14, 554, 25, 576],
-    0x1A5: [673, 205, 550, 10, 515],
-    0x1AA: [689, 228, 446, 25, 421],
-    0x1AB: [630, 218, 347, 18, 331],
-    0x1AD: [691, 12, 371, 19, 389],
-    0x1AF: [810, 19, 796, 16, 836],
-    0x1B0: [596, 14, 600, 16, 626],
-    0x1BA: [450, 237, 441, 9, 415],
-    0x1BB: [688, 0, 515, 27, 492],
-    0x1BE: [541, 10, 527, 78, 449],
-    0x1C0: [740, 0, 186, 60, 126],
-    0x1C1: [740, 0, 313, 60, 253],
-    0x1C2: [740, 0, 445, 39, 405],
-    0x1C3: [691, 13, 333, 81, 251],
-    0x1F0: [704, 203, 333, -57, 335],
-    0x1FA: [972, 0, 722, 9, 689],
-    0x1FB: [923, 14, 500, 25, 488],
-    0x1FC: [923, 0, 1000, 4, 951],
-    0x1FD: [713, 14, 722, 33, 694],
-    0x1FE: [923, 74, 778, 35, 743],
-    0x1FF: [713, 92, 500, 25, 476],
-    0x1E80: [923, 15, 1000, 19, 981],
-    0x1E81: [713, 14, 722, 23, 707],
-    0x1E82: [923, 15, 1000, 19, 981],
-    0x1E83: [713, 14, 722, 23, 707],
-    0x1E84: [876, 15, 1000, 19, 981],
-    0x1E85: [666, 14, 722, 23, 707],
-    0x1EF2: [923, 0, 722, 15, 699],
-    0x1EF3: [713, 205, 500, 16, 482],
-    0xA792: [691, 19, 769, 27, 734],
-    0xFB00: [691, 0, 610, 15, 666],
-    0xFB01: [691, 0, 556, 14, 536],
-    0xFB02: [691, 0, 556, 15, 535],
-    0xFB03: [691, 0, 833, 15, 813],
-    0xFB04: [691, 0, 833, 15, 812]
+  directory: 'Latin/Bold',
+  family: 'STIXMathJax_Latin',
+  weight: 'bold',
+  testString: '\u00A0\u00A1\u00A2\u00A4\u00A6\u00A9\u00AA\u00AB\u00AD\u00B2\u00B3\u00B6\u00B8\u00B9\u00BA',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0xA1: [501, 203, 333, 82, 252],
+  0xA2: [588, 140, 500, 53, 458],
+  0xA4: [542, 10, 500, -26, 526],
+  0xA6: [691, 19, 220, 66, 154],
+  0xA9: [691, 19, 747, 26, 721],
+  0xAA: [688, -397, 300, -1, 301],
+  0xAB: [415, -36, 500, 23, 473],
+  0xAD: [287, -171, 333, 44, 287],
+  0xB2: [688, -275, 300, 0, 300],
+  0xB3: [688, -268, 300, 3, 297],
+  0xB6: [676, 186, 639, 60, 579],
+  0xB8: [0, 218, 333, 68, 294],
+  0xB9: [688, -275, 300, 28, 273],
+  0xBA: [688, -397, 330, 18, 312],
+  0xBB: [415, -36, 500, 27, 477],
+  0xBC: [688, 12, 750, 28, 743],
+  0xBD: [688, 12, 750, -7, 775],
+  0xBE: [688, 12, 750, 23, 733],
+  0xBF: [501, 201, 500, 55, 443],
+  0xC0: [963, 0, 722, 9, 689],
+  0xC1: [963, 0, 722, 9, 689],
+  0xC2: [954, 0, 722, 9, 689],
+  0xC3: [924, 0, 722, 9, 689],
+  0xC4: [916, 0, 722, 9, 689],
+  0xC5: [1000, 0, 722, 9, 689],
+  0xC6: [676, 0, 1000, 4, 951],
+  0xC7: [691, 218, 722, 49, 687],
+  0xC8: [963, 0, 667, 16, 641],
+  0xC9: [963, 0, 667, 16, 641],
+  0xCA: [954, 0, 667, 16, 641],
+  0xCB: [916, 0, 667, 16, 641],
+  0xCC: [963, 0, 389, 20, 370],
+  0xCD: [963, 0, 389, 20, 370],
+  0xCE: [954, 0, 389, 20, 370],
+  0xCF: [916, 0, 389, 20, 370],
+  0xD0: [676, 0, 722, 6, 690],
+  0xD1: [924, 18, 722, 16, 701],
+  0xD2: [963, 19, 778, 35, 743],
+  0xD3: [963, 19, 778, 35, 743],
+  0xD4: [954, 19, 778, 35, 743],
+  0xD5: [924, 19, 778, 35, 743],
+  0xD6: [916, 19, 778, 35, 743],
+  0xD8: [737, 74, 778, 35, 743],
+  0xD9: [963, 19, 722, 16, 701],
+  0xDA: [963, 19, 722, 16, 701],
+  0xDB: [954, 19, 722, 16, 701],
+  0xDC: [916, 19, 722, 16, 701],
+  0xDD: [963, 0, 722, 15, 699],
+  0xDE: [676, 0, 611, 16, 600],
+  0xDF: [691, 12, 556, 19, 517],
+  0xE0: [713, 14, 500, 25, 488],
+  0xE1: [713, 14, 500, 25, 488],
+  0xE2: [704, 14, 500, 25, 488],
+  0xE3: [674, 14, 500, 25, 488],
+  0xE4: [666, 14, 500, 25, 488],
+  0xE5: [752, 14, 500, 25, 488],
+  0xE6: [473, 14, 722, 33, 694],
+  0xE7: [473, 218, 444, 25, 430],
+  0xE8: [713, 14, 444, 25, 427],
+  0xE9: [713, 14, 444, 25, 427],
+  0xEA: [704, 14, 444, 25, 427],
+  0xEB: [666, 14, 444, 25, 427],
+  0xEC: [713, 0, 278, 14, 257],
+  0xED: [713, 0, 278, 15, 258],
+  0xEE: [704, 0, 278, -29, 308],
+  0xEF: [666, 0, 278, -29, 310],
+  0xF1: [674, 0, 556, 21, 539],
+  0xF2: [713, 14, 500, 25, 476],
+  0xF3: [713, 14, 500, 25, 476],
+  0xF4: [704, 14, 500, 25, 476],
+  0xF5: [674, 14, 500, 25, 476],
+  0xF6: [666, 14, 500, 25, 476],
+  0xF8: [549, 92, 500, 25, 476],
+  0xF9: [713, 14, 556, 16, 538],
+  0xFA: [713, 14, 556, 16, 538],
+  0xFB: [704, 14, 556, 16, 538],
+  0xFC: [666, 14, 556, 16, 538],
+  0xFD: [713, 205, 500, 16, 482],
+  0xFE: [676, 205, 556, 19, 524],
+  0xFF: [666, 205, 500, 16, 482],
+  0x100: [810, 0, 722, 9, 689],
+  0x101: [600, 14, 500, 25, 488],
+  0x102: [901, 0, 722, 9, 689],
+  0x103: [691, 14, 500, 25, 488],
+  0x104: [690, 205, 722, 9, 721],
+  0x105: [473, 205, 500, 25, 569],
+  0x106: [923, 19, 722, 49, 687],
+  0x107: [713, 14, 444, 25, 430],
+  0x108: [914, 19, 722, 49, 687],
+  0x109: [704, 14, 444, 25, 430],
+  0x10A: [876, 19, 722, 49, 687],
+  0x10B: [666, 14, 444, 25, 430],
+  0x10C: [914, 19, 722, 49, 687],
+  0x10D: [704, 14, 444, 25, 430],
+  0x10E: [914, 0, 722, 14, 690],
+  0x10F: [709, 14, 680, 25, 710],
+  0x110: [676, 0, 722, 6, 690],
+  0x111: [676, 14, 556, 25, 534],
+  0x112: [810, 0, 667, 16, 641],
+  0x113: [600, 14, 444, 25, 427],
+  0x114: [901, 0, 667, 16, 641],
+  0x115: [691, 14, 444, 25, 427],
+  0x116: [876, 0, 667, 16, 641],
+  0x117: [666, 14, 444, 25, 427],
+  0x118: [676, 205, 667, 16, 641],
+  0x119: [473, 205, 444, 25, 435],
+  0x11A: [914, 0, 667, 16, 641],
+  0x11B: [704, 14, 444, 25, 427],
+  0x11C: [914, 19, 778, 37, 755],
+  0x11D: [704, 206, 500, 28, 483],
+  0x11E: [901, 19, 778, 37, 755],
+  0x11F: [691, 206, 500, 28, 483],
+  0x120: [876, 19, 778, 37, 755],
+  0x121: [666, 206, 500, 28, 483],
+  0x122: [691, 378, 778, 37, 755],
+  0x123: [863, 206, 500, 28, 483],
+  0x124: [914, 0, 778, 21, 759],
+  0x125: [914, 0, 556, 15, 534],
+  0x126: [676, 0, 778, 21, 759],
+  0x128: [884, 0, 389, 14, 379],
+  0x129: [674, 0, 278, -47, 318],
+  0x12A: [810, 0, 389, 20, 370],
+  0x12B: [600, 0, 278, -25, 305],
+  0x12C: [900, 0, 389, 20, 370],
+  0x12D: [691, 0, 278, -11, 292],
+  0x12E: [676, 205, 389, 20, 389],
+  0x12F: [691, 205, 278, 15, 321],
+  0x130: [876, 0, 389, 20, 370],
+  0x132: [676, 96, 838, 20, 917],
+  0x133: [691, 203, 552, 15, 531],
+  0x134: [914, 96, 500, 3, 479],
+  0x135: [704, 203, 333, -57, 335],
+  0x136: [676, 378, 778, 30, 769],
+  0x137: [676, 378, 556, 22, 543],
+  0x138: [470, 0, 600, 19, 627],
+  0x139: [923, 0, 667, 19, 638],
+  0x13A: [923, 0, 278, 15, 260],
+  0x13B: [676, 378, 667, 19, 638],
+  0x13C: [676, 378, 278, 15, 256],
+  0x13D: [691, 0, 667, 19, 638],
+  0x13E: [709, 0, 457, 15, 442],
+  0x13F: [676, 0, 667, 19, 638],
+  0x140: [676, 0, 414, 15, 441],
+  0x141: [676, 0, 667, 18, 638],
+  0x142: [676, 0, 278, -22, 303],
+  0x143: [923, 18, 722, 16, 701],
+  0x144: [713, 0, 556, 21, 539],
+  0x145: [676, 378, 722, 16, 701],
+  0x146: [473, 378, 556, 21, 539],
+  0x147: [914, 18, 722, 16, 701],
+  0x148: [704, 0, 556, 21, 539],
+  0x149: [709, 0, 705, 13, 693],
+  0x14A: [676, 96, 732, 14, 712],
+  0x14B: [473, 205, 556, 21, 490],
+  0x14C: [810, 19, 778, 35, 743],
+  0x14D: [600, 14, 500, 25, 476],
+  0x14E: [901, 19, 778, 35, 743],
+  0x14F: [691, 14, 500, 25, 476],
+  0x150: [923, 19, 778, 35, 743],
+  0x151: [713, 14, 500, 25, 476],
+  0x152: [684, 5, 1000, 22, 981],
+  0x153: [473, 14, 722, 22, 696],
+  0x154: [923, 0, 722, 26, 716],
+  0x155: [713, 0, 444, 28, 434],
+  0x156: [676, 378, 722, 26, 716],
+  0x157: [473, 378, 444, 28, 434],
+  0x158: [914, 0, 722, 26, 716],
+  0x159: [704, 0, 444, 28, 434],
+  0x15A: [923, 19, 556, 35, 513],
+  0x15B: [713, 14, 389, 25, 364],
+  0x15C: [914, 19, 556, 35, 513],
+  0x15D: [704, 14, 389, 22, 361],
+  0x15E: [692, 218, 556, 35, 513],
+  0x15F: [473, 218, 389, 25, 361],
+  0x160: [914, 19, 556, 35, 513],
+  0x161: [704, 14, 389, 22, 361],
+  0x162: [676, 218, 667, 31, 636],
+  0x163: [630, 218, 333, 19, 332],
+  0x164: [914, 0, 667, 31, 636],
+  0x165: [709, 12, 415, 19, 445],
+  0x166: [676, 0, 667, 31, 636],
+  0x167: [630, 12, 333, 17, 332],
+  0x168: [886, 19, 722, 16, 701],
+  0x169: [674, 14, 556, 16, 538],
+  0x16A: [810, 19, 722, 16, 701],
+  0x16B: [600, 14, 556, 16, 538],
+  0x16C: [901, 19, 722, 16, 701],
+  0x16D: [691, 14, 556, 16, 538],
+  0x16E: [935, 19, 722, 16, 701],
+  0x16F: [740, 14, 556, 16, 538],
+  0x170: [923, 19, 722, 16, 701],
+  0x171: [713, 14, 556, 16, 538],
+  0x172: [676, 205, 722, 16, 701],
+  0x173: [461, 205, 556, 16, 547],
+  0x174: [914, 15, 1000, 19, 981],
+  0x175: [704, 14, 722, 23, 707],
+  0x176: [914, 0, 722, 15, 699],
+  0x177: [704, 205, 500, 16, 482],
+  0x178: [876, 0, 722, 15, 699],
+  0x179: [923, 0, 667, 28, 634],
+  0x17A: [713, 0, 444, 21, 420],
+  0x17B: [876, 0, 667, 28, 634],
+  0x17C: [666, 0, 444, 21, 420],
+  0x17D: [914, 0, 667, 28, 634],
+  0x17E: [704, 0, 444, 21, 420],
+  0x17F: [691, 0, 333, 14, 389],
+  0x180: [676, 14, 553, -28, 516],
+  0x188: [576, 14, 568, 30, 574],
+  0x190: [686, 4, 610, 38, 587],
+  0x192: [706, 155, 500, 0, 498],
+  0x195: [676, 10, 797, 14, 767],
+  0x199: [691, 0, 533, 12, 533],
+  0x19A: [676, 0, 291, 24, 265],
+  0x19B: [666, 0, 536, 60, 526],
+  0x19E: [473, 205, 559, 21, 539],
+  0x1A0: [732, 19, 778, 35, 788],
+  0x1A1: [505, 14, 554, 25, 576],
+  0x1A5: [673, 205, 550, 10, 515],
+  0x1AA: [689, 228, 446, 25, 421],
+  0x1AB: [630, 218, 347, 18, 331],
+  0x1AD: [691, 12, 371, 19, 389],
+  0x1AF: [810, 19, 796, 16, 836],
+  0x1B0: [596, 14, 600, 16, 626],
+  0x1BA: [450, 237, 441, 9, 415],
+  0x1BB: [688, 0, 515, 27, 492],
+  0x1BE: [541, 10, 527, 78, 449],
+  0x1C0: [740, 0, 186, 60, 126],
+  0x1C1: [740, 0, 313, 60, 253],
+  0x1C2: [740, 0, 445, 39, 405],
+  0x1C3: [691, 13, 333, 81, 251],
+  0x1F0: [704, 203, 333, -57, 335],
+  0x1FA: [972, 0, 722, 9, 689],
+  0x1FB: [923, 14, 500, 25, 488],
+  0x1FC: [923, 0, 1000, 4, 951],
+  0x1FD: [713, 14, 722, 33, 694],
+  0x1FE: [923, 74, 778, 35, 743],
+  0x1FF: [713, 92, 500, 25, 476],
+  0x1E80: [923, 15, 1000, 19, 981],
+  0x1E81: [713, 14, 722, 23, 707],
+  0x1E82: [923, 15, 1000, 19, 981],
+  0x1E83: [713, 14, 722, 23, 707],
+  0x1E84: [876, 15, 1000, 19, 981],
+  0x1E85: [666, 14, 722, 23, 707],
+  0x1EF2: [923, 0, 722, 15, 699],
+  0x1EF3: [713, 205, 500, 16, 482],
+  0xA792: [691, 19, 769, 27, 734],
+  0xFB00: [691, 0, 610, 15, 666],
+  0xFB01: [691, 0, 556, 14, 536],
+  0xFB02: [691, 0, 556, 15, 535],
+  0xFB03: [691, 0, 833, 15, 813],
+  0xFB04: [691, 0, 833, 15, 812]
 };
 
 MathJax.Callback.Queue(

+ 256 - 256
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Latin/Italic/Main.js

@@ -18,262 +18,262 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Latin-italic'] = {
-    directory: 'Latin/Italic',
-    family: 'STIXMathJax_Latin',
-    style: 'italic',
-    testString: '\u00A0\u00A1\u00A2\u00A4\u00A6\u00A9\u00AA\u00AB\u00AD\u00B2\u00B3\u00B6\u00B8\u00B9\u00BA',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0xA1: [474, 205, 389, 59, 321],
-    0xA2: [560, 143, 500, 77, 472],
-    0xA4: [534, 10, 500, -22, 522],
-    0xA6: [666, 18, 275, 105, 171],
-    0xA9: [666, 18, 760, 41, 719],
-    0xAA: [676, -406, 276, 42, 352],
-    0xAB: [403, -37, 500, 53, 445],
-    0xAD: [255, -192, 333, 49, 282],
-    0xB2: [676, -271, 300, 33, 324],
-    0xB3: [676, -268, 300, 43, 339],
-    0xB6: [653, 123, 559, 60, 621],
-    0xB8: [0, 217, 333, -30, 182],
-    0xB9: [676, -271, 300, 43, 284],
-    0xBA: [676, -406, 310, 67, 362],
-    0xBB: [403, -37, 500, 55, 447],
-    0xBC: [676, 10, 750, 33, 736],
-    0xBD: [676, 10, 750, 34, 749],
-    0xBE: [676, 10, 750, 23, 736],
-    0xBF: [473, 205, 500, 28, 367],
-    0xC0: [914, 0, 611, -51, 564],
-    0xC1: [914, 0, 611, -51, 564],
-    0xC2: [911, 0, 611, -51, 564],
-    0xC3: [874, 0, 611, -51, 572],
-    0xC4: [856, 0, 611, -51, 564],
-    0xC5: [957, 0, 611, -51, 564],
-    0xC6: [653, 0, 889, -27, 911],
-    0xC7: [666, 217, 667, 66, 689],
-    0xC8: [914, 0, 611, -1, 634],
-    0xC9: [914, 0, 611, -1, 634],
-    0xCA: [911, 0, 611, -1, 634],
-    0xCB: [856, 0, 611, -1, 634],
-    0xCC: [914, 0, 333, -8, 398],
-    0xCD: [914, 0, 333, -8, 414],
-    0xCE: [911, 0, 333, -8, 450],
-    0xCF: [856, 0, 333, -8, 457],
-    0xD0: [653, 0, 722, -8, 700],
-    0xD1: [874, 15, 667, -20, 727],
-    0xD2: [914, 18, 722, 60, 699],
-    0xD3: [914, 18, 722, 60, 699],
-    0xD4: [911, 18, 722, 60, 699],
-    0xD5: [874, 18, 722, 60, 699],
-    0xD6: [856, 18, 722, 60, 699],
-    0xD8: [722, 105, 722, 60, 699],
-    0xD9: [914, 18, 722, 102, 765],
-    0xDA: [914, 18, 722, 102, 765],
-    0xDB: [911, 18, 722, 102, 765],
-    0xDC: [856, 18, 722, 102, 765],
-    0xDD: [914, 0, 556, 78, 633],
-    0xDE: [653, 0, 611, 0, 569],
-    0xDF: [679, 207, 500, -168, 493],
-    0xE0: [664, 11, 501, 17, 476],
-    0xE1: [664, 11, 501, 17, 476],
-    0xE2: [661, 11, 501, 17, 497],
-    0xE3: [624, 11, 501, 17, 521],
-    0xE4: [606, 11, 501, 17, 503],
-    0xE5: [709, 11, 501, 17, 476],
-    0xE6: [441, 11, 667, 23, 640],
-    0xE7: [441, 217, 444, 26, 425],
-    0xE8: [664, 11, 444, 31, 414],
-    0xE9: [664, 11, 444, 31, 431],
-    0xEA: [661, 11, 444, 31, 466],
-    0xEB: [606, 11, 444, 31, 475],
-    0xEC: [664, 11, 278, 47, 302],
-    0xED: [664, 11, 278, 47, 318],
-    0xEE: [661, 11, 278, 47, 351],
-    0xEF: [606, 11, 278, 47, 361],
-    0xF1: [624, 9, 500, 14, 488],
-    0xF2: [664, 11, 500, 27, 468],
-    0xF3: [664, 11, 500, 27, 468],
-    0xF4: [661, 11, 500, 27, 468],
-    0xF5: [624, 11, 500, 27, 494],
-    0xF6: [606, 11, 500, 27, 474],
-    0xF8: [554, 135, 500, 28, 469],
-    0xF9: [664, 11, 500, 42, 475],
-    0xFA: [664, 11, 500, 42, 475],
-    0xFB: [661, 11, 500, 42, 475],
-    0xFC: [606, 11, 500, 42, 475],
-    0xFD: [664, 206, 444, -24, 426],
-    0xFE: [683, 205, 500, -75, 469],
-    0xFF: [606, 206, 444, -24, 442],
-    0x100: [757, 0, 611, -51, 564],
-    0x101: [543, 11, 501, 17, 481],
-    0x102: [862, 0, 611, -51, 564],
-    0x103: [650, 11, 501, 17, 481],
-    0x104: [668, 169, 611, -51, 626],
-    0x105: [441, 169, 501, 17, 529],
-    0x106: [876, 18, 667, 66, 689],
-    0x107: [664, 11, 444, 30, 431],
-    0x108: [875, 18, 667, 66, 689],
-    0x109: [661, 11, 444, 30, 427],
-    0x10A: [818, 18, 667, 66, 689],
-    0x10B: [606, 11, 444, 30, 425],
-    0x10C: [875, 18, 667, 66, 689],
-    0x10D: [661, 11, 444, 30, 473],
-    0x10E: [875, 0, 722, -8, 700],
-    0x10F: [691, 13, 609, 15, 697],
-    0x110: [653, 0, 722, -8, 700],
-    0x111: [683, 13, 500, 15, 580],
-    0x112: [757, 0, 611, -1, 634],
-    0x113: [542, 11, 444, 31, 466],
-    0x114: [866, 0, 611, -1, 634],
-    0x115: [650, 11, 444, 31, 471],
-    0x116: [818, 0, 611, -1, 634],
-    0x117: [606, 11, 444, 31, 412],
-    0x118: [653, 175, 611, -1, 634],
-    0x119: [441, 175, 444, 31, 412],
-    0x11A: [875, 0, 611, -1, 634],
-    0x11B: [661, 11, 444, 31, 502],
-    0x11C: [877, 18, 722, 52, 722],
-    0x11D: [661, 206, 500, 8, 471],
-    0x11E: [866, 18, 722, 52, 722],
-    0x11F: [650, 206, 500, 8, 476],
-    0x120: [818, 18, 722, 52, 722],
-    0x121: [606, 206, 500, 8, 471],
-    0x122: [666, 267, 722, 52, 722],
-    0x123: [724, 206, 500, 8, 471],
-    0x124: [875, 0, 722, -8, 769],
-    0x125: [875, 9, 500, 19, 478],
-    0x126: [653, 0, 722, -8, 769],
-    0x128: [836, 0, 333, -8, 444],
-    0x129: [624, 11, 278, 30, 357],
-    0x12A: [757, 0, 333, -8, 439],
-    0x12B: [543, 11, 278, 29, 341],
-    0x12C: [866, 0, 333, -8, 448],
-    0x12D: [650, 11, 278, 46, 347],
-    0x12E: [653, 169, 333, -8, 384],
-    0x12F: [654, 169, 278, 49, 303],
-    0x130: [818, 0, 333, -8, 384],
-    0x132: [653, 18, 750, -8, 783],
-    0x133: [654, 207, 500, 49, 500],
-    0x134: [877, 18, 444, -6, 536],
-    0x135: [661, 207, 278, -124, 353],
-    0x136: [653, 267, 667, 7, 722],
-    0x137: [683, 267, 444, 14, 461],
-    0x138: [459, 0, 542, 5, 601],
-    0x139: [876, 0, 556, -8, 559],
-    0x13A: [876, 11, 278, 41, 348],
-    0x13B: [653, 267, 556, -8, 559],
-    0x13C: [683, 267, 278, 7, 279],
-    0x13D: [666, 0, 556, -8, 595],
-    0x13E: [693, 11, 278, 41, 448],
-    0x13F: [653, 0, 556, -8, 559],
-    0x140: [683, 11, 323, 41, 386],
-    0x141: [653, 0, 556, -8, 559],
-    0x142: [683, 11, 278, 37, 307],
-    0x143: [876, 15, 667, -20, 727],
-    0x144: [664, 9, 500, 14, 474],
-    0x145: [653, 267, 667, -20, 727],
-    0x146: [441, 267, 500, 14, 474],
-    0x147: [875, 15, 667, -20, 727],
-    0x148: [661, 9, 500, 14, 475],
-    0x149: [691, 9, 577, 58, 540],
-    0x14A: [666, 18, 722, -8, 700],
-    0x14B: [441, 208, 500, 14, 442],
-    0x14C: [757, 18, 722, 60, 699],
-    0x14D: [543, 11, 500, 27, 511],
-    0x14E: [866, 18, 722, 60, 709],
-    0x14F: [650, 11, 500, 27, 533],
-    0x150: [876, 18, 722, 60, 720],
-    0x151: [664, 11, 500, 27, 541],
-    0x152: [666, 8, 944, 49, 964],
-    0x153: [441, 12, 667, 20, 646],
-    0x154: [876, 0, 611, -13, 588],
-    0x155: [664, 0, 389, 45, 412],
-    0x156: [653, 267, 611, -13, 588],
-    0x157: [441, 267, 389, -2, 412],
-    0x158: [875, 0, 611, -13, 588],
-    0x159: [663, 0, 389, 45, 426],
-    0x15A: [876, 18, 500, 17, 508],
-    0x15B: [664, 13, 389, 16, 403],
-    0x15C: [877, 18, 500, 17, 508],
-    0x15D: [661, 13, 389, 16, 385],
-    0x15E: [667, 217, 500, 17, 508],
-    0x15F: [442, 217, 389, 16, 366],
-    0x160: [875, 18, 500, 17, 532],
-    0x161: [663, 13, 389, 16, 426],
-    0x162: [653, 217, 556, 59, 633],
-    0x163: [546, 217, 278, -38, 296],
-    0x164: [875, 0, 556, 59, 633],
-    0x165: [693, 11, 278, 38, 453],
-    0x166: [653, 0, 556, 59, 633],
-    0x167: [546, 11, 278, 28, 296],
-    0x168: [836, 18, 722, 102, 765],
-    0x169: [624, 11, 500, 42, 475],
-    0x16A: [757, 18, 722, 102, 765],
-    0x16B: [543, 11, 500, 42, 475],
-    0x16C: [866, 18, 722, 102, 765],
-    0x16D: [650, 11, 500, 42, 480],
-    0x16E: [907, 18, 722, 102, 765],
-    0x16F: [691, 11, 500, 42, 475],
-    0x170: [876, 18, 722, 102, 765],
-    0x171: [664, 11, 500, 42, 511],
-    0x172: [653, 169, 722, 102, 765],
-    0x173: [441, 169, 500, 42, 538],
-    0x174: [877, 18, 833, 71, 906],
-    0x175: [661, 18, 667, 15, 648],
-    0x176: [877, 0, 556, 78, 633],
-    0x177: [661, 206, 444, -24, 426],
-    0x178: [818, 0, 556, 78, 633],
-    0x179: [876, 0, 556, -6, 606],
-    0x17A: [664, 81, 389, -2, 390],
-    0x17B: [818, 0, 556, -6, 606],
-    0x17C: [606, 81, 389, -2, 380],
-    0x17D: [875, 0, 556, -6, 606],
-    0x17E: [663, 81, 389, -2, 426],
-    0x17F: [683, 0, 383, 13, 513],
-    0x180: [683, 11, 500, 23, 473],
-    0x188: [548, 11, 500, 30, 577],
-    0x190: [684, 6, 667, 66, 671],
-    0x192: [706, 159, 472, -62, 494],
-    0x195: [683, 10, 672, 19, 654],
-    0x199: [683, 11, 500, 14, 490],
-    0x19A: [683, 11, 278, 41, 279],
-    0x19B: [668, 0, 490, 30, 478],
-    0x19E: [441, 233, 500, 14, 442],
-    0x1A0: [691, 18, 722, 60, 783],
-    0x1A1: [467, 11, 534, 27, 583],
-    0x1A5: [669, 205, 504, -75, 472],
-    0x1AA: [684, 233, 340, 31, 319],
-    0x1AB: [546, 218, 278, -54, 296],
-    0x1AD: [683, 11, 310, 38, 452],
-    0x1AF: [765, 18, 754, 102, 881],
-    0x1B0: [543, 11, 573, 42, 607],
-    0x1BA: [450, 234, 500, 8, 462],
-    0x1BB: [676, 0, 500, 12, 500],
-    0x1BE: [539, 12, 500, 47, 453],
-    0x1C0: [736, 0, 170, 15, 258],
-    0x1C1: [736, 0, 290, 15, 379],
-    0x1C2: [736, 0, 340, 15, 429],
-    0x1C3: [667, 11, 333, 39, 304],
-    0x1F0: [661, 207, 278, -124, 397],
-    0x1FA: [950, 0, 611, -51, 564],
-    0x1FB: [860, 11, 501, 17, 476],
-    0x1FC: [876, 0, 889, -27, 911],
-    0x1FD: [664, 11, 667, 23, 640],
-    0x1FE: [876, 105, 722, 60, 699],
-    0x1FF: [664, 135, 500, 28, 469],
-    0x1E80: [880, 18, 833, 71, 906],
-    0x1E81: [664, 18, 667, 15, 648],
-    0x1E82: [876, 18, 833, 71, 906],
-    0x1E83: [664, 18, 667, 15, 648],
-    0x1E84: [818, 18, 833, 71, 906],
-    0x1E85: [606, 18, 667, 15, 648],
-    0x1EF2: [880, 0, 556, 78, 633],
-    0x1EF3: [664, 206, 444, -24, 426],
-    0xFB00: [678, 207, 527, -147, 673],
-    0xFB01: [681, 207, 500, -141, 481],
-    0xFB02: [682, 204, 500, -141, 518],
-    0xFB03: [681, 207, 744, -147, 725],
-    0xFB04: [682, 207, 745, -147, 763]
+  directory: 'Latin/Italic',
+  family: 'STIXMathJax_Latin',
+  style: 'italic',
+  testString: '\u00A0\u00A1\u00A2\u00A4\u00A6\u00A9\u00AA\u00AB\u00AD\u00B2\u00B3\u00B6\u00B8\u00B9\u00BA',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0xA1: [474, 205, 389, 59, 321],
+  0xA2: [560, 143, 500, 77, 472],
+  0xA4: [534, 10, 500, -22, 522],
+  0xA6: [666, 18, 275, 105, 171],
+  0xA9: [666, 18, 760, 41, 719],
+  0xAA: [676, -406, 276, 42, 352],
+  0xAB: [403, -37, 500, 53, 445],
+  0xAD: [255, -192, 333, 49, 282],
+  0xB2: [676, -271, 300, 33, 324],
+  0xB3: [676, -268, 300, 43, 339],
+  0xB6: [653, 123, 559, 60, 621],
+  0xB8: [0, 217, 333, -30, 182],
+  0xB9: [676, -271, 300, 43, 284],
+  0xBA: [676, -406, 310, 67, 362],
+  0xBB: [403, -37, 500, 55, 447],
+  0xBC: [676, 10, 750, 33, 736],
+  0xBD: [676, 10, 750, 34, 749],
+  0xBE: [676, 10, 750, 23, 736],
+  0xBF: [473, 205, 500, 28, 367],
+  0xC0: [914, 0, 611, -51, 564],
+  0xC1: [914, 0, 611, -51, 564],
+  0xC2: [911, 0, 611, -51, 564],
+  0xC3: [874, 0, 611, -51, 572],
+  0xC4: [856, 0, 611, -51, 564],
+  0xC5: [957, 0, 611, -51, 564],
+  0xC6: [653, 0, 889, -27, 911],
+  0xC7: [666, 217, 667, 66, 689],
+  0xC8: [914, 0, 611, -1, 634],
+  0xC9: [914, 0, 611, -1, 634],
+  0xCA: [911, 0, 611, -1, 634],
+  0xCB: [856, 0, 611, -1, 634],
+  0xCC: [914, 0, 333, -8, 398],
+  0xCD: [914, 0, 333, -8, 414],
+  0xCE: [911, 0, 333, -8, 450],
+  0xCF: [856, 0, 333, -8, 457],
+  0xD0: [653, 0, 722, -8, 700],
+  0xD1: [874, 15, 667, -20, 727],
+  0xD2: [914, 18, 722, 60, 699],
+  0xD3: [914, 18, 722, 60, 699],
+  0xD4: [911, 18, 722, 60, 699],
+  0xD5: [874, 18, 722, 60, 699],
+  0xD6: [856, 18, 722, 60, 699],
+  0xD8: [722, 105, 722, 60, 699],
+  0xD9: [914, 18, 722, 102, 765],
+  0xDA: [914, 18, 722, 102, 765],
+  0xDB: [911, 18, 722, 102, 765],
+  0xDC: [856, 18, 722, 102, 765],
+  0xDD: [914, 0, 556, 78, 633],
+  0xDE: [653, 0, 611, 0, 569],
+  0xDF: [679, 207, 500, -168, 493],
+  0xE0: [664, 11, 501, 17, 476],
+  0xE1: [664, 11, 501, 17, 476],
+  0xE2: [661, 11, 501, 17, 497],
+  0xE3: [624, 11, 501, 17, 521],
+  0xE4: [606, 11, 501, 17, 503],
+  0xE5: [709, 11, 501, 17, 476],
+  0xE6: [441, 11, 667, 23, 640],
+  0xE7: [441, 217, 444, 26, 425],
+  0xE8: [664, 11, 444, 31, 414],
+  0xE9: [664, 11, 444, 31, 431],
+  0xEA: [661, 11, 444, 31, 466],
+  0xEB: [606, 11, 444, 31, 475],
+  0xEC: [664, 11, 278, 47, 302],
+  0xED: [664, 11, 278, 47, 318],
+  0xEE: [661, 11, 278, 47, 351],
+  0xEF: [606, 11, 278, 47, 361],
+  0xF1: [624, 9, 500, 14, 488],
+  0xF2: [664, 11, 500, 27, 468],
+  0xF3: [664, 11, 500, 27, 468],
+  0xF4: [661, 11, 500, 27, 468],
+  0xF5: [624, 11, 500, 27, 494],
+  0xF6: [606, 11, 500, 27, 474],
+  0xF8: [554, 135, 500, 28, 469],
+  0xF9: [664, 11, 500, 42, 475],
+  0xFA: [664, 11, 500, 42, 475],
+  0xFB: [661, 11, 500, 42, 475],
+  0xFC: [606, 11, 500, 42, 475],
+  0xFD: [664, 206, 444, -24, 426],
+  0xFE: [683, 205, 500, -75, 469],
+  0xFF: [606, 206, 444, -24, 442],
+  0x100: [757, 0, 611, -51, 564],
+  0x101: [543, 11, 501, 17, 481],
+  0x102: [862, 0, 611, -51, 564],
+  0x103: [650, 11, 501, 17, 481],
+  0x104: [668, 169, 611, -51, 626],
+  0x105: [441, 169, 501, 17, 529],
+  0x106: [876, 18, 667, 66, 689],
+  0x107: [664, 11, 444, 30, 431],
+  0x108: [875, 18, 667, 66, 689],
+  0x109: [661, 11, 444, 30, 427],
+  0x10A: [818, 18, 667, 66, 689],
+  0x10B: [606, 11, 444, 30, 425],
+  0x10C: [875, 18, 667, 66, 689],
+  0x10D: [661, 11, 444, 30, 473],
+  0x10E: [875, 0, 722, -8, 700],
+  0x10F: [691, 13, 609, 15, 697],
+  0x110: [653, 0, 722, -8, 700],
+  0x111: [683, 13, 500, 15, 580],
+  0x112: [757, 0, 611, -1, 634],
+  0x113: [542, 11, 444, 31, 466],
+  0x114: [866, 0, 611, -1, 634],
+  0x115: [650, 11, 444, 31, 471],
+  0x116: [818, 0, 611, -1, 634],
+  0x117: [606, 11, 444, 31, 412],
+  0x118: [653, 175, 611, -1, 634],
+  0x119: [441, 175, 444, 31, 412],
+  0x11A: [875, 0, 611, -1, 634],
+  0x11B: [661, 11, 444, 31, 502],
+  0x11C: [877, 18, 722, 52, 722],
+  0x11D: [661, 206, 500, 8, 471],
+  0x11E: [866, 18, 722, 52, 722],
+  0x11F: [650, 206, 500, 8, 476],
+  0x120: [818, 18, 722, 52, 722],
+  0x121: [606, 206, 500, 8, 471],
+  0x122: [666, 267, 722, 52, 722],
+  0x123: [724, 206, 500, 8, 471],
+  0x124: [875, 0, 722, -8, 769],
+  0x125: [875, 9, 500, 19, 478],
+  0x126: [653, 0, 722, -8, 769],
+  0x128: [836, 0, 333, -8, 444],
+  0x129: [624, 11, 278, 30, 357],
+  0x12A: [757, 0, 333, -8, 439],
+  0x12B: [543, 11, 278, 29, 341],
+  0x12C: [866, 0, 333, -8, 448],
+  0x12D: [650, 11, 278, 46, 347],
+  0x12E: [653, 169, 333, -8, 384],
+  0x12F: [654, 169, 278, 49, 303],
+  0x130: [818, 0, 333, -8, 384],
+  0x132: [653, 18, 750, -8, 783],
+  0x133: [654, 207, 500, 49, 500],
+  0x134: [877, 18, 444, -6, 536],
+  0x135: [661, 207, 278, -124, 353],
+  0x136: [653, 267, 667, 7, 722],
+  0x137: [683, 267, 444, 14, 461],
+  0x138: [459, 0, 542, 5, 601],
+  0x139: [876, 0, 556, -8, 559],
+  0x13A: [876, 11, 278, 41, 348],
+  0x13B: [653, 267, 556, -8, 559],
+  0x13C: [683, 267, 278, 7, 279],
+  0x13D: [666, 0, 556, -8, 595],
+  0x13E: [693, 11, 278, 41, 448],
+  0x13F: [653, 0, 556, -8, 559],
+  0x140: [683, 11, 323, 41, 386],
+  0x141: [653, 0, 556, -8, 559],
+  0x142: [683, 11, 278, 37, 307],
+  0x143: [876, 15, 667, -20, 727],
+  0x144: [664, 9, 500, 14, 474],
+  0x145: [653, 267, 667, -20, 727],
+  0x146: [441, 267, 500, 14, 474],
+  0x147: [875, 15, 667, -20, 727],
+  0x148: [661, 9, 500, 14, 475],
+  0x149: [691, 9, 577, 58, 540],
+  0x14A: [666, 18, 722, -8, 700],
+  0x14B: [441, 208, 500, 14, 442],
+  0x14C: [757, 18, 722, 60, 699],
+  0x14D: [543, 11, 500, 27, 511],
+  0x14E: [866, 18, 722, 60, 709],
+  0x14F: [650, 11, 500, 27, 533],
+  0x150: [876, 18, 722, 60, 720],
+  0x151: [664, 11, 500, 27, 541],
+  0x152: [666, 8, 944, 49, 964],
+  0x153: [441, 12, 667, 20, 646],
+  0x154: [876, 0, 611, -13, 588],
+  0x155: [664, 0, 389, 45, 412],
+  0x156: [653, 267, 611, -13, 588],
+  0x157: [441, 267, 389, -2, 412],
+  0x158: [875, 0, 611, -13, 588],
+  0x159: [663, 0, 389, 45, 426],
+  0x15A: [876, 18, 500, 17, 508],
+  0x15B: [664, 13, 389, 16, 403],
+  0x15C: [877, 18, 500, 17, 508],
+  0x15D: [661, 13, 389, 16, 385],
+  0x15E: [667, 217, 500, 17, 508],
+  0x15F: [442, 217, 389, 16, 366],
+  0x160: [875, 18, 500, 17, 532],
+  0x161: [663, 13, 389, 16, 426],
+  0x162: [653, 217, 556, 59, 633],
+  0x163: [546, 217, 278, -38, 296],
+  0x164: [875, 0, 556, 59, 633],
+  0x165: [693, 11, 278, 38, 453],
+  0x166: [653, 0, 556, 59, 633],
+  0x167: [546, 11, 278, 28, 296],
+  0x168: [836, 18, 722, 102, 765],
+  0x169: [624, 11, 500, 42, 475],
+  0x16A: [757, 18, 722, 102, 765],
+  0x16B: [543, 11, 500, 42, 475],
+  0x16C: [866, 18, 722, 102, 765],
+  0x16D: [650, 11, 500, 42, 480],
+  0x16E: [907, 18, 722, 102, 765],
+  0x16F: [691, 11, 500, 42, 475],
+  0x170: [876, 18, 722, 102, 765],
+  0x171: [664, 11, 500, 42, 511],
+  0x172: [653, 169, 722, 102, 765],
+  0x173: [441, 169, 500, 42, 538],
+  0x174: [877, 18, 833, 71, 906],
+  0x175: [661, 18, 667, 15, 648],
+  0x176: [877, 0, 556, 78, 633],
+  0x177: [661, 206, 444, -24, 426],
+  0x178: [818, 0, 556, 78, 633],
+  0x179: [876, 0, 556, -6, 606],
+  0x17A: [664, 81, 389, -2, 390],
+  0x17B: [818, 0, 556, -6, 606],
+  0x17C: [606, 81, 389, -2, 380],
+  0x17D: [875, 0, 556, -6, 606],
+  0x17E: [663, 81, 389, -2, 426],
+  0x17F: [683, 0, 383, 13, 513],
+  0x180: [683, 11, 500, 23, 473],
+  0x188: [548, 11, 500, 30, 577],
+  0x190: [684, 6, 667, 66, 671],
+  0x192: [706, 159, 472, -62, 494],
+  0x195: [683, 10, 672, 19, 654],
+  0x199: [683, 11, 500, 14, 490],
+  0x19A: [683, 11, 278, 41, 279],
+  0x19B: [668, 0, 490, 30, 478],
+  0x19E: [441, 233, 500, 14, 442],
+  0x1A0: [691, 18, 722, 60, 783],
+  0x1A1: [467, 11, 534, 27, 583],
+  0x1A5: [669, 205, 504, -75, 472],
+  0x1AA: [684, 233, 340, 31, 319],
+  0x1AB: [546, 218, 278, -54, 296],
+  0x1AD: [683, 11, 310, 38, 452],
+  0x1AF: [765, 18, 754, 102, 881],
+  0x1B0: [543, 11, 573, 42, 607],
+  0x1BA: [450, 234, 500, 8, 462],
+  0x1BB: [676, 0, 500, 12, 500],
+  0x1BE: [539, 12, 500, 47, 453],
+  0x1C0: [736, 0, 170, 15, 258],
+  0x1C1: [736, 0, 290, 15, 379],
+  0x1C2: [736, 0, 340, 15, 429],
+  0x1C3: [667, 11, 333, 39, 304],
+  0x1F0: [661, 207, 278, -124, 397],
+  0x1FA: [950, 0, 611, -51, 564],
+  0x1FB: [860, 11, 501, 17, 476],
+  0x1FC: [876, 0, 889, -27, 911],
+  0x1FD: [664, 11, 667, 23, 640],
+  0x1FE: [876, 105, 722, 60, 699],
+  0x1FF: [664, 135, 500, 28, 469],
+  0x1E80: [880, 18, 833, 71, 906],
+  0x1E81: [664, 18, 667, 15, 648],
+  0x1E82: [876, 18, 833, 71, 906],
+  0x1E83: [664, 18, 667, 15, 648],
+  0x1E84: [818, 18, 833, 71, 906],
+  0x1E85: [606, 18, 667, 15, 648],
+  0x1EF2: [880, 0, 556, 78, 633],
+  0x1EF3: [664, 206, 444, -24, 426],
+  0xFB00: [678, 207, 527, -147, 673],
+  0xFB01: [681, 207, 500, -141, 481],
+  0xFB02: [682, 204, 500, -141, 518],
+  0xFB03: [681, 207, 744, -147, 725],
+  0xFB04: [682, 207, 745, -147, 763]
 };
 
 MathJax.Callback.Queue(

+ 202 - 202
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Main/Italic/Main.js

@@ -18,208 +18,208 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Main-italic'] = {
-    directory: 'Main/Italic',
-    family: 'STIXMathJax_Main',
-    style: 'italic',
-    testString: '\u00A0\u00A3\u00A5\u00A7\u00A8\u00AF\u00B0\u00B4\u00B5\u00B7\u00F0\u0127\u0131\u0237\u02C6',
-    0x20: [0, 0, 250, 0, 0],
-    0x21: [667, 11, 333, 39, 304],
-    0x22: [666, -421, 420, 144, 432],
-    0x23: [676, 0, 501, 2, 540],
-    0x24: [731, 89, 500, 32, 497],
-    0x25: [706, 19, 755, 80, 705],
-    0x26: [666, 18, 778, 76, 723],
-    0x27: [666, -421, 214, 132, 241],
-    0x28: [669, 181, 333, 42, 315],
-    0x29: [669, 180, 333, 16, 289],
-    0x2A: [666, -255, 500, 128, 492],
-    0x2B: [506, 0, 675, 86, 590],
-    0x2C: [101, 129, 250, -5, 135],
-    0x2D: [255, -192, 333, 49, 282],
-    0x2E: [100, 11, 250, 27, 138],
-    0x2F: [666, 18, 278, -65, 386],
-    0x30: [676, 7, 500, 32, 497],
-    0x31: [676, 0, 500, 50, 409],
-    0x32: [676, 0, 500, 12, 452],
-    0x33: [676, 7, 500, 16, 465],
-    0x34: [676, 0, 500, 1, 479],
-    0x35: [666, 7, 500, 15, 491],
-    0x36: [686, 7, 500, 30, 521],
-    0x37: [666, 8, 500, 75, 537],
-    0x38: [676, 7, 500, 30, 493],
-    0x39: [676, 17, 500, 23, 492],
-    0x3A: [441, 11, 333, 50, 261],
-    0x3B: [441, 129, 333, 26, 261],
-    0x3C: [516, 10, 675, 84, 592],
-    0x3D: [386, -120, 675, 86, 590],
-    0x3E: [516, 10, 675, 84, 592],
-    0x3F: [664, 12, 500, 132, 472],
-    0x40: [666, 18, 920, 118, 806],
-    0x41: [668, 0, 611, -51, 564],
-    0x42: [653, 0, 611, -8, 588],
-    0x43: [666, 18, 667, 66, 689],
-    0x44: [653, 0, 722, -8, 700],
-    0x45: [653, 0, 611, -1, 634],
-    0x46: [653, 0, 611, 8, 645],
-    0x47: [666, 18, 722, 52, 722],
-    0x48: [653, 0, 722, -8, 769],
-    0x49: [653, 0, 333, -8, 384],
-    0x4A: [653, 18, 444, -6, 491],
-    0x4B: [653, 0, 667, 7, 722],
-    0x4C: [653, 0, 556, -8, 559],
-    0x4D: [653, 0, 833, -18, 872],
-    0x4E: [653, 15, 667, -20, 727],
-    0x4F: [666, 18, 722, 60, 699],
-    0x50: [653, 0, 611, 0, 605],
-    0x51: [666, 182, 722, 59, 699],
-    0x52: [653, 0, 611, -13, 588],
-    0x53: [667, 18, 500, 17, 508],
-    0x54: [653, 0, 556, 59, 633],
-    0x55: [653, 18, 722, 102, 765],
-    0x56: [653, 18, 611, 76, 688],
-    0x57: [653, 18, 833, 71, 906],
-    0x58: [653, 0, 611, -29, 655],
-    0x59: [653, 0, 556, 78, 633],
-    0x5A: [653, 0, 556, -6, 606],
-    0x5B: [663, 153, 389, 21, 391],
-    0x5C: [666, 18, 278, -41, 319],
-    0x5D: [663, 153, 389, 12, 382],
-    0x5E: [666, -301, 422, 0, 422],
-    0x5F: [-75, 125, 500, 0, 500],
-    0x60: [664, -492, 333, 120, 311],
-    0x61: [441, 11, 501, 17, 476],
-    0x62: [683, 11, 500, 23, 473],
-    0x63: [441, 11, 444, 30, 425],
-    0x64: [683, 13, 500, 15, 527],
-    0x65: [441, 11, 444, 31, 412],
-    0x66: [678, 207, 278, -147, 424],
-    0x67: [441, 206, 500, 8, 471],
-    0x68: [683, 9, 500, 19, 478],
-    0x69: [654, 11, 278, 49, 264],
-    0x6A: [652, 207, 278, -124, 279],
-    0x6B: [683, 11, 444, 14, 461],
-    0x6C: [683, 11, 278, 41, 279],
-    0x6D: [441, 9, 722, 12, 704],
-    0x6E: [441, 9, 500, 14, 474],
-    0x6F: [441, 11, 500, 27, 468],
-    0x70: [441, 205, 504, -75, 472],
-    0x71: [441, 209, 500, 25, 484],
-    0x72: [441, 0, 389, 45, 412],
-    0x73: [442, 13, 389, 16, 366],
-    0x74: [546, 11, 278, 38, 296],
-    0x75: [441, 11, 500, 42, 475],
-    0x76: [441, 18, 444, 20, 426],
-    0x77: [441, 18, 667, 15, 648],
-    0x78: [441, 11, 444, -27, 447],
-    0x79: [441, 206, 444, -24, 426],
-    0x7A: [428, 81, 389, -2, 380],
-    0x7B: [687, 177, 400, 51, 407],
-    0x7C: [666, 18, 275, 105, 171],
-    0x7D: [687, 177, 400, -7, 349],
-    0x7E: [323, -183, 541, 40, 502],
-    0xA0: [0, 0, 250, 0, 0],
-    0xA3: [670, 8, 500, 10, 517],
-    0xA5: [653, 0, 500, 28, 605],
-    0xA7: [666, 162, 500, 53, 461],
-    0xA8: [606, -508, 333, 107, 405],
-    0xAF: [583, -532, 333, 99, 411],
-    0xB0: [676, -390, 400, 101, 387],
-    0xB4: [664, -494, 333, 180, 403],
-    0xB5: [428, 209, 500, -30, 497],
-    0xB7: [310, -199, 250, 70, 181],
-    0xF0: [683, 11, 500, 27, 482],
-    0x127: [683, 9, 500, 19, 478],
-    0x131: [441, 11, 278, 47, 235],
-    0x237: [441, 207, 278, -124, 246],
-    0x2C6: [661, -492, 333, 91, 385],
-    0x2C7: [661, -492, 333, 121, 426],
-    0x2D8: [650, -492, 333, 117, 418],
-    0x2D9: [606, -508, 333, 207, 305],
-    0x2DA: [707, -508, 333, 155, 355],
-    0x2DC: [624, -517, 333, 100, 427],
-    0x391: [668, 0, 611, -51, 564],
-    0x392: [653, 0, 611, -8, 588],
-    0x393: [653, 0, 611, 8, 645],
-    0x394: [668, 0, 611, -32, 526],
-    0x395: [653, 0, 611, -1, 634],
-    0x396: [653, 0, 556, -6, 606],
-    0x397: [653, 0, 722, -8, 769],
-    0x398: [666, 18, 722, 60, 699],
-    0x399: [653, 0, 333, -8, 384],
-    0x39A: [653, 0, 667, 7, 722],
-    0x39B: [668, 0, 611, -51, 564],
-    0x39C: [653, 0, 833, -18, 872],
-    0x39D: [653, 15, 667, -20, 727],
-    0x39E: [653, 0, 651, -6, 680],
-    0x39F: [666, 18, 722, 60, 699],
-    0x3A0: [653, 0, 722, -8, 769],
-    0x3A1: [653, 0, 611, 0, 605],
-    0x3A3: [653, 0, 620, -6, 659],
-    0x3A4: [653, 0, 556, 59, 633],
-    0x3A5: [668, 0, 556, 78, 648],
-    0x3A6: [653, 0, 741, 50, 731],
-    0x3A7: [653, 0, 611, -29, 655],
-    0x3A8: [667, 0, 675, 77, 778],
-    0x3A9: [666, 0, 762, -6, 739],
-    0x3B1: [441, 11, 552, 27, 549],
-    0x3B2: [678, 205, 506, -40, 514],
-    0x3B3: [435, 206, 410, 19, 438],
-    0x3B4: [668, 11, 460, 24, 460],
-    0x3B5: [441, 11, 444, 30, 425],
-    0x3B6: [683, 185, 454, 30, 475],
-    0x3B7: [441, 205, 474, 14, 442],
-    0x3B8: [678, 11, 480, 27, 494],
-    0x3B9: [441, 11, 278, 49, 235],
-    0x3BA: [441, 13, 444, 14, 465],
-    0x3BB: [678, 16, 458, -12, 431],
-    0x3BC: [428, 205, 526, -33, 483],
-    0x3BD: [441, 18, 470, 20, 459],
-    0x3BE: [683, 185, 454, 30, 446],
-    0x3BF: [441, 11, 500, 27, 468],
-    0x3C0: [428, 18, 504, 19, 536],
-    0x3C1: [441, 205, 504, -40, 471],
-    0x3C2: [441, 185, 454, 30, 453],
-    0x3C3: [428, 11, 498, 27, 531],
-    0x3C4: [428, 11, 410, 12, 426],
-    0x3C5: [441, 10, 478, 19, 446],
-    0x3C6: [441, 205, 622, 27, 590],
-    0x3C7: [441, 207, 457, -108, 498],
-    0x3C8: [441, 205, 584, 15, 668],
-    0x3C9: [439, 11, 686, 27, 654],
-    0x3D0: [694, 10, 456, 45, 436],
-    0x3D1: [678, 10, 556, 19, 526],
-    0x3D2: [668, 0, 596, 78, 693],
-    0x3D5: [683, 205, 627, 27, 595],
-    0x3D6: [428, 11, 792, 17, 832],
-    0x3D8: [666, 205, 722, 60, 699],
-    0x3D9: [441, 205, 500, 27, 468],
-    0x3DA: [666, 207, 673, 55, 665],
-    0x3DB: [458, 185, 444, 30, 482],
-    0x3DC: [653, 0, 557, 8, 645],
-    0x3DD: [433, 190, 487, 32, 472],
-    0x3DE: [773, 18, 645, 19, 675],
-    0x3DF: [683, 0, 457, 31, 445],
-    0x3E0: [666, 207, 708, 7, 668],
-    0x3E1: [552, 210, 528, 93, 448],
-    0x3F0: [441, 13, 533, -16, 559],
-    0x3F1: [441, 205, 516, 27, 484],
-    0x3F4: [666, 18, 722, 60, 699],
-    0x3F5: [441, 11, 444, 30, 420],
-    0x3F6: [441, 11, 444, 24, 414],
-    0x2013: [243, -197, 500, -6, 505],
-    0x2014: [243, -197, 889, -6, 894],
-    0x2018: [666, -436, 333, 171, 310],
-    0x2019: [666, -436, 333, 151, 290],
-    0x201C: [666, -436, 556, 166, 514],
-    0x201D: [666, -436, 556, 151, 499],
-    0x2020: [666, 159, 500, 101, 488],
-    0x2021: [666, 143, 500, 22, 491],
-    0x203E: [820, -770, 500, 0, 500],
-    0x2044: [676, 10, 167, -169, 337],
-    0x20D7: [760, -548, 0, -453, -17],
-    0x2113: [687, 11, 579, 48, 571],
-    0x2202: [668, 11, 471, 40, 471],
-    0x24C8: [676, 14, 684, 0, 684]
+  directory: 'Main/Italic',
+  family: 'STIXMathJax_Main',
+  style: 'italic',
+  testString: '\u00A0\u00A3\u00A5\u00A7\u00A8\u00AF\u00B0\u00B4\u00B5\u00B7\u00F0\u0127\u0131\u0237\u02C6',
+  0x20: [0, 0, 250, 0, 0],
+  0x21: [667, 11, 333, 39, 304],
+  0x22: [666, -421, 420, 144, 432],
+  0x23: [676, 0, 501, 2, 540],
+  0x24: [731, 89, 500, 32, 497],
+  0x25: [706, 19, 755, 80, 705],
+  0x26: [666, 18, 778, 76, 723],
+  0x27: [666, -421, 214, 132, 241],
+  0x28: [669, 181, 333, 42, 315],
+  0x29: [669, 180, 333, 16, 289],
+  0x2A: [666, -255, 500, 128, 492],
+  0x2B: [506, 0, 675, 86, 590],
+  0x2C: [101, 129, 250, -5, 135],
+  0x2D: [255, -192, 333, 49, 282],
+  0x2E: [100, 11, 250, 27, 138],
+  0x2F: [666, 18, 278, -65, 386],
+  0x30: [676, 7, 500, 32, 497],
+  0x31: [676, 0, 500, 50, 409],
+  0x32: [676, 0, 500, 12, 452],
+  0x33: [676, 7, 500, 16, 465],
+  0x34: [676, 0, 500, 1, 479],
+  0x35: [666, 7, 500, 15, 491],
+  0x36: [686, 7, 500, 30, 521],
+  0x37: [666, 8, 500, 75, 537],
+  0x38: [676, 7, 500, 30, 493],
+  0x39: [676, 17, 500, 23, 492],
+  0x3A: [441, 11, 333, 50, 261],
+  0x3B: [441, 129, 333, 26, 261],
+  0x3C: [516, 10, 675, 84, 592],
+  0x3D: [386, -120, 675, 86, 590],
+  0x3E: [516, 10, 675, 84, 592],
+  0x3F: [664, 12, 500, 132, 472],
+  0x40: [666, 18, 920, 118, 806],
+  0x41: [668, 0, 611, -51, 564],
+  0x42: [653, 0, 611, -8, 588],
+  0x43: [666, 18, 667, 66, 689],
+  0x44: [653, 0, 722, -8, 700],
+  0x45: [653, 0, 611, -1, 634],
+  0x46: [653, 0, 611, 8, 645],
+  0x47: [666, 18, 722, 52, 722],
+  0x48: [653, 0, 722, -8, 769],
+  0x49: [653, 0, 333, -8, 384],
+  0x4A: [653, 18, 444, -6, 491],
+  0x4B: [653, 0, 667, 7, 722],
+  0x4C: [653, 0, 556, -8, 559],
+  0x4D: [653, 0, 833, -18, 872],
+  0x4E: [653, 15, 667, -20, 727],
+  0x4F: [666, 18, 722, 60, 699],
+  0x50: [653, 0, 611, 0, 605],
+  0x51: [666, 182, 722, 59, 699],
+  0x52: [653, 0, 611, -13, 588],
+  0x53: [667, 18, 500, 17, 508],
+  0x54: [653, 0, 556, 59, 633],
+  0x55: [653, 18, 722, 102, 765],
+  0x56: [653, 18, 611, 76, 688],
+  0x57: [653, 18, 833, 71, 906],
+  0x58: [653, 0, 611, -29, 655],
+  0x59: [653, 0, 556, 78, 633],
+  0x5A: [653, 0, 556, -6, 606],
+  0x5B: [663, 153, 389, 21, 391],
+  0x5C: [666, 18, 278, -41, 319],
+  0x5D: [663, 153, 389, 12, 382],
+  0x5E: [666, -301, 422, 0, 422],
+  0x5F: [-75, 125, 500, 0, 500],
+  0x60: [664, -492, 333, 120, 311],
+  0x61: [441, 11, 501, 17, 476],
+  0x62: [683, 11, 500, 23, 473],
+  0x63: [441, 11, 444, 30, 425],
+  0x64: [683, 13, 500, 15, 527],
+  0x65: [441, 11, 444, 31, 412],
+  0x66: [678, 207, 278, -147, 424],
+  0x67: [441, 206, 500, 8, 471],
+  0x68: [683, 9, 500, 19, 478],
+  0x69: [654, 11, 278, 49, 264],
+  0x6A: [652, 207, 278, -124, 279],
+  0x6B: [683, 11, 444, 14, 461],
+  0x6C: [683, 11, 278, 41, 279],
+  0x6D: [441, 9, 722, 12, 704],
+  0x6E: [441, 9, 500, 14, 474],
+  0x6F: [441, 11, 500, 27, 468],
+  0x70: [441, 205, 504, -75, 472],
+  0x71: [441, 209, 500, 25, 484],
+  0x72: [441, 0, 389, 45, 412],
+  0x73: [442, 13, 389, 16, 366],
+  0x74: [546, 11, 278, 38, 296],
+  0x75: [441, 11, 500, 42, 475],
+  0x76: [441, 18, 444, 20, 426],
+  0x77: [441, 18, 667, 15, 648],
+  0x78: [441, 11, 444, -27, 447],
+  0x79: [441, 206, 444, -24, 426],
+  0x7A: [428, 81, 389, -2, 380],
+  0x7B: [687, 177, 400, 51, 407],
+  0x7C: [666, 18, 275, 105, 171],
+  0x7D: [687, 177, 400, -7, 349],
+  0x7E: [323, -183, 541, 40, 502],
+  0xA0: [0, 0, 250, 0, 0],
+  0xA3: [670, 8, 500, 10, 517],
+  0xA5: [653, 0, 500, 28, 605],
+  0xA7: [666, 162, 500, 53, 461],
+  0xA8: [606, -508, 333, 107, 405],
+  0xAF: [583, -532, 333, 99, 411],
+  0xB0: [676, -390, 400, 101, 387],
+  0xB4: [664, -494, 333, 180, 403],
+  0xB5: [428, 209, 500, -30, 497],
+  0xB7: [310, -199, 250, 70, 181],
+  0xF0: [683, 11, 500, 27, 482],
+  0x127: [683, 9, 500, 19, 478],
+  0x131: [441, 11, 278, 47, 235],
+  0x237: [441, 207, 278, -124, 246],
+  0x2C6: [661, -492, 333, 91, 385],
+  0x2C7: [661, -492, 333, 121, 426],
+  0x2D8: [650, -492, 333, 117, 418],
+  0x2D9: [606, -508, 333, 207, 305],
+  0x2DA: [707, -508, 333, 155, 355],
+  0x2DC: [624, -517, 333, 100, 427],
+  0x391: [668, 0, 611, -51, 564],
+  0x392: [653, 0, 611, -8, 588],
+  0x393: [653, 0, 611, 8, 645],
+  0x394: [668, 0, 611, -32, 526],
+  0x395: [653, 0, 611, -1, 634],
+  0x396: [653, 0, 556, -6, 606],
+  0x397: [653, 0, 722, -8, 769],
+  0x398: [666, 18, 722, 60, 699],
+  0x399: [653, 0, 333, -8, 384],
+  0x39A: [653, 0, 667, 7, 722],
+  0x39B: [668, 0, 611, -51, 564],
+  0x39C: [653, 0, 833, -18, 872],
+  0x39D: [653, 15, 667, -20, 727],
+  0x39E: [653, 0, 651, -6, 680],
+  0x39F: [666, 18, 722, 60, 699],
+  0x3A0: [653, 0, 722, -8, 769],
+  0x3A1: [653, 0, 611, 0, 605],
+  0x3A3: [653, 0, 620, -6, 659],
+  0x3A4: [653, 0, 556, 59, 633],
+  0x3A5: [668, 0, 556, 78, 648],
+  0x3A6: [653, 0, 741, 50, 731],
+  0x3A7: [653, 0, 611, -29, 655],
+  0x3A8: [667, 0, 675, 77, 778],
+  0x3A9: [666, 0, 762, -6, 739],
+  0x3B1: [441, 11, 552, 27, 549],
+  0x3B2: [678, 205, 506, -40, 514],
+  0x3B3: [435, 206, 410, 19, 438],
+  0x3B4: [668, 11, 460, 24, 460],
+  0x3B5: [441, 11, 444, 30, 425],
+  0x3B6: [683, 185, 454, 30, 475],
+  0x3B7: [441, 205, 474, 14, 442],
+  0x3B8: [678, 11, 480, 27, 494],
+  0x3B9: [441, 11, 278, 49, 235],
+  0x3BA: [441, 13, 444, 14, 465],
+  0x3BB: [678, 16, 458, -12, 431],
+  0x3BC: [428, 205, 526, -33, 483],
+  0x3BD: [441, 18, 470, 20, 459],
+  0x3BE: [683, 185, 454, 30, 446],
+  0x3BF: [441, 11, 500, 27, 468],
+  0x3C0: [428, 18, 504, 19, 536],
+  0x3C1: [441, 205, 504, -40, 471],
+  0x3C2: [441, 185, 454, 30, 453],
+  0x3C3: [428, 11, 498, 27, 531],
+  0x3C4: [428, 11, 410, 12, 426],
+  0x3C5: [441, 10, 478, 19, 446],
+  0x3C6: [441, 205, 622, 27, 590],
+  0x3C7: [441, 207, 457, -108, 498],
+  0x3C8: [441, 205, 584, 15, 668],
+  0x3C9: [439, 11, 686, 27, 654],
+  0x3D0: [694, 10, 456, 45, 436],
+  0x3D1: [678, 10, 556, 19, 526],
+  0x3D2: [668, 0, 596, 78, 693],
+  0x3D5: [683, 205, 627, 27, 595],
+  0x3D6: [428, 11, 792, 17, 832],
+  0x3D8: [666, 205, 722, 60, 699],
+  0x3D9: [441, 205, 500, 27, 468],
+  0x3DA: [666, 207, 673, 55, 665],
+  0x3DB: [458, 185, 444, 30, 482],
+  0x3DC: [653, 0, 557, 8, 645],
+  0x3DD: [433, 190, 487, 32, 472],
+  0x3DE: [773, 18, 645, 19, 675],
+  0x3DF: [683, 0, 457, 31, 445],
+  0x3E0: [666, 207, 708, 7, 668],
+  0x3E1: [552, 210, 528, 93, 448],
+  0x3F0: [441, 13, 533, -16, 559],
+  0x3F1: [441, 205, 516, 27, 484],
+  0x3F4: [666, 18, 722, 60, 699],
+  0x3F5: [441, 11, 444, 30, 420],
+  0x3F6: [441, 11, 444, 24, 414],
+  0x2013: [243, -197, 500, -6, 505],
+  0x2014: [243, -197, 889, -6, 894],
+  0x2018: [666, -436, 333, 171, 310],
+  0x2019: [666, -436, 333, 151, 290],
+  0x201C: [666, -436, 556, 166, 514],
+  0x201D: [666, -436, 556, 151, 499],
+  0x2020: [666, 159, 500, 101, 488],
+  0x2021: [666, 143, 500, 22, 491],
+  0x203E: [820, -770, 500, 0, 500],
+  0x2044: [676, 10, 167, -169, 337],
+  0x20D7: [760, -548, 0, -453, -17],
+  0x2113: [687, 11, 579, 48, 571],
+  0x2202: [668, 11, 471, 40, 471],
+  0x24C8: [676, 14, 684, 0, 684]
 };
 
 MathJax.Callback.Queue(

+ 59 - 59
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Marks/Italic/Main.js

@@ -18,65 +18,65 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Marks-italic'] = {
-    directory: 'Marks/Italic',
-    family: 'STIXMathJax_Marks',
-    style: 'italic',
-    testString: '\u00A0\u02B0\u02B1\u02B2\u02B3\u02B4\u02B5\u02B6\u02B7\u02B8\u02BB\u02C0\u02C1\u02DB\u02DD',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2B0: [838, -326, 378, 7, 391],
-    0x2B1: [838, -326, 378, 7, 414],
-    0x2B2: [851, -199, 300, 44, 350],
-    0x2B3: [690, -345, 320, 2, 320],
-    0x2B4: [690, -345, 320, 0, 318],
-    0x2B5: [690, -163, 320, 0, 335],
-    0x2B6: [684, -345, 390, 6, 462],
-    0x2B7: [690, -327, 500, 15, 515],
-    0x2B8: [693, -202, 330, 16, 357],
-    0x2BB: [686, -443, 333, 79, 236],
-    0x2C0: [690, -295, 326, 30, 307],
-    0x2C1: [690, -295, 326, 23, 343],
-    0x2DB: [40, 169, 333, -20, 200],
-    0x2DD: [664, -494, 333, 93, 486],
-    0x2E0: [684, -218, 315, 23, 335],
-    0x2E1: [837, -333, 220, 41, 214],
-    0x2E2: [691, -335, 300, 16, 290],
-    0x2E3: [691, -333, 380, 4, 379],
-    0x2E4: [847, -333, 318, 8, 345],
-    0x2EC: [70, 147, 320, 15, 305],
-    0x2ED: [665, -507, 405, 10, 395],
-    0x2F7: [-113, 220, 333, -94, 233],
-    0x2010: [257, -191, 333, 49, 282],
-    0x2011: [257, -191, 333, 49, 282],
-    0x2012: [258, -192, 500, -8, 508],
-    0x201A: [101, 129, 333, 44, 183],
-    0x201B: [666, -436, 333, 169, 290],
-    0x201E: [101, 129, 556, 57, 405],
-    0x201F: [666, -436, 556, 169, 499],
-    0x2022: [444, -59, 523, 70, 455],
-    0x2030: [706, 19, 1117, 80, 1067],
-    0x2031: [706, 19, 1479, 80, 1429],
-    0x2039: [403, -37, 333, 51, 281],
-    0x203A: [403, -37, 333, 52, 282],
-    0x20D0: [760, -627, 0, -453, -17],
-    0x20D1: [760, -627, 0, -426, 10],
-    0x20D2: [662, 156, 0, -300, -234],
-    0x20D6: [760, -548, 0, -453, -17],
-    0x20DB: [622, -523, 0, -453, 44],
-    0x20DC: [622, -523, 0, -582, 114],
-    0x20DD: [725, 221, 0, -723, 223],
-    0x20E1: [760, -548, 0, -453, 25],
-    0x20E4: [1023, 155, 0, -970, 490],
-    0x20E5: [662, 156, 0, -430, -24],
-    0x20E6: [662, 156, 0, -351, -86],
-    0x20E7: [725, 178, 0, -595, 221],
-    0x20E8: [-119, 218, 0, -462, 35],
-    0x20E9: [681, -538, 0, -478, 55],
-    0x20EA: [419, -87, 0, -793, 153],
-    0x20EC: [-119, 252, 0, 27, 463],
-    0x20ED: [-119, 252, 0, 27, 463],
-    0x20EE: [-40, 252, 0, -453, -17],
-    0x20EF: [-40, 252, 0, -453, -17]
+  directory: 'Marks/Italic',
+  family: 'STIXMathJax_Marks',
+  style: 'italic',
+  testString: '\u00A0\u02B0\u02B1\u02B2\u02B3\u02B4\u02B5\u02B6\u02B7\u02B8\u02BB\u02C0\u02C1\u02DB\u02DD',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2B0: [838, -326, 378, 7, 391],
+  0x2B1: [838, -326, 378, 7, 414],
+  0x2B2: [851, -199, 300, 44, 350],
+  0x2B3: [690, -345, 320, 2, 320],
+  0x2B4: [690, -345, 320, 0, 318],
+  0x2B5: [690, -163, 320, 0, 335],
+  0x2B6: [684, -345, 390, 6, 462],
+  0x2B7: [690, -327, 500, 15, 515],
+  0x2B8: [693, -202, 330, 16, 357],
+  0x2BB: [686, -443, 333, 79, 236],
+  0x2C0: [690, -295, 326, 30, 307],
+  0x2C1: [690, -295, 326, 23, 343],
+  0x2DB: [40, 169, 333, -20, 200],
+  0x2DD: [664, -494, 333, 93, 486],
+  0x2E0: [684, -218, 315, 23, 335],
+  0x2E1: [837, -333, 220, 41, 214],
+  0x2E2: [691, -335, 300, 16, 290],
+  0x2E3: [691, -333, 380, 4, 379],
+  0x2E4: [847, -333, 318, 8, 345],
+  0x2EC: [70, 147, 320, 15, 305],
+  0x2ED: [665, -507, 405, 10, 395],
+  0x2F7: [-113, 220, 333, -94, 233],
+  0x2010: [257, -191, 333, 49, 282],
+  0x2011: [257, -191, 333, 49, 282],
+  0x2012: [258, -192, 500, -8, 508],
+  0x201A: [101, 129, 333, 44, 183],
+  0x201B: [666, -436, 333, 169, 290],
+  0x201E: [101, 129, 556, 57, 405],
+  0x201F: [666, -436, 556, 169, 499],
+  0x2022: [444, -59, 523, 70, 455],
+  0x2030: [706, 19, 1117, 80, 1067],
+  0x2031: [706, 19, 1479, 80, 1429],
+  0x2039: [403, -37, 333, 51, 281],
+  0x203A: [403, -37, 333, 52, 282],
+  0x20D0: [760, -627, 0, -453, -17],
+  0x20D1: [760, -627, 0, -426, 10],
+  0x20D2: [662, 156, 0, -300, -234],
+  0x20D6: [760, -548, 0, -453, -17],
+  0x20DB: [622, -523, 0, -453, 44],
+  0x20DC: [622, -523, 0, -582, 114],
+  0x20DD: [725, 221, 0, -723, 223],
+  0x20E1: [760, -548, 0, -453, 25],
+  0x20E4: [1023, 155, 0, -970, 490],
+  0x20E5: [662, 156, 0, -430, -24],
+  0x20E6: [662, 156, 0, -351, -86],
+  0x20E7: [725, 178, 0, -595, 221],
+  0x20E8: [-119, 218, 0, -462, 35],
+  0x20E9: [681, -538, 0, -478, 55],
+  0x20EA: [419, -87, 0, -793, 153],
+  0x20EC: [-119, 252, 0, 27, 463],
+  0x20ED: [-119, 252, 0, 27, 463],
+  0x20EE: [-40, 252, 0, -453, -17],
+  0x20EF: [-40, 252, 0, -453, -17]
 };
 
 MathJax.Callback.Queue(

+ 176 - 176
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Misc/Bold/Main.js

@@ -18,182 +18,182 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Misc-bold'] = {
-    directory: 'Misc/Bold',
-    family: 'STIXMathJax_Misc',
-    weight: 'bold',
-    testString: '\u00A0\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    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],
-    0x1D00: [475, 0, 515, 9, 503],
-    0x1D07: [461, 0, 531, 20, 511],
-    0x1D1C: [461, 19, 600, 16, 584],
-    0x207F: [700, -275, 491, 15, 478],
-    0x20A3: [676, 0, 611, 11, 583],
-    0x20A4: [684, 16, 500, 21, 477],
-    0x20A7: [676, 14, 1369, 16, 1341],
-    0x20AC: [672, 12, 500, 29, 478],
-    0x2153: [688, 12, 750, -7, 763],
-    0x2154: [688, 12, 750, 28, 763],
-    0x2155: [688, 12, 750, -7, 775],
-    0x2156: [688, 12, 750, 28, 775],
-    0x2157: [688, 12, 750, 23, 775],
-    0x2158: [688, 12, 750, 22, 775],
-    0x2159: [688, 12, 750, -7, 758],
-    0x215A: [688, 12, 750, 49, 758],
-    0x215B: [688, 12, 750, -7, 775],
-    0x215C: [688, 12, 750, 23, 775],
-    0x215D: [688, 12, 750, 49, 775],
-    0x215E: [688, 12, 750, 30, 775],
-    0x2460: [690, 19, 695, 0, 695],
-    0x2461: [690, 19, 695, 0, 695],
-    0x2462: [690, 19, 695, 0, 695],
-    0x2463: [690, 19, 695, 0, 695],
-    0x2464: [690, 19, 695, 0, 695],
-    0x2465: [690, 19, 695, 0, 695],
-    0x2466: [690, 19, 695, 0, 695],
-    0x2467: [690, 19, 695, 0, 695],
-    0x2468: [690, 19, 695, 0, 695],
-    0x24B6: [690, 19, 695, 0, 695],
-    0x24B7: [690, 19, 695, 0, 695],
-    0x24B8: [690, 19, 695, 0, 695],
-    0x24B9: [690, 19, 695, 0, 695],
-    0x24BA: [690, 19, 695, 0, 695],
-    0x24BB: [690, 19, 695, 0, 695],
-    0x24BC: [690, 19, 695, 0, 695],
-    0x24BD: [690, 19, 695, 0, 695],
-    0x24BE: [690, 19, 695, 0, 695],
-    0x24BF: [690, 19, 695, 0, 695],
-    0x24C0: [690, 19, 695, 0, 695],
-    0x24C1: [690, 19, 695, 0, 695],
-    0x24C2: [690, 19, 695, 0, 695],
-    0x24C3: [690, 19, 695, 0, 695],
-    0x24C4: [690, 19, 695, 0, 695],
-    0x24C5: [690, 19, 695, 0, 695],
-    0x24C6: [690, 19, 695, 0, 695],
-    0x24C7: [690, 19, 695, 0, 695],
-    0x24C9: [690, 19, 695, 0, 695],
-    0x24CA: [690, 19, 695, 0, 695],
-    0x24CB: [690, 19, 695, 0, 695],
-    0x24CC: [690, 19, 695, 0, 695],
-    0x24CD: [690, 19, 695, 0, 695],
-    0x24CE: [690, 19, 695, 0, 695],
-    0x24CF: [690, 19, 695, 0, 695],
-    0x24D0: [690, 19, 695, 0, 695],
-    0x24D1: [690, 19, 695, 0, 695],
-    0x24D2: [690, 19, 695, 0, 695],
-    0x24D3: [690, 19, 695, 0, 695],
-    0x24D4: [690, 19, 695, 0, 695],
-    0x24D5: [690, 19, 695, 0, 695],
-    0x24D6: [690, 19, 695, 0, 695],
-    0x24D7: [690, 19, 695, 0, 695],
-    0x24D8: [690, 19, 695, 0, 695],
-    0x24D9: [690, 19, 695, 0, 695],
-    0x24DA: [690, 19, 695, 0, 695],
-    0x24DB: [690, 19, 695, 0, 695],
-    0x24DC: [690, 19, 695, 0, 695],
-    0x24DD: [690, 19, 695, 0, 695],
-    0x24DE: [690, 19, 695, 0, 695],
-    0x24DF: [690, 19, 695, 0, 695],
-    0x24E0: [690, 19, 695, 0, 695],
-    0x24E1: [690, 19, 695, 0, 695],
-    0x24E2: [690, 19, 695, 0, 695],
-    0x24E3: [690, 19, 695, 0, 695],
-    0x24E4: [690, 19, 695, 0, 695],
-    0x24E5: [690, 19, 695, 0, 695],
-    0x24E6: [690, 19, 695, 0, 695],
-    0x24E7: [690, 19, 695, 0, 695],
-    0x24E8: [690, 19, 695, 0, 695],
-    0x24E9: [690, 19, 695, 0, 695],
-    0x24EA: [690, 19, 695, 0, 695]
+  directory: 'Misc/Bold',
+  family: 'STIXMathJax_Misc',
+  weight: 'bold',
+  testString: '\u00A0\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  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],
+  0x1D00: [475, 0, 515, 9, 503],
+  0x1D07: [461, 0, 531, 20, 511],
+  0x1D1C: [461, 19, 600, 16, 584],
+  0x207F: [700, -275, 491, 15, 478],
+  0x20A3: [676, 0, 611, 11, 583],
+  0x20A4: [684, 16, 500, 21, 477],
+  0x20A7: [676, 14, 1369, 16, 1341],
+  0x20AC: [672, 12, 500, 29, 478],
+  0x2153: [688, 12, 750, -7, 763],
+  0x2154: [688, 12, 750, 28, 763],
+  0x2155: [688, 12, 750, -7, 775],
+  0x2156: [688, 12, 750, 28, 775],
+  0x2157: [688, 12, 750, 23, 775],
+  0x2158: [688, 12, 750, 22, 775],
+  0x2159: [688, 12, 750, -7, 758],
+  0x215A: [688, 12, 750, 49, 758],
+  0x215B: [688, 12, 750, -7, 775],
+  0x215C: [688, 12, 750, 23, 775],
+  0x215D: [688, 12, 750, 49, 775],
+  0x215E: [688, 12, 750, 30, 775],
+  0x2460: [690, 19, 695, 0, 695],
+  0x2461: [690, 19, 695, 0, 695],
+  0x2462: [690, 19, 695, 0, 695],
+  0x2463: [690, 19, 695, 0, 695],
+  0x2464: [690, 19, 695, 0, 695],
+  0x2465: [690, 19, 695, 0, 695],
+  0x2466: [690, 19, 695, 0, 695],
+  0x2467: [690, 19, 695, 0, 695],
+  0x2468: [690, 19, 695, 0, 695],
+  0x24B6: [690, 19, 695, 0, 695],
+  0x24B7: [690, 19, 695, 0, 695],
+  0x24B8: [690, 19, 695, 0, 695],
+  0x24B9: [690, 19, 695, 0, 695],
+  0x24BA: [690, 19, 695, 0, 695],
+  0x24BB: [690, 19, 695, 0, 695],
+  0x24BC: [690, 19, 695, 0, 695],
+  0x24BD: [690, 19, 695, 0, 695],
+  0x24BE: [690, 19, 695, 0, 695],
+  0x24BF: [690, 19, 695, 0, 695],
+  0x24C0: [690, 19, 695, 0, 695],
+  0x24C1: [690, 19, 695, 0, 695],
+  0x24C2: [690, 19, 695, 0, 695],
+  0x24C3: [690, 19, 695, 0, 695],
+  0x24C4: [690, 19, 695, 0, 695],
+  0x24C5: [690, 19, 695, 0, 695],
+  0x24C6: [690, 19, 695, 0, 695],
+  0x24C7: [690, 19, 695, 0, 695],
+  0x24C9: [690, 19, 695, 0, 695],
+  0x24CA: [690, 19, 695, 0, 695],
+  0x24CB: [690, 19, 695, 0, 695],
+  0x24CC: [690, 19, 695, 0, 695],
+  0x24CD: [690, 19, 695, 0, 695],
+  0x24CE: [690, 19, 695, 0, 695],
+  0x24CF: [690, 19, 695, 0, 695],
+  0x24D0: [690, 19, 695, 0, 695],
+  0x24D1: [690, 19, 695, 0, 695],
+  0x24D2: [690, 19, 695, 0, 695],
+  0x24D3: [690, 19, 695, 0, 695],
+  0x24D4: [690, 19, 695, 0, 695],
+  0x24D5: [690, 19, 695, 0, 695],
+  0x24D6: [690, 19, 695, 0, 695],
+  0x24D7: [690, 19, 695, 0, 695],
+  0x24D8: [690, 19, 695, 0, 695],
+  0x24D9: [690, 19, 695, 0, 695],
+  0x24DA: [690, 19, 695, 0, 695],
+  0x24DB: [690, 19, 695, 0, 695],
+  0x24DC: [690, 19, 695, 0, 695],
+  0x24DD: [690, 19, 695, 0, 695],
+  0x24DE: [690, 19, 695, 0, 695],
+  0x24DF: [690, 19, 695, 0, 695],
+  0x24E0: [690, 19, 695, 0, 695],
+  0x24E1: [690, 19, 695, 0, 695],
+  0x24E2: [690, 19, 695, 0, 695],
+  0x24E3: [690, 19, 695, 0, 695],
+  0x24E4: [690, 19, 695, 0, 695],
+  0x24E5: [690, 19, 695, 0, 695],
+  0x24E6: [690, 19, 695, 0, 695],
+  0x24E7: [690, 19, 695, 0, 695],
+  0x24E8: [690, 19, 695, 0, 695],
+  0x24E9: [690, 19, 695, 0, 695],
+  0x24EA: [690, 19, 695, 0, 695]
 };
 
 MathJax.Callback.Queue(

+ 161 - 161
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Misc/BoldItalic/Main.js

@@ -18,167 +18,167 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Misc-bold-italic'] = {
-    directory: 'Misc/BoldItalic',
-    family: 'STIXMathJax_Misc',
-    weight: 'bold',
-    style: 'italic',
-    testString: '\u00A0\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    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],
-    0x20A3: [669, 0, 668, -13, 661],
-    0x20A4: [683, 12, 500, -32, 510],
-    0x20A7: [669, 13, 1229, -28, 1173],
-    0x20AC: [681, 17, 562, 34, 546],
-    0x2460: [690, 19, 695, 0, 695],
-    0x2461: [690, 19, 695, 0, 695],
-    0x2462: [690, 19, 695, 0, 695],
-    0x2463: [690, 19, 695, 0, 695],
-    0x2464: [690, 19, 695, 0, 695],
-    0x2465: [690, 19, 695, 0, 695],
-    0x2466: [690, 19, 695, 0, 695],
-    0x2467: [690, 19, 695, 0, 695],
-    0x2468: [690, 19, 695, 0, 695],
-    0x24B6: [690, 19, 695, 0, 695],
-    0x24B7: [690, 19, 695, 0, 695],
-    0x24B8: [690, 19, 695, 0, 695],
-    0x24B9: [690, 19, 695, 0, 695],
-    0x24BA: [690, 19, 695, 0, 695],
-    0x24BB: [690, 19, 695, 0, 695],
-    0x24BC: [690, 19, 695, 0, 695],
-    0x24BD: [690, 19, 695, 0, 695],
-    0x24BE: [690, 19, 695, 0, 695],
-    0x24BF: [690, 19, 695, 0, 695],
-    0x24C0: [690, 19, 695, 0, 695],
-    0x24C1: [690, 19, 695, 0, 695],
-    0x24C2: [690, 19, 695, 0, 695],
-    0x24C3: [690, 19, 695, 0, 695],
-    0x24C4: [690, 19, 695, 0, 695],
-    0x24C5: [690, 19, 695, 0, 695],
-    0x24C6: [690, 19, 695, 0, 695],
-    0x24C7: [690, 19, 695, 0, 695],
-    0x24C9: [690, 19, 695, 0, 695],
-    0x24CA: [690, 19, 695, 0, 695],
-    0x24CB: [690, 19, 695, 0, 695],
-    0x24CC: [690, 19, 695, 0, 695],
-    0x24CD: [690, 19, 695, 0, 695],
-    0x24CE: [690, 19, 695, 0, 695],
-    0x24CF: [690, 19, 695, 0, 695],
-    0x24D0: [690, 19, 695, 0, 695],
-    0x24D1: [690, 19, 695, 0, 695],
-    0x24D2: [690, 19, 695, 0, 695],
-    0x24D3: [690, 19, 695, 0, 695],
-    0x24D4: [690, 19, 695, 0, 695],
-    0x24D5: [690, 19, 695, 0, 695],
-    0x24D6: [690, 19, 695, 0, 695],
-    0x24D7: [690, 19, 695, 0, 695],
-    0x24D8: [690, 19, 695, 0, 695],
-    0x24D9: [690, 19, 695, 0, 695],
-    0x24DA: [690, 19, 695, 0, 695],
-    0x24DB: [690, 19, 695, 0, 695],
-    0x24DC: [690, 19, 695, 0, 695],
-    0x24DD: [690, 19, 695, 0, 695],
-    0x24DE: [690, 19, 695, 0, 695],
-    0x24DF: [690, 19, 695, 0, 695],
-    0x24E0: [690, 19, 695, 0, 695],
-    0x24E1: [690, 19, 695, 0, 695],
-    0x24E2: [690, 19, 695, 0, 695],
-    0x24E3: [690, 19, 695, 0, 695],
-    0x24E4: [690, 19, 695, 0, 695],
-    0x24E5: [690, 19, 695, 0, 695],
-    0x24E6: [690, 19, 695, 0, 695],
-    0x24E7: [690, 19, 695, 0, 695],
-    0x24E8: [690, 19, 695, 0, 695],
-    0x24E9: [690, 19, 695, 0, 695],
-    0x24EA: [690, 19, 695, 0, 695]
+  directory: 'Misc/BoldItalic',
+  family: 'STIXMathJax_Misc',
+  weight: 'bold',
+  style: 'italic',
+  testString: '\u00A0\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  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],
+  0x20A3: [669, 0, 668, -13, 661],
+  0x20A4: [683, 12, 500, -32, 510],
+  0x20A7: [669, 13, 1229, -28, 1173],
+  0x20AC: [681, 17, 562, 34, 546],
+  0x2460: [690, 19, 695, 0, 695],
+  0x2461: [690, 19, 695, 0, 695],
+  0x2462: [690, 19, 695, 0, 695],
+  0x2463: [690, 19, 695, 0, 695],
+  0x2464: [690, 19, 695, 0, 695],
+  0x2465: [690, 19, 695, 0, 695],
+  0x2466: [690, 19, 695, 0, 695],
+  0x2467: [690, 19, 695, 0, 695],
+  0x2468: [690, 19, 695, 0, 695],
+  0x24B6: [690, 19, 695, 0, 695],
+  0x24B7: [690, 19, 695, 0, 695],
+  0x24B8: [690, 19, 695, 0, 695],
+  0x24B9: [690, 19, 695, 0, 695],
+  0x24BA: [690, 19, 695, 0, 695],
+  0x24BB: [690, 19, 695, 0, 695],
+  0x24BC: [690, 19, 695, 0, 695],
+  0x24BD: [690, 19, 695, 0, 695],
+  0x24BE: [690, 19, 695, 0, 695],
+  0x24BF: [690, 19, 695, 0, 695],
+  0x24C0: [690, 19, 695, 0, 695],
+  0x24C1: [690, 19, 695, 0, 695],
+  0x24C2: [690, 19, 695, 0, 695],
+  0x24C3: [690, 19, 695, 0, 695],
+  0x24C4: [690, 19, 695, 0, 695],
+  0x24C5: [690, 19, 695, 0, 695],
+  0x24C6: [690, 19, 695, 0, 695],
+  0x24C7: [690, 19, 695, 0, 695],
+  0x24C9: [690, 19, 695, 0, 695],
+  0x24CA: [690, 19, 695, 0, 695],
+  0x24CB: [690, 19, 695, 0, 695],
+  0x24CC: [690, 19, 695, 0, 695],
+  0x24CD: [690, 19, 695, 0, 695],
+  0x24CE: [690, 19, 695, 0, 695],
+  0x24CF: [690, 19, 695, 0, 695],
+  0x24D0: [690, 19, 695, 0, 695],
+  0x24D1: [690, 19, 695, 0, 695],
+  0x24D2: [690, 19, 695, 0, 695],
+  0x24D3: [690, 19, 695, 0, 695],
+  0x24D4: [690, 19, 695, 0, 695],
+  0x24D5: [690, 19, 695, 0, 695],
+  0x24D6: [690, 19, 695, 0, 695],
+  0x24D7: [690, 19, 695, 0, 695],
+  0x24D8: [690, 19, 695, 0, 695],
+  0x24D9: [690, 19, 695, 0, 695],
+  0x24DA: [690, 19, 695, 0, 695],
+  0x24DB: [690, 19, 695, 0, 695],
+  0x24DC: [690, 19, 695, 0, 695],
+  0x24DD: [690, 19, 695, 0, 695],
+  0x24DE: [690, 19, 695, 0, 695],
+  0x24DF: [690, 19, 695, 0, 695],
+  0x24E0: [690, 19, 695, 0, 695],
+  0x24E1: [690, 19, 695, 0, 695],
+  0x24E2: [690, 19, 695, 0, 695],
+  0x24E3: [690, 19, 695, 0, 695],
+  0x24E4: [690, 19, 695, 0, 695],
+  0x24E5: [690, 19, 695, 0, 695],
+  0x24E6: [690, 19, 695, 0, 695],
+  0x24E7: [690, 19, 695, 0, 695],
+  0x24E8: [690, 19, 695, 0, 695],
+  0x24E9: [690, 19, 695, 0, 695],
+  0x24EA: [690, 19, 695, 0, 695]
 };
 
 MathJax.Callback.Queue(

+ 160 - 160
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Misc/Italic/Main.js

@@ -18,166 +18,166 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Misc-italic'] = {
-    directory: 'Misc/Italic',
-    family: 'STIXMathJax_Misc',
-    style: 'italic',
-    testString: '\u00A0\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    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],
-    0x20A3: [653, 0, 611, 8, 645],
-    0x20A4: [670, 8, 500, 10, 517],
-    0x20A7: [653, 13, 1149, 0, 1126],
-    0x20AC: [664, 12, 500, 16, 538],
-    0x2460: [676, 14, 684, 0, 684],
-    0x2461: [676, 14, 684, 0, 684],
-    0x2462: [676, 14, 684, 0, 684],
-    0x2463: [676, 14, 684, 0, 684],
-    0x2464: [676, 14, 684, 0, 684],
-    0x2465: [676, 14, 684, 0, 684],
-    0x2466: [676, 14, 684, 0, 684],
-    0x2467: [676, 14, 684, 0, 684],
-    0x2468: [676, 14, 684, 0, 684],
-    0x24B6: [676, 14, 684, 0, 684],
-    0x24B7: [676, 14, 684, 0, 684],
-    0x24B8: [676, 14, 684, 0, 684],
-    0x24B9: [676, 14, 684, 0, 684],
-    0x24BA: [676, 14, 684, 0, 684],
-    0x24BB: [676, 14, 684, 0, 684],
-    0x24BC: [676, 14, 684, 0, 684],
-    0x24BD: [676, 14, 684, 0, 684],
-    0x24BE: [676, 14, 684, 0, 684],
-    0x24BF: [676, 14, 684, 0, 684],
-    0x24C0: [676, 14, 684, 0, 684],
-    0x24C1: [676, 14, 684, 0, 684],
-    0x24C2: [676, 14, 684, 0, 684],
-    0x24C3: [676, 14, 684, 0, 684],
-    0x24C4: [676, 14, 684, 0, 684],
-    0x24C5: [676, 14, 684, 0, 684],
-    0x24C6: [676, 14, 684, 0, 684],
-    0x24C7: [676, 14, 684, 0, 684],
-    0x24C9: [676, 14, 684, 0, 684],
-    0x24CA: [676, 14, 684, 0, 684],
-    0x24CB: [676, 14, 684, 0, 684],
-    0x24CC: [676, 14, 684, 0, 684],
-    0x24CD: [676, 14, 684, 0, 684],
-    0x24CE: [676, 14, 684, 0, 684],
-    0x24CF: [676, 14, 684, 0, 684],
-    0x24D0: [676, 14, 684, 0, 684],
-    0x24D1: [676, 14, 684, 0, 684],
-    0x24D2: [676, 14, 684, 0, 684],
-    0x24D3: [676, 14, 684, 0, 684],
-    0x24D4: [676, 14, 684, 0, 684],
-    0x24D5: [676, 14, 684, 0, 684],
-    0x24D6: [676, 14, 684, 0, 684],
-    0x24D7: [676, 14, 684, 0, 684],
-    0x24D8: [676, 14, 684, 0, 684],
-    0x24D9: [676, 14, 684, 0, 684],
-    0x24DA: [676, 14, 684, 0, 684],
-    0x24DB: [676, 14, 684, 0, 684],
-    0x24DC: [676, 14, 684, 0, 684],
-    0x24DD: [676, 14, 684, 0, 684],
-    0x24DE: [676, 14, 684, 0, 684],
-    0x24DF: [676, 14, 684, 0, 684],
-    0x24E0: [676, 14, 684, 0, 684],
-    0x24E1: [676, 14, 684, 0, 684],
-    0x24E2: [676, 14, 684, 0, 684],
-    0x24E3: [676, 14, 684, 0, 684],
-    0x24E4: [676, 14, 684, 0, 684],
-    0x24E5: [676, 14, 684, 0, 684],
-    0x24E6: [676, 14, 684, 0, 684],
-    0x24E7: [676, 14, 684, 0, 684],
-    0x24E8: [676, 14, 684, 0, 684],
-    0x24E9: [676, 14, 684, 0, 684],
-    0x24EA: [676, 14, 684, 0, 684]
+  directory: 'Misc/Italic',
+  family: 'STIXMathJax_Misc',
+  style: 'italic',
+  testString: '\u00A0\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  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],
+  0x20A3: [653, 0, 611, 8, 645],
+  0x20A4: [670, 8, 500, 10, 517],
+  0x20A7: [653, 13, 1149, 0, 1126],
+  0x20AC: [664, 12, 500, 16, 538],
+  0x2460: [676, 14, 684, 0, 684],
+  0x2461: [676, 14, 684, 0, 684],
+  0x2462: [676, 14, 684, 0, 684],
+  0x2463: [676, 14, 684, 0, 684],
+  0x2464: [676, 14, 684, 0, 684],
+  0x2465: [676, 14, 684, 0, 684],
+  0x2466: [676, 14, 684, 0, 684],
+  0x2467: [676, 14, 684, 0, 684],
+  0x2468: [676, 14, 684, 0, 684],
+  0x24B6: [676, 14, 684, 0, 684],
+  0x24B7: [676, 14, 684, 0, 684],
+  0x24B8: [676, 14, 684, 0, 684],
+  0x24B9: [676, 14, 684, 0, 684],
+  0x24BA: [676, 14, 684, 0, 684],
+  0x24BB: [676, 14, 684, 0, 684],
+  0x24BC: [676, 14, 684, 0, 684],
+  0x24BD: [676, 14, 684, 0, 684],
+  0x24BE: [676, 14, 684, 0, 684],
+  0x24BF: [676, 14, 684, 0, 684],
+  0x24C0: [676, 14, 684, 0, 684],
+  0x24C1: [676, 14, 684, 0, 684],
+  0x24C2: [676, 14, 684, 0, 684],
+  0x24C3: [676, 14, 684, 0, 684],
+  0x24C4: [676, 14, 684, 0, 684],
+  0x24C5: [676, 14, 684, 0, 684],
+  0x24C6: [676, 14, 684, 0, 684],
+  0x24C7: [676, 14, 684, 0, 684],
+  0x24C9: [676, 14, 684, 0, 684],
+  0x24CA: [676, 14, 684, 0, 684],
+  0x24CB: [676, 14, 684, 0, 684],
+  0x24CC: [676, 14, 684, 0, 684],
+  0x24CD: [676, 14, 684, 0, 684],
+  0x24CE: [676, 14, 684, 0, 684],
+  0x24CF: [676, 14, 684, 0, 684],
+  0x24D0: [676, 14, 684, 0, 684],
+  0x24D1: [676, 14, 684, 0, 684],
+  0x24D2: [676, 14, 684, 0, 684],
+  0x24D3: [676, 14, 684, 0, 684],
+  0x24D4: [676, 14, 684, 0, 684],
+  0x24D5: [676, 14, 684, 0, 684],
+  0x24D6: [676, 14, 684, 0, 684],
+  0x24D7: [676, 14, 684, 0, 684],
+  0x24D8: [676, 14, 684, 0, 684],
+  0x24D9: [676, 14, 684, 0, 684],
+  0x24DA: [676, 14, 684, 0, 684],
+  0x24DB: [676, 14, 684, 0, 684],
+  0x24DC: [676, 14, 684, 0, 684],
+  0x24DD: [676, 14, 684, 0, 684],
+  0x24DE: [676, 14, 684, 0, 684],
+  0x24DF: [676, 14, 684, 0, 684],
+  0x24E0: [676, 14, 684, 0, 684],
+  0x24E1: [676, 14, 684, 0, 684],
+  0x24E2: [676, 14, 684, 0, 684],
+  0x24E3: [676, 14, 684, 0, 684],
+  0x24E4: [676, 14, 684, 0, 684],
+  0x24E5: [676, 14, 684, 0, 684],
+  0x24E6: [676, 14, 684, 0, 684],
+  0x24E7: [676, 14, 684, 0, 684],
+  0x24E8: [676, 14, 684, 0, 684],
+  0x24E9: [676, 14, 684, 0, 684],
+  0x24EA: [676, 14, 684, 0, 684]
 };
 
 MathJax.Callback.Queue(

+ 67 - 67
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Monospace/Regular/Main.js

@@ -18,73 +18,73 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Monospace'] = {
-    directory: 'Monospace/Regular',
-    family: 'STIXMathJax_Monospace',
-    testString: '\u00A0\uD835\uDE70\uD835\uDE71\uD835\uDE72\uD835\uDE73\uD835\uDE74\uD835\uDE75\uD835\uDE76\uD835\uDE77\uD835\uDE78\uD835\uDE79\uD835\uDE7A\uD835\uDE7B\uD835\uDE7C\uD835\uDE7D',
-    0x20: [0, 0, 525, 0, 0],
-    0xA0: [0, 0, 525, 0, 0],
-    0x1D670: [673, 0, 525, 26, 496],
-    0x1D671: [662, 0, 525, 29, 480],
-    0x1D672: [672, 11, 525, 40, 482],
-    0x1D673: [662, 0, 525, 25, 483],
-    0x1D674: [662, 0, 525, 31, 500],
-    0x1D675: [662, 0, 525, 34, 488],
-    0x1D676: [672, 11, 525, 37, 495],
-    0x1D677: [662, 0, 525, 26, 496],
-    0x1D678: [662, 0, 525, 84, 438],
-    0x1D679: [662, 11, 525, 85, 476],
-    0x1D67A: [662, 0, 525, 30, 494],
-    0x1D67B: [662, 0, 525, 37, 487],
-    0x1D67C: [662, 0, 525, 21, 501],
-    0x1D67D: [662, 0, 525, 31, 491],
-    0x1D67E: [672, 11, 525, 56, 466],
-    0x1D67F: [662, 0, 525, 31, 479],
-    0x1D680: [672, 139, 525, 56, 466],
-    0x1D681: [662, 11, 525, 26, 520],
-    0x1D682: [672, 11, 525, 52, 470],
-    0x1D683: [662, 0, 525, 26, 496],
-    0x1D684: [662, 11, 525, 9, 514],
-    0x1D685: [662, 8, 525, 17, 506],
-    0x1D686: [662, 8, 525, 11, 512],
-    0x1D687: [662, 0, 525, 24, 497],
-    0x1D688: [662, 0, 525, 15, 507],
-    0x1D689: [662, 0, 525, 47, 479],
-    0x1D68A: [459, 6, 525, 58, 516],
-    0x1D68B: [609, 6, 525, 17, 481],
-    0x1D68C: [459, 6, 525, 78, 464],
-    0x1D68D: [609, 6, 525, 41, 505],
-    0x1D68E: [459, 6, 525, 60, 462],
-    0x1D68F: [615, 0, 525, 42, 437],
-    0x1D690: [461, 228, 525, 29, 508],
-    0x1D691: [609, 0, 525, 17, 505],
-    0x1D692: [610, 0, 525, 84, 448],
-    0x1D693: [610, 227, 525, 47, 362],
-    0x1D694: [609, 0, 525, 24, 505],
-    0x1D695: [609, 0, 525, 63, 459],
-    0x1D696: [456, 0, 525, 2, 520],
-    0x1D697: [456, 0, 525, 17, 505],
-    0x1D698: [459, 6, 525, 62, 460],
-    0x1D699: [456, 221, 525, 17, 481],
-    0x1D69A: [456, 221, 525, 45, 530],
-    0x1D69B: [456, 0, 525, 37, 485],
-    0x1D69C: [459, 6, 525, 72, 457],
-    0x1D69D: [580, 6, 525, 25, 448],
-    0x1D69E: [450, 6, 525, 17, 505],
-    0x1D69F: [450, 4, 525, 22, 500],
-    0x1D6A0: [450, 4, 525, 15, 508],
-    0x1D6A1: [450, 0, 525, 23, 498],
-    0x1D6A2: [450, 227, 525, 24, 501],
-    0x1D6A3: [450, 0, 525, 32, 473],
-    0x1D7F6: [681, 11, 525, 55, 467],
-    0x1D7F7: [681, 0, 525, 110, 435],
-    0x1D7F8: [681, 0, 525, 52, 470],
-    0x1D7F9: [681, 11, 525, 43, 479],
-    0x1D7FA: [682, 0, 525, 29, 493],
-    0x1D7FB: [670, 11, 525, 52, 470],
-    0x1D7FC: [681, 11, 525, 58, 464],
-    0x1D7FD: [686, 11, 525, 43, 479],
-    0x1D7FE: [681, 11, 525, 43, 479],
-    0x1D7FF: [681, 11, 525, 58, 464]
+  directory: 'Monospace/Regular',
+  family: 'STIXMathJax_Monospace',
+  testString: '\u00A0\uD835\uDE70\uD835\uDE71\uD835\uDE72\uD835\uDE73\uD835\uDE74\uD835\uDE75\uD835\uDE76\uD835\uDE77\uD835\uDE78\uD835\uDE79\uD835\uDE7A\uD835\uDE7B\uD835\uDE7C\uD835\uDE7D',
+  0x20: [0, 0, 525, 0, 0],
+  0xA0: [0, 0, 525, 0, 0],
+  0x1D670: [673, 0, 525, 26, 496],
+  0x1D671: [662, 0, 525, 29, 480],
+  0x1D672: [672, 11, 525, 40, 482],
+  0x1D673: [662, 0, 525, 25, 483],
+  0x1D674: [662, 0, 525, 31, 500],
+  0x1D675: [662, 0, 525, 34, 488],
+  0x1D676: [672, 11, 525, 37, 495],
+  0x1D677: [662, 0, 525, 26, 496],
+  0x1D678: [662, 0, 525, 84, 438],
+  0x1D679: [662, 11, 525, 85, 476],
+  0x1D67A: [662, 0, 525, 30, 494],
+  0x1D67B: [662, 0, 525, 37, 487],
+  0x1D67C: [662, 0, 525, 21, 501],
+  0x1D67D: [662, 0, 525, 31, 491],
+  0x1D67E: [672, 11, 525, 56, 466],
+  0x1D67F: [662, 0, 525, 31, 479],
+  0x1D680: [672, 139, 525, 56, 466],
+  0x1D681: [662, 11, 525, 26, 520],
+  0x1D682: [672, 11, 525, 52, 470],
+  0x1D683: [662, 0, 525, 26, 496],
+  0x1D684: [662, 11, 525, 9, 514],
+  0x1D685: [662, 8, 525, 17, 506],
+  0x1D686: [662, 8, 525, 11, 512],
+  0x1D687: [662, 0, 525, 24, 497],
+  0x1D688: [662, 0, 525, 15, 507],
+  0x1D689: [662, 0, 525, 47, 479],
+  0x1D68A: [459, 6, 525, 58, 516],
+  0x1D68B: [609, 6, 525, 17, 481],
+  0x1D68C: [459, 6, 525, 78, 464],
+  0x1D68D: [609, 6, 525, 41, 505],
+  0x1D68E: [459, 6, 525, 60, 462],
+  0x1D68F: [615, 0, 525, 42, 437],
+  0x1D690: [461, 228, 525, 29, 508],
+  0x1D691: [609, 0, 525, 17, 505],
+  0x1D692: [610, 0, 525, 84, 448],
+  0x1D693: [610, 227, 525, 47, 362],
+  0x1D694: [609, 0, 525, 24, 505],
+  0x1D695: [609, 0, 525, 63, 459],
+  0x1D696: [456, 0, 525, 2, 520],
+  0x1D697: [456, 0, 525, 17, 505],
+  0x1D698: [459, 6, 525, 62, 460],
+  0x1D699: [456, 221, 525, 17, 481],
+  0x1D69A: [456, 221, 525, 45, 530],
+  0x1D69B: [456, 0, 525, 37, 485],
+  0x1D69C: [459, 6, 525, 72, 457],
+  0x1D69D: [580, 6, 525, 25, 448],
+  0x1D69E: [450, 6, 525, 17, 505],
+  0x1D69F: [450, 4, 525, 22, 500],
+  0x1D6A0: [450, 4, 525, 15, 508],
+  0x1D6A1: [450, 0, 525, 23, 498],
+  0x1D6A2: [450, 227, 525, 24, 501],
+  0x1D6A3: [450, 0, 525, 32, 473],
+  0x1D7F6: [681, 11, 525, 55, 467],
+  0x1D7F7: [681, 0, 525, 110, 435],
+  0x1D7F8: [681, 0, 525, 52, 470],
+  0x1D7F9: [681, 11, 525, 43, 479],
+  0x1D7FA: [682, 0, 525, 29, 493],
+  0x1D7FB: [670, 11, 525, 52, 470],
+  0x1D7FC: [681, 11, 525, 58, 464],
+  0x1D7FD: [686, 11, 525, 43, 479],
+  0x1D7FE: [681, 11, 525, 43, 479],
+  0x1D7FF: [681, 11, 525, 58, 464]
 };
 
 MathJax.Callback.Queue(

+ 118 - 118
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Normal/Italic/Main.js

@@ -18,124 +18,124 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Normal-italic'] = {
-    directory: 'Normal/Italic',
-    family: 'STIXMathJax_Normal',
-    style: 'italic',
-    testString: '\u00A0\u210E\uD835\uDC34\uD835\uDC35\uD835\uDC36\uD835\uDC37\uD835\uDC38\uD835\uDC39\uD835\uDC3A\uD835\uDC3B\uD835\uDC3C\uD835\uDC3D\uD835\uDC3E\uD835\uDC3F\uD835\uDC40',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x210E: [668, 11, 513, 45, 483],
-    0x1D434: [667, 0, 717, 35, 685],
-    0x1D435: [653, 0, 696, 38, 686],
-    0x1D436: [659, 12, 671, 50, 711],
-    0x1D437: [653, 0, 790, 38, 765],
-    0x1D438: [653, 0, 714, 38, 734],
-    0x1D439: [653, 0, 618, 38, 723],
-    0x1D43A: [668, 12, 734, 50, 734],
-    0x1D43B: [653, 0, 873, 38, 923],
-    0x1D43C: [653, 0, 480, 38, 530],
-    0x1D43D: [653, 12, 540, 60, 620],
-    0x1D43E: [653, 0, 762, 38, 802],
-    0x1D43F: [653, 0, 708, 38, 668],
-    0x1D440: [653, 0, 1005, 38, 1055],
-    0x1D441: [653, 0, 851, 38, 901],
-    0x1D442: [669, 11, 732, 50, 712],
-    0x1D443: [653, 0, 594, 38, 704],
-    0x1D444: [667, 152, 781, 50, 731],
-    0x1D445: [653, 0, 740, 38, 725],
-    0x1D446: [668, 10, 650, 50, 680],
-    0x1D447: [653, 0, 550, 25, 670],
-    0x1D448: [653, 13, 705, 65, 775],
-    0x1D449: [653, 16, 575, 60, 760],
-    0x1D44A: [653, 16, 916, 60, 1101],
-    0x1D44B: [653, 0, 790, 25, 810],
-    0x1D44C: [653, 0, 535, 35, 695],
-    0x1D44D: [653, 0, 772, 60, 802],
-    0x1D44E: [441, 10, 502, 40, 472],
-    0x1D44F: [668, 11, 470, 45, 450],
-    0x1D450: [441, 11, 415, 40, 400],
-    0x1D451: [668, 12, 532, 40, 527],
-    0x1D452: [441, 11, 445, 40, 410],
-    0x1D453: [668, 187, 555, 40, 615],
-    0x1D454: [441, 187, 492, 20, 492],
-    0x1D456: [616, 11, 311, 50, 257],
-    0x1D457: [616, 187, 389, -16, 372],
-    0x1D458: [668, 11, 542, 45, 527],
-    0x1D459: [668, 10, 318, 45, 278],
-    0x1D45A: [441, 8, 710, 30, 680],
-    0x1D45B: [441, 8, 497, 30, 467],
-    0x1D45C: [441, 11, 458, 40, 438],
-    0x1D45D: [441, 183, 489, -30, 474],
-    0x1D45E: [441, 183, 458, 40, 463],
-    0x1D45F: [441, 0, 408, 30, 393],
-    0x1D460: [441, 11, 440, 50, 390],
-    0x1D461: [567, 9, 313, 40, 283],
-    0x1D462: [441, 9, 474, 30, 444],
-    0x1D463: [458, 9, 506, 72, 479],
-    0x1D464: [460, 9, 775, 72, 748],
-    0x1D465: [441, 9, 550, 30, 510],
-    0x1D466: [440, 183, 496, 30, 496],
-    0x1D467: [450, 14, 499, 42, 467],
-    0x1D6A4: [441, 11, 278, 47, 235],
-    0x1D6A5: [441, 207, 278, -124, 246],
-    0x1D6E2: [667, 0, 717, 35, 685],
-    0x1D6E3: [653, 0, 696, 38, 686],
-    0x1D6E4: [653, 0, 616, 38, 721],
-    0x1D6E5: [667, 0, 596, 30, 556],
-    0x1D6E6: [653, 0, 714, 38, 734],
-    0x1D6E7: [653, 0, 772, 60, 802],
-    0x1D6E8: [653, 0, 873, 38, 923],
-    0x1D6E9: [669, 11, 737, 50, 712],
-    0x1D6EA: [653, 0, 480, 38, 530],
-    0x1D6EB: [653, 0, 762, 38, 802],
-    0x1D6EC: [667, 0, 718, 35, 686],
-    0x1D6ED: [653, 0, 1005, 38, 1055],
-    0x1D6EE: [653, 0, 851, 38, 901],
-    0x1D6EF: [653, 0, 706, 52, 741],
-    0x1D6F0: [669, 11, 732, 50, 712],
-    0x1D6F1: [653, 0, 873, 38, 923],
-    0x1D6F2: [653, 0, 594, 38, 704],
-    0x1D6F3: [669, 11, 737, 50, 712],
-    0x1D6F4: [653, 0, 735, 58, 760],
-    0x1D6F5: [653, 0, 550, 25, 670],
-    0x1D6F6: [668, 0, 613, 28, 743],
-    0x1D6F7: [653, 0, 772, 25, 747],
-    0x1D6F8: [653, 0, 790, 25, 810],
-    0x1D6F9: [667, 0, 670, 28, 743],
-    0x1D6FA: [666, 0, 800, 32, 777],
-    0x1D6FB: [653, 15, 627, 42, 600],
-    0x1D6FC: [441, 10, 524, 40, 529],
-    0x1D6FD: [668, 183, 493, 25, 518],
-    0x1D6FE: [441, 187, 428, 35, 458],
-    0x1D6FF: [668, 11, 463, 40, 451],
-    0x1D700: [441, 11, 484, 25, 444],
-    0x1D701: [668, 183, 435, 40, 480],
-    0x1D702: [441, 183, 460, 30, 455],
-    0x1D703: [668, 11, 484, 40, 474],
-    0x1D704: [441, 11, 267, 50, 227],
-    0x1D705: [441, 0, 534, 50, 549],
-    0x1D706: [668, 16, 541, 50, 511],
-    0x1D707: [428, 183, 579, 30, 549],
-    0x1D708: [446, 9, 452, 50, 462],
-    0x1D709: [668, 183, 433, 25, 443],
-    0x1D70A: [441, 11, 458, 40, 438],
-    0x1D70B: [428, 13, 558, 35, 568],
-    0x1D70C: [441, 183, 502, 30, 472],
-    0x1D70D: [490, 183, 439, 35, 464],
-    0x1D70E: [428, 11, 537, 40, 547],
-    0x1D70F: [428, 5, 442, 30, 472],
-    0x1D710: [439, 11, 460, 30, 445],
-    0x1D711: [441, 183, 666, 50, 631],
-    0x1D712: [441, 202, 595, 30, 645],
-    0x1D713: [441, 183, 661, 30, 711],
-    0x1D714: [441, 11, 681, 20, 661],
-    0x1D715: [668, 11, 471, 40, 471],
-    0x1D716: [441, 11, 430, 40, 430],
-    0x1D717: [678, 10, 554, 20, 507],
-    0x1D718: [441, 13, 561, 12, 587],
-    0x1D719: [668, 183, 645, 40, 620],
-    0x1D71A: [441, 187, 509, 40, 489],
-    0x1D71B: [428, 11, 856, 30, 866]
+  directory: 'Normal/Italic',
+  family: 'STIXMathJax_Normal',
+  style: 'italic',
+  testString: '\u00A0\u210E\uD835\uDC34\uD835\uDC35\uD835\uDC36\uD835\uDC37\uD835\uDC38\uD835\uDC39\uD835\uDC3A\uD835\uDC3B\uD835\uDC3C\uD835\uDC3D\uD835\uDC3E\uD835\uDC3F\uD835\uDC40',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x210E: [668, 11, 513, 45, 483],
+  0x1D434: [667, 0, 717, 35, 685],
+  0x1D435: [653, 0, 696, 38, 686],
+  0x1D436: [659, 12, 671, 50, 711],
+  0x1D437: [653, 0, 790, 38, 765],
+  0x1D438: [653, 0, 714, 38, 734],
+  0x1D439: [653, 0, 618, 38, 723],
+  0x1D43A: [668, 12, 734, 50, 734],
+  0x1D43B: [653, 0, 873, 38, 923],
+  0x1D43C: [653, 0, 480, 38, 530],
+  0x1D43D: [653, 12, 540, 60, 620],
+  0x1D43E: [653, 0, 762, 38, 802],
+  0x1D43F: [653, 0, 708, 38, 668],
+  0x1D440: [653, 0, 1005, 38, 1055],
+  0x1D441: [653, 0, 851, 38, 901],
+  0x1D442: [669, 11, 732, 50, 712],
+  0x1D443: [653, 0, 594, 38, 704],
+  0x1D444: [667, 152, 781, 50, 731],
+  0x1D445: [653, 0, 740, 38, 725],
+  0x1D446: [668, 10, 650, 50, 680],
+  0x1D447: [653, 0, 550, 25, 670],
+  0x1D448: [653, 13, 705, 65, 775],
+  0x1D449: [653, 16, 575, 60, 760],
+  0x1D44A: [653, 16, 916, 60, 1101],
+  0x1D44B: [653, 0, 790, 25, 810],
+  0x1D44C: [653, 0, 535, 35, 695],
+  0x1D44D: [653, 0, 772, 60, 802],
+  0x1D44E: [441, 10, 502, 40, 472],
+  0x1D44F: [668, 11, 470, 45, 450],
+  0x1D450: [441, 11, 415, 40, 400],
+  0x1D451: [668, 12, 532, 40, 527],
+  0x1D452: [441, 11, 445, 40, 410],
+  0x1D453: [668, 187, 555, 40, 615],
+  0x1D454: [441, 187, 492, 20, 492],
+  0x1D456: [616, 11, 311, 50, 257],
+  0x1D457: [616, 187, 389, -16, 372],
+  0x1D458: [668, 11, 542, 45, 527],
+  0x1D459: [668, 10, 318, 45, 278],
+  0x1D45A: [441, 8, 710, 30, 680],
+  0x1D45B: [441, 8, 497, 30, 467],
+  0x1D45C: [441, 11, 458, 40, 438],
+  0x1D45D: [441, 183, 489, -30, 474],
+  0x1D45E: [441, 183, 458, 40, 463],
+  0x1D45F: [441, 0, 408, 30, 393],
+  0x1D460: [441, 11, 440, 50, 390],
+  0x1D461: [567, 9, 313, 40, 283],
+  0x1D462: [441, 9, 474, 30, 444],
+  0x1D463: [458, 9, 506, 72, 479],
+  0x1D464: [460, 9, 775, 72, 748],
+  0x1D465: [441, 9, 550, 30, 510],
+  0x1D466: [440, 183, 496, 30, 496],
+  0x1D467: [450, 14, 499, 42, 467],
+  0x1D6A4: [441, 11, 278, 47, 235],
+  0x1D6A5: [441, 207, 278, -124, 246],
+  0x1D6E2: [667, 0, 717, 35, 685],
+  0x1D6E3: [653, 0, 696, 38, 686],
+  0x1D6E4: [653, 0, 616, 38, 721],
+  0x1D6E5: [667, 0, 596, 30, 556],
+  0x1D6E6: [653, 0, 714, 38, 734],
+  0x1D6E7: [653, 0, 772, 60, 802],
+  0x1D6E8: [653, 0, 873, 38, 923],
+  0x1D6E9: [669, 11, 737, 50, 712],
+  0x1D6EA: [653, 0, 480, 38, 530],
+  0x1D6EB: [653, 0, 762, 38, 802],
+  0x1D6EC: [667, 0, 718, 35, 686],
+  0x1D6ED: [653, 0, 1005, 38, 1055],
+  0x1D6EE: [653, 0, 851, 38, 901],
+  0x1D6EF: [653, 0, 706, 52, 741],
+  0x1D6F0: [669, 11, 732, 50, 712],
+  0x1D6F1: [653, 0, 873, 38, 923],
+  0x1D6F2: [653, 0, 594, 38, 704],
+  0x1D6F3: [669, 11, 737, 50, 712],
+  0x1D6F4: [653, 0, 735, 58, 760],
+  0x1D6F5: [653, 0, 550, 25, 670],
+  0x1D6F6: [668, 0, 613, 28, 743],
+  0x1D6F7: [653, 0, 772, 25, 747],
+  0x1D6F8: [653, 0, 790, 25, 810],
+  0x1D6F9: [667, 0, 670, 28, 743],
+  0x1D6FA: [666, 0, 800, 32, 777],
+  0x1D6FB: [653, 15, 627, 42, 600],
+  0x1D6FC: [441, 10, 524, 40, 529],
+  0x1D6FD: [668, 183, 493, 25, 518],
+  0x1D6FE: [441, 187, 428, 35, 458],
+  0x1D6FF: [668, 11, 463, 40, 451],
+  0x1D700: [441, 11, 484, 25, 444],
+  0x1D701: [668, 183, 435, 40, 480],
+  0x1D702: [441, 183, 460, 30, 455],
+  0x1D703: [668, 11, 484, 40, 474],
+  0x1D704: [441, 11, 267, 50, 227],
+  0x1D705: [441, 0, 534, 50, 549],
+  0x1D706: [668, 16, 541, 50, 511],
+  0x1D707: [428, 183, 579, 30, 549],
+  0x1D708: [446, 9, 452, 50, 462],
+  0x1D709: [668, 183, 433, 25, 443],
+  0x1D70A: [441, 11, 458, 40, 438],
+  0x1D70B: [428, 13, 558, 35, 568],
+  0x1D70C: [441, 183, 502, 30, 472],
+  0x1D70D: [490, 183, 439, 35, 464],
+  0x1D70E: [428, 11, 537, 40, 547],
+  0x1D70F: [428, 5, 442, 30, 472],
+  0x1D710: [439, 11, 460, 30, 445],
+  0x1D711: [441, 183, 666, 50, 631],
+  0x1D712: [441, 202, 595, 30, 645],
+  0x1D713: [441, 183, 661, 30, 711],
+  0x1D714: [441, 11, 681, 20, 661],
+  0x1D715: [668, 11, 471, 40, 471],
+  0x1D716: [441, 11, 430, 40, 430],
+  0x1D717: [678, 10, 554, 20, 507],
+  0x1D718: [441, 13, 561, 12, 587],
+  0x1D719: [668, 183, 645, 40, 620],
+  0x1D71A: [441, 187, 509, 40, 489],
+  0x1D71B: [428, 11, 856, 30, 866]
 };
 
 MathJax.Callback.Queue(

+ 413 - 413
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Operators/Regular/Main.js

@@ -18,419 +18,419 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Operators'] = {
-    directory: 'Operators/Regular',
-    family: 'STIXMathJax_Operators',
-    testString: '\u00A0\u2206\u220A\u220C\u220E\u220F\u2210\u2211\u221B\u221C\u221F\u222C\u222D\u222E\u222F',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2206: [674, 0, 731, 63, 665],
-    0x220A: [459, -45, 486, 64, 422],
-    0x220C: [662, 157, 685, 60, 625],
-    0x220E: [640, 0, 545, 60, 485],
-    0x220F: [763, 259, 1000, 52, 948],
-    0x2210: [763, 259, 1000, 52, 948],
-    0x2211: [763, 259, 914, 58, 856],
-    0x221B: [973, 259, 928, 112, 963],
-    0x221C: [973, 259, 928, 112, 963],
-    0x221F: [584, 0, 685, 50, 634],
-    0x222C: [824, 320, 701, 32, 881],
-    0x222D: [824, 320, 943, 32, 1123],
-    0x222E: [824, 320, 499, 32, 639],
-    0x222F: [824, 320, 741, 32, 881],
-    0x2230: [824, 320, 982, 32, 1122],
-    0x2231: [824, 320, 499, 32, 639],
-    0x2232: [824, 320, 499, 32, 639],
-    0x2233: [824, 320, 499, 32, 639],
-    0x2236: [521, 13, 511, 192, 319],
-    0x2237: [521, 13, 685, 82, 602],
-    0x2238: [511, -220, 685, 48, 637],
-    0x2239: [511, 5, 685, 48, 637],
-    0x223A: [511, 5, 685, 48, 637],
-    0x223B: [521, 13, 685, 48, 637],
-    0x223E: [413, -90, 685, 48, 637],
-    0x223F: [467, -39, 685, 49, 637],
-    0x2244: [519, 35, 685, 48, 637],
-    0x2247: [647, 202, 685, 48, 637],
-    0x2249: [549, 49, 685, 48, 637],
-    0x224B: [532, 26, 685, 48, 638],
-    0x224C: [532, 27, 685, 48, 637],
-    0x2254: [417, -89, 824, 48, 776],
-    0x2255: [417, -89, 824, 48, 776],
-    0x2258: [729, -120, 685, 48, 637],
-    0x2259: [853, -120, 685, 48, 637],
-    0x225A: [853, -120, 685, 48, 637],
-    0x225B: [756, -120, 685, 48, 637],
-    0x225D: [823, -120, 685, 7, 678],
-    0x225E: [703, -120, 685, 48, 637],
-    0x225F: [863, -120, 685, 48, 637],
-    0x2262: [662, 156, 685, 48, 637],
-    0x2263: [544, 38, 685, 48, 637],
-    0x226D: [572, 66, 685, 48, 637],
-    0x2274: [731, 228, 685, 48, 637],
-    0x2275: [730, 229, 685, 48, 637],
-    0x2278: [750, 250, 685, 48, 637],
-    0x2279: [750, 250, 685, 48, 637],
-    0x2284: [662, 156, 685, 65, 623],
-    0x2285: [662, 156, 685, 65, 623],
-    0x228C: [536, 31, 620, 48, 572],
-    0x228D: [536, 31, 620, 48, 572],
-    0x229C: [623, 119, 842, 50, 792],
-    0x22A6: [662, 0, 497, 64, 433],
-    0x22A7: [662, 0, 498, 64, 434],
-    0x22AB: [662, 0, 860, 57, 814],
-    0x22B0: [551, 45, 685, 64, 621],
-    0x22B1: [551, 45, 685, 64, 621],
-    0x22B6: [403, -103, 1145, 50, 1095],
-    0x22B7: [403, -103, 1145, 50, 1095],
-    0x22B9: [547, 41, 685, 48, 636],
-    0x22BD: [646, 29, 620, 32, 590],
-    0x22BE: [584, 0, 685, 50, 634],
-    0x22BF: [662, 158, 911, 45, 865],
-    0x22C0: [763, 259, 924, 54, 870],
-    0x22C1: [763, 259, 924, 54, 870],
-    0x22C2: [778, 254, 924, 94, 830],
-    0x22C3: [768, 264, 924, 94, 830],
-    0x22C7: [545, 38, 685, 51, 634],
-    0x22D5: [690, 189, 685, 48, 637],
-    0x22DC: [607, 103, 685, 64, 621],
-    0x22DD: [607, 103, 685, 64, 621],
-    0x22E2: [730, 229, 685, 65, 622],
-    0x22E3: [730, 229, 685, 65, 622],
-    0x22E4: [627, 216, 685, 64, 621],
-    0x22E5: [627, 216, 685, 64, 621],
-    0x22F0: [520, 18, 926, 194, 732],
-    0x22F2: [531, 27, 823, 55, 763],
-    0x22F3: [531, 27, 685, 60, 625],
-    0x22F4: [459, -45, 486, 62, 420],
-    0x22F5: [716, 27, 685, 60, 625],
-    0x22F6: [685, 27, 685, 60, 625],
-    0x22F7: [613, -45, 486, 62, 420],
-    0x22F8: [532, 180, 685, 60, 625],
-    0x22F9: [531, 27, 685, 61, 625],
-    0x22FA: [531, 27, 823, 55, 763],
-    0x22FB: [531, 27, 685, 59, 624],
-    0x22FC: [459, -45, 486, 62, 420],
-    0x22FD: [685, 27, 685, 61, 626],
-    0x22FE: [613, -45, 486, 67, 425],
-    0x22FF: [662, 158, 910, 45, 865],
-    0x2A00: [763, 259, 1126, 53, 1073],
-    0x2A01: [763, 259, 1126, 53, 1073],
-    0x2A02: [763, 259, 1126, 53, 1073],
-    0x2A03: [768, 264, 924, 94, 830],
-    0x2A04: [768, 264, 924, 94, 830],
-    0x2A05: [763, 259, 924, 94, 830],
-    0x2A06: [763, 259, 924, 94, 830],
-    0x2A07: [763, 259, 1180, 83, 1097],
-    0x2A08: [763, 259, 1180, 83, 1097],
-    0x2A09: [763, 259, 1021, 50, 971],
-    0x2A0A: [763, 259, 914, 58, 856],
-    0x2A0B: [824, 320, 690, 33, 659],
-    0x2A0C: [824, 320, 1184, 32, 1364],
-    0x2A0D: [824, 320, 499, 32, 639],
-    0x2A0E: [824, 320, 499, 32, 639],
-    0x2A0F: [824, 320, 499, 32, 639],
-    0x2A10: [824, 320, 499, 32, 639],
-    0x2A11: [824, 320, 499, 32, 639],
-    0x2A12: [824, 320, 519, 32, 639],
-    0x2A13: [824, 320, 499, 32, 639],
-    0x2A14: [824, 320, 628, 32, 688],
-    0x2A15: [824, 320, 499, 32, 639],
-    0x2A16: [824, 320, 529, 32, 639],
-    0x2A17: [824, 320, 738, 32, 818],
-    0x2A18: [824, 320, 539, 32, 639],
-    0x2A19: [824, 320, 559, 32, 639],
-    0x2A1A: [824, 320, 559, 32, 639],
-    0x2A1B: [947, 320, 459, 32, 639],
-    0x2A1C: [824, 443, 459, 32, 639],
-    0x2A1D: [770, 252, 1270, 93, 1177],
-    0x2A1E: [764, 258, 1018, 45, 924],
-    0x2A1F: [566, 291, 503, 110, 410],
-    0x2A20: [633, 127, 1177, 98, 1079],
-    0x2A21: [805, 300, 547, 215, 472],
-    0x2A22: [819, 41, 685, 48, 636],
-    0x2A23: [707, 41, 685, 48, 636],
-    0x2A24: [704, 41, 685, 48, 636],
-    0x2A25: [547, 235, 685, 48, 636],
-    0x2A26: [547, 198, 685, 48, 636],
-    0x2A27: [547, 210, 685, 41, 673],
-    0x2A28: [547, 41, 685, 48, 636],
-    0x2A29: [556, -220, 685, 48, 637],
-    0x2A2A: [286, 5, 685, 48, 637],
-    0x2A2B: [511, 5, 685, 48, 637],
-    0x2A2C: [511, 5, 685, 48, 637],
-    0x2A2D: [623, 119, 724, 50, 674],
-    0x2A2E: [623, 119, 724, 50, 674],
-    0x2A2F: [447, -59, 490, 50, 439],
-    0x2A30: [686, 25, 640, 43, 597],
-    0x2A31: [529, 130, 640, 43, 597],
-    0x2A32: [529, 45, 640, 43, 597],
-    0x2A33: [538, 32, 685, 57, 627],
-    0x2A34: [623, 119, 674, 50, 624],
-    0x2A35: [623, 119, 674, 50, 624],
-    0x2A36: [810, 119, 842, 50, 792],
-    0x2A37: [752, 248, 1100, 50, 1050],
-    0x2A38: [623, 119, 842, 50, 792],
-    0x2A39: [811, 127, 1145, 35, 1110],
-    0x2A3A: [811, 127, 1145, 35, 1110],
-    0x2A3B: [811, 127, 1145, 35, 1110],
-    0x2A3C: [393, -115, 600, 48, 552],
-    0x2A3D: [393, -115, 600, 48, 552],
-    0x2A3E: [488, 170, 300, 60, 230],
-    0x2A40: [536, 31, 620, 48, 572],
-    0x2A41: [536, 31, 620, 48, 572],
-    0x2A42: [668, 31, 620, 48, 572],
-    0x2A43: [668, 31, 620, 48, 572],
-    0x2A44: [536, 31, 620, 48, 572],
-    0x2A45: [536, 31, 620, 48, 572],
-    0x2A46: [914, 406, 620, 48, 572],
-    0x2A47: [914, 406, 620, 48, 572],
-    0x2A48: [914, 406, 620, 48, 572],
-    0x2A49: [914, 406, 620, 48, 572],
-    0x2A4A: [528, 39, 1078, 48, 1030],
-    0x2A4B: [527, 40, 1078, 48, 1030],
-    0x2A4C: [602, 31, 620, 10, 610],
-    0x2A4D: [536, 97, 620, 10, 610],
-    0x2A4E: [536, 31, 620, 48, 572],
-    0x2A4F: [536, 31, 620, 48, 572],
-    0x2A50: [602, 31, 620, 10, 610],
-    0x2A51: [710, 29, 620, 31, 589],
-    0x2A52: [710, 29, 620, 31, 589],
-    0x2A53: [536, 29, 620, 31, 589],
-    0x2A54: [536, 29, 620, 31, 589],
-    0x2A55: [536, 29, 780, 32, 748],
-    0x2A56: [536, 29, 780, 32, 748],
-    0x2A57: [536, 29, 706, 106, 683],
-    0x2A58: [536, 29, 706, 23, 600],
-    0x2A59: [585, 77, 620, 31, 589],
-    0x2A5A: [536, 29, 620, 31, 589],
-    0x2A5B: [536, 29, 620, 31, 589],
-    0x2A5C: [536, 29, 620, 31, 589],
-    0x2A5D: [536, 29, 620, 31, 589],
-    0x2A5F: [536, 139, 620, 30, 590],
-    0x2A60: [536, 289, 620, 30, 590],
-    0x2A61: [479, 0, 620, 45, 575],
-    0x2A62: [806, 29, 620, 30, 590],
-    0x2A63: [536, 289, 620, 30, 590],
-    0x2A64: [791, 284, 1043, 70, 1008],
-    0x2A65: [791, 284, 1043, 70, 1008],
-    0x2A66: [386, 105, 685, 48, 637],
-    0x2A67: [703, -28, 685, 48, 637],
-    0x2A68: [695, 189, 685, 48, 637],
-    0x2A69: [662, 156, 685, 48, 637],
-    0x2A6A: [521, -148, 685, 48, 637],
-    0x2A6B: [521, 13, 685, 48, 637],
-    0x2A6C: [543, 38, 685, 48, 637],
-    0x2A6D: [703, 27, 685, 48, 637],
-    0x2A6E: [847, -120, 685, 48, 637],
-    0x2A6F: [707, -25, 685, 48, 637],
-    0x2A70: [650, 146, 685, 48, 637],
-    0x2A71: [648, 141, 685, 48, 637],
-    0x2A72: [648, 141, 685, 48, 637],
-    0x2A73: [532, 27, 685, 48, 637],
-    0x2A74: [417, -89, 1015, 48, 967],
-    0x2A75: [386, -120, 997, 48, 949],
-    0x2A76: [386, -120, 1436, 48, 1388],
-    0x2A77: [611, 106, 685, 48, 637],
-    0x2A78: [703, -28, 685, 38, 647],
-    0x2A79: [532, 26, 685, 44, 609],
-    0x2A7A: [532, 26, 685, 76, 641],
-    0x2A7B: [806, 26, 685, 44, 609],
-    0x2A7C: [806, 26, 685, 76, 641],
-    0x2A7F: [625, 137, 685, 60, 625],
-    0x2A80: [625, 137, 685, 60, 625],
-    0x2A81: [625, 137, 685, 60, 625],
-    0x2A82: [625, 137, 685, 60, 625],
-    0x2A83: [777, 137, 685, 60, 625],
-    0x2A84: [777, 137, 685, 60, 625],
-    0x2A8D: [746, 176, 685, 48, 637],
-    0x2A8E: [746, 176, 685, 48, 637],
-    0x2A8F: [867, 361, 685, 60, 649],
-    0x2A90: [867, 361, 685, 60, 649],
-    0x2A91: [844, 338, 685, 55, 630],
-    0x2A92: [844, 338, 685, 55, 630],
-    0x2A93: [866, 361, 685, 60, 625],
-    0x2A94: [866, 361, 685, 60, 625],
-    0x2A97: [640, 122, 685, 56, 621],
-    0x2A98: [640, 122, 685, 56, 621],
-    0x2A99: [718, 211, 685, 60, 625],
-    0x2A9A: [718, 211, 685, 60, 625],
-    0x2A9B: [726, 220, 685, 60, 625],
-    0x2A9C: [726, 220, 685, 60, 625],
-    0x2A9D: [664, 164, 685, 53, 642],
-    0x2A9E: [664, 164, 685, 43, 632],
-    0x2A9F: [774, 267, 685, 48, 637],
-    0x2AA0: [774, 267, 685, 48, 637],
-    0x2AA1: [532, 26, 685, 44, 609],
-    0x2AA2: [532, 26, 685, 76, 641],
-    0x2AA3: [609, 103, 933, 25, 908],
-    0x2AA4: [532, 26, 782, 60, 722],
-    0x2AA5: [532, 26, 855, 60, 795],
-    0x2AA6: [532, 26, 685, 35, 625],
-    0x2AA7: [532, 26, 685, 60, 650],
-    0x2AA8: [625, 137, 685, 50, 640],
-    0x2AA9: [626, 137, 685, 45, 635],
-    0x2AAA: [537, 31, 685, 45, 609],
-    0x2AAB: [537, 31, 685, 76, 640],
-    0x2AAC: [613, 103, 685, 60, 625],
-    0x2AAD: [613, 103, 685, 60, 625],
-    0x2AAE: [563, -28, 685, 48, 637],
-    0x2AB1: [628, 216, 685, 60, 625],
-    0x2AB2: [628, 216, 685, 60, 625],
-    0x2AB3: [717, 211, 685, 60, 625],
-    0x2AB4: [717, 211, 685, 60, 625],
-    0x2ABB: [532, 26, 933, 25, 908],
-    0x2ABC: [532, 26, 933, 25, 908],
-    0x2ABD: [532, 26, 685, 60, 625],
-    0x2ABE: [532, 26, 685, 60, 625],
-    0x2ABF: [607, 103, 685, 60, 625],
-    0x2AC0: [607, 103, 685, 60, 625],
-    0x2AC1: [607, 103, 685, 60, 625],
-    0x2AC2: [607, 103, 685, 60, 625],
-    0x2AC3: [709, 103, 685, 60, 625],
-    0x2AC4: [709, 103, 685, 60, 625],
-    0x2AC7: [665, 164, 685, 60, 625],
-    0x2AC8: [665, 164, 685, 60, 625],
-    0x2AC9: [746, 274, 685, 60, 625],
-    0x2ACA: [746, 274, 685, 60, 625],
-    0x2ACD: [558, 53, 1352, 64, 1288],
-    0x2ACE: [558, 53, 1352, 64, 1288],
-    0x2ACF: [532, 26, 685, 50, 615],
-    0x2AD0: [532, 26, 685, 70, 635],
-    0x2AD1: [609, 103, 685, 60, 626],
-    0x2AD2: [609, 103, 685, 60, 625],
-    0x2AD3: [715, 209, 685, 60, 625],
-    0x2AD4: [715, 209, 685, 60, 625],
-    0x2AD5: [715, 209, 685, 60, 625],
-    0x2AD6: [715, 209, 685, 60, 625],
-    0x2AD7: [532, 26, 1250, 60, 1190],
-    0x2AD8: [532, 26, 1250, 60, 1190],
-    0x2AD9: [536, 31, 620, 48, 572],
-    0x2ADA: [697, 128, 620, 48, 572],
-    0x2ADB: [695, 97, 620, 48, 572],
-    0x2ADC: [557, 10, 620, 11, 572],
-    0x2ADD: [557, 10, 620, 48, 572],
-    0x2ADE: [662, 0, 497, 64, 433],
-    0x2ADF: [371, 0, 685, 48, 637],
-    0x2AE0: [371, 0, 685, 48, 637],
-    0x2AE1: [662, 0, 685, 48, 637],
-    0x2AE2: [662, 0, 685, 60, 625],
-    0x2AE3: [662, 0, 860, 46, 803],
-    0x2AE4: [662, 0, 685, 60, 625],
-    0x2AE5: [662, 0, 860, 46, 803],
-    0x2AE6: [662, 0, 685, 57, 626],
-    0x2AE7: [571, 0, 685, 48, 637],
-    0x2AE8: [571, 0, 685, 48, 637],
-    0x2AE9: [691, 185, 685, 48, 637],
-    0x2AEA: [662, 0, 685, 48, 637],
-    0x2AEB: [662, 0, 685, 48, 637],
-    0x2AEC: [489, -18, 600, 48, 552],
-    0x2AED: [489, -18, 600, 48, 552],
-    0x2AEE: [690, 189, 404, 23, 381],
-    0x2AEF: [660, 154, 502, 101, 401],
-    0x2AF0: [660, 154, 502, 101, 401],
-    0x2AF1: [693, 187, 502, 101, 401],
-    0x2AF2: [695, 189, 523, 10, 513],
-    0x2AF3: [695, 189, 685, 48, 637],
-    0x2AF4: [695, 189, 685, 131, 555],
-    0x2AF5: [695, 189, 685, 12, 674],
-    0x2AF6: [608, 102, 685, 279, 406],
-    0x2AF7: [661, 155, 1170, 58, 1080],
-    0x2AF8: [661, 155, 1170, 90, 1112],
-    0x2AF9: [726, 220, 685, 60, 625],
-    0x2AFA: [726, 220, 685, 60, 625],
-    0x2AFB: [710, 222, 894, 46, 848],
-    0x2AFC: [763, 259, 654, 94, 560],
-    0x2AFD: [710, 222, 709, 46, 663],
-    0x2AFE: [690, 189, 410, 100, 310],
-    0x2AFF: [763, 259, 478, 94, 384],
-    0xE004: [450, -59, 926, 55, 871],
-    0xE005: [530, -57, 926, 55, 871],
-    0xE00A: [538, -55, 685, 48, 637],
-    0xE00B: [543, 37, 685, 48, 637],
-    0xE00E: [846, 340, 685, 60, 626],
-    0xE00F: [730, 229, 685, 56, 621],
-    0xE010: [730, 229, 685, 56, 621],
-    0xE011: [846, 340, 685, 61, 626],
-    0xE016: [818, 311, 685, 53, 618],
-    0xE018: [818, 311, 685, 67, 632],
-    0xE01E: [607, 110, 685, 48, 638],
-    0xE023: [695, 189, 685, 48, 637],
-    0xE025: [724, 236, 685, 48, 637],
-    0xE026: [662, 156, 685, 47, 612],
-    0xE027: [662, 156, 685, 73, 638],
-    0xE028: [663, 155, 933, 25, 908],
-    0xE029: [662, 156, 933, 25, 908],
-    0xE02A: [662, 156, 1240, 43, 1184],
-    0xE02B: [662, 156, 1240, 56, 1197],
-    0xE035: [602, 98, 486, 64, 422],
-    0xE037: [662, 156, 685, 48, 637],
-    0xE038: [690, 189, 732, 50, 682],
-    0xE039: [662, 156, 685, 47, 636],
-    0xE03A: [811, 156, 471, 40, 525],
-    0xE03B: [736, 156, 685, 60, 625],
-    0xE03C: [662, 156, 685, 60, 625],
-    0xE03D: [602, 98, 486, 64, 422],
-    0xE040: [415, -92, 685, 48, 637],
-    0xE043: [818, 311, 685, 60, 625],
-    0xE044: [818, 311, 685, 60, 625],
-    0xE045: [818, 311, 685, 60, 625],
-    0xE046: [818, 311, 685, 60, 625],
-    0xE04B: [745, 242, 685, 60, 625],
-    0xE04C: [845, 341, 685, 60, 625],
-    0xE04D: [534, 19, 685, 48, 637],
-    0xE04E: [845, 341, 685, 60, 625],
-    0xE04F: [745, 242, 685, 60, 625],
-    0xE050: [662, 156, 685, 65, 620],
-    0xE051: [662, 156, 685, 65, 620],
-    0xE052: [561, 55, 685, 48, 637],
-    0xE059: [730, 224, 685, 48, 637],
-    0xE05A: [730, 224, 685, 48, 637],
-    0xE05B: [561, -30, 685, 48, 637],
-    0xE05C: [534, 19, 685, 48, 637],
-    0xE06B: [602, 98, 486, 64, 422],
-    0xE06C: [602, 98, 486, 64, 422],
-    0xE06D: [785, 157, 685, 60, 625],
-    0xE06E: [785, 157, 685, 60, 625],
-    0xE06F: [785, 129, 685, 60, 625],
-    0xE070: [785, 129, 685, 60, 625],
-    0xE075: [626, 119, 685, 48, 637],
-    0xE076: [626, 119, 685, 48, 637],
-    0xE077: [725, 236, 685, 48, 637],
-    0xE07C: [758, 252, 685, 48, 637],
-    0xE07D: [758, 252, 685, 48, 637],
-    0xE07E: [732, 227, 685, 56, 621],
-    0xE07F: [732, 227, 685, 56, 621],
-    0xE080: [818, 311, 685, 57, 622],
-    0xE081: [818, 311, 685, 57, 622],
-    0xE082: [730, 229, 685, 56, 621],
-    0xE083: [730, 229, 685, 56, 621],
-    0xE084: [709, 201, 685, 56, 621],
-    0xE085: [709, 201, 685, 56, 621],
-    0xE086: [818, 311, 685, 56, 621],
-    0xE087: [818, 311, 685, 55, 621],
-    0xE088: [818, 311, 685, 56, 621],
-    0xE089: [818, 311, 685, 55, 620],
-    0xE092: [719, 296, 685, 62, 627],
-    0xE093: [719, 296, 685, 61, 626],
-    0xE094: [719, 240, 685, 62, 627],
-    0xE095: [719, 240, 685, 61, 626],
-    0xE096: [818, 311, 685, 55, 620],
-    0xE097: [818, 311, 685, 65, 630],
-    0xE098: [690, 189, 685, 23, 662],
-    0xE0BB: [622, 101, 685, 48, 637],
-    0xE0EC: [862, -120, 685, 48, 637],
-    0xE109: [781, 279, 327, 10, 286],
-    0xE10A: [781, 279, 250, 41, 178],
-    0xE14C: [660, 158, 857, 48, 777],
-    0xE14D: [660, 158, 857, 80, 809],
-    0xE14E: [661, 157, 685, 44, 609],
-    0xE14F: [661, 157, 685, 76, 641],
-    0xE28E: [622, 101, 685, 48, 637],
-    0xE292: [662, 0, 1388, 38, 1350],
-    0xE293: [763, 260, 1797, 58, 1739],
-    0xE3C2: [662, 156, 685, 48, 637],
-    0xE3C3: [627, 135, 685, 48, 637],
-    0xE3C4: [627, 135, 685, 48, 637]
+  directory: 'Operators/Regular',
+  family: 'STIXMathJax_Operators',
+  testString: '\u00A0\u2206\u220A\u220C\u220E\u220F\u2210\u2211\u221B\u221C\u221F\u222C\u222D\u222E\u222F',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2206: [674, 0, 731, 63, 665],
+  0x220A: [459, -45, 486, 64, 422],
+  0x220C: [662, 157, 685, 60, 625],
+  0x220E: [640, 0, 545, 60, 485],
+  0x220F: [763, 259, 1000, 52, 948],
+  0x2210: [763, 259, 1000, 52, 948],
+  0x2211: [763, 259, 914, 58, 856],
+  0x221B: [973, 259, 928, 112, 963],
+  0x221C: [973, 259, 928, 112, 963],
+  0x221F: [584, 0, 685, 50, 634],
+  0x222C: [824, 320, 701, 32, 881],
+  0x222D: [824, 320, 943, 32, 1123],
+  0x222E: [824, 320, 499, 32, 639],
+  0x222F: [824, 320, 741, 32, 881],
+  0x2230: [824, 320, 982, 32, 1122],
+  0x2231: [824, 320, 499, 32, 639],
+  0x2232: [824, 320, 499, 32, 639],
+  0x2233: [824, 320, 499, 32, 639],
+  0x2236: [521, 13, 511, 192, 319],
+  0x2237: [521, 13, 685, 82, 602],
+  0x2238: [511, -220, 685, 48, 637],
+  0x2239: [511, 5, 685, 48, 637],
+  0x223A: [511, 5, 685, 48, 637],
+  0x223B: [521, 13, 685, 48, 637],
+  0x223E: [413, -90, 685, 48, 637],
+  0x223F: [467, -39, 685, 49, 637],
+  0x2244: [519, 35, 685, 48, 637],
+  0x2247: [647, 202, 685, 48, 637],
+  0x2249: [549, 49, 685, 48, 637],
+  0x224B: [532, 26, 685, 48, 638],
+  0x224C: [532, 27, 685, 48, 637],
+  0x2254: [417, -89, 824, 48, 776],
+  0x2255: [417, -89, 824, 48, 776],
+  0x2258: [729, -120, 685, 48, 637],
+  0x2259: [853, -120, 685, 48, 637],
+  0x225A: [853, -120, 685, 48, 637],
+  0x225B: [756, -120, 685, 48, 637],
+  0x225D: [823, -120, 685, 7, 678],
+  0x225E: [703, -120, 685, 48, 637],
+  0x225F: [863, -120, 685, 48, 637],
+  0x2262: [662, 156, 685, 48, 637],
+  0x2263: [544, 38, 685, 48, 637],
+  0x226D: [572, 66, 685, 48, 637],
+  0x2274: [731, 228, 685, 48, 637],
+  0x2275: [730, 229, 685, 48, 637],
+  0x2278: [750, 250, 685, 48, 637],
+  0x2279: [750, 250, 685, 48, 637],
+  0x2284: [662, 156, 685, 65, 623],
+  0x2285: [662, 156, 685, 65, 623],
+  0x228C: [536, 31, 620, 48, 572],
+  0x228D: [536, 31, 620, 48, 572],
+  0x229C: [623, 119, 842, 50, 792],
+  0x22A6: [662, 0, 497, 64, 433],
+  0x22A7: [662, 0, 498, 64, 434],
+  0x22AB: [662, 0, 860, 57, 814],
+  0x22B0: [551, 45, 685, 64, 621],
+  0x22B1: [551, 45, 685, 64, 621],
+  0x22B6: [403, -103, 1145, 50, 1095],
+  0x22B7: [403, -103, 1145, 50, 1095],
+  0x22B9: [547, 41, 685, 48, 636],
+  0x22BD: [646, 29, 620, 32, 590],
+  0x22BE: [584, 0, 685, 50, 634],
+  0x22BF: [662, 158, 911, 45, 865],
+  0x22C0: [763, 259, 924, 54, 870],
+  0x22C1: [763, 259, 924, 54, 870],
+  0x22C2: [778, 254, 924, 94, 830],
+  0x22C3: [768, 264, 924, 94, 830],
+  0x22C7: [545, 38, 685, 51, 634],
+  0x22D5: [690, 189, 685, 48, 637],
+  0x22DC: [607, 103, 685, 64, 621],
+  0x22DD: [607, 103, 685, 64, 621],
+  0x22E2: [730, 229, 685, 65, 622],
+  0x22E3: [730, 229, 685, 65, 622],
+  0x22E4: [627, 216, 685, 64, 621],
+  0x22E5: [627, 216, 685, 64, 621],
+  0x22F0: [520, 18, 926, 194, 732],
+  0x22F2: [531, 27, 823, 55, 763],
+  0x22F3: [531, 27, 685, 60, 625],
+  0x22F4: [459, -45, 486, 62, 420],
+  0x22F5: [716, 27, 685, 60, 625],
+  0x22F6: [685, 27, 685, 60, 625],
+  0x22F7: [613, -45, 486, 62, 420],
+  0x22F8: [532, 180, 685, 60, 625],
+  0x22F9: [531, 27, 685, 61, 625],
+  0x22FA: [531, 27, 823, 55, 763],
+  0x22FB: [531, 27, 685, 59, 624],
+  0x22FC: [459, -45, 486, 62, 420],
+  0x22FD: [685, 27, 685, 61, 626],
+  0x22FE: [613, -45, 486, 67, 425],
+  0x22FF: [662, 158, 910, 45, 865],
+  0x2A00: [763, 259, 1126, 53, 1073],
+  0x2A01: [763, 259, 1126, 53, 1073],
+  0x2A02: [763, 259, 1126, 53, 1073],
+  0x2A03: [768, 264, 924, 94, 830],
+  0x2A04: [768, 264, 924, 94, 830],
+  0x2A05: [763, 259, 924, 94, 830],
+  0x2A06: [763, 259, 924, 94, 830],
+  0x2A07: [763, 259, 1180, 83, 1097],
+  0x2A08: [763, 259, 1180, 83, 1097],
+  0x2A09: [763, 259, 1021, 50, 971],
+  0x2A0A: [763, 259, 914, 58, 856],
+  0x2A0B: [824, 320, 690, 33, 659],
+  0x2A0C: [824, 320, 1184, 32, 1364],
+  0x2A0D: [824, 320, 499, 32, 639],
+  0x2A0E: [824, 320, 499, 32, 639],
+  0x2A0F: [824, 320, 499, 32, 639],
+  0x2A10: [824, 320, 499, 32, 639],
+  0x2A11: [824, 320, 499, 32, 639],
+  0x2A12: [824, 320, 519, 32, 639],
+  0x2A13: [824, 320, 499, 32, 639],
+  0x2A14: [824, 320, 628, 32, 688],
+  0x2A15: [824, 320, 499, 32, 639],
+  0x2A16: [824, 320, 529, 32, 639],
+  0x2A17: [824, 320, 738, 32, 818],
+  0x2A18: [824, 320, 539, 32, 639],
+  0x2A19: [824, 320, 559, 32, 639],
+  0x2A1A: [824, 320, 559, 32, 639],
+  0x2A1B: [947, 320, 459, 32, 639],
+  0x2A1C: [824, 443, 459, 32, 639],
+  0x2A1D: [770, 252, 1270, 93, 1177],
+  0x2A1E: [764, 258, 1018, 45, 924],
+  0x2A1F: [566, 291, 503, 110, 410],
+  0x2A20: [633, 127, 1177, 98, 1079],
+  0x2A21: [805, 300, 547, 215, 472],
+  0x2A22: [819, 41, 685, 48, 636],
+  0x2A23: [707, 41, 685, 48, 636],
+  0x2A24: [704, 41, 685, 48, 636],
+  0x2A25: [547, 235, 685, 48, 636],
+  0x2A26: [547, 198, 685, 48, 636],
+  0x2A27: [547, 210, 685, 41, 673],
+  0x2A28: [547, 41, 685, 48, 636],
+  0x2A29: [556, -220, 685, 48, 637],
+  0x2A2A: [286, 5, 685, 48, 637],
+  0x2A2B: [511, 5, 685, 48, 637],
+  0x2A2C: [511, 5, 685, 48, 637],
+  0x2A2D: [623, 119, 724, 50, 674],
+  0x2A2E: [623, 119, 724, 50, 674],
+  0x2A2F: [447, -59, 490, 50, 439],
+  0x2A30: [686, 25, 640, 43, 597],
+  0x2A31: [529, 130, 640, 43, 597],
+  0x2A32: [529, 45, 640, 43, 597],
+  0x2A33: [538, 32, 685, 57, 627],
+  0x2A34: [623, 119, 674, 50, 624],
+  0x2A35: [623, 119, 674, 50, 624],
+  0x2A36: [810, 119, 842, 50, 792],
+  0x2A37: [752, 248, 1100, 50, 1050],
+  0x2A38: [623, 119, 842, 50, 792],
+  0x2A39: [811, 127, 1145, 35, 1110],
+  0x2A3A: [811, 127, 1145, 35, 1110],
+  0x2A3B: [811, 127, 1145, 35, 1110],
+  0x2A3C: [393, -115, 600, 48, 552],
+  0x2A3D: [393, -115, 600, 48, 552],
+  0x2A3E: [488, 170, 300, 60, 230],
+  0x2A40: [536, 31, 620, 48, 572],
+  0x2A41: [536, 31, 620, 48, 572],
+  0x2A42: [668, 31, 620, 48, 572],
+  0x2A43: [668, 31, 620, 48, 572],
+  0x2A44: [536, 31, 620, 48, 572],
+  0x2A45: [536, 31, 620, 48, 572],
+  0x2A46: [914, 406, 620, 48, 572],
+  0x2A47: [914, 406, 620, 48, 572],
+  0x2A48: [914, 406, 620, 48, 572],
+  0x2A49: [914, 406, 620, 48, 572],
+  0x2A4A: [528, 39, 1078, 48, 1030],
+  0x2A4B: [527, 40, 1078, 48, 1030],
+  0x2A4C: [602, 31, 620, 10, 610],
+  0x2A4D: [536, 97, 620, 10, 610],
+  0x2A4E: [536, 31, 620, 48, 572],
+  0x2A4F: [536, 31, 620, 48, 572],
+  0x2A50: [602, 31, 620, 10, 610],
+  0x2A51: [710, 29, 620, 31, 589],
+  0x2A52: [710, 29, 620, 31, 589],
+  0x2A53: [536, 29, 620, 31, 589],
+  0x2A54: [536, 29, 620, 31, 589],
+  0x2A55: [536, 29, 780, 32, 748],
+  0x2A56: [536, 29, 780, 32, 748],
+  0x2A57: [536, 29, 706, 106, 683],
+  0x2A58: [536, 29, 706, 23, 600],
+  0x2A59: [585, 77, 620, 31, 589],
+  0x2A5A: [536, 29, 620, 31, 589],
+  0x2A5B: [536, 29, 620, 31, 589],
+  0x2A5C: [536, 29, 620, 31, 589],
+  0x2A5D: [536, 29, 620, 31, 589],
+  0x2A5F: [536, 139, 620, 30, 590],
+  0x2A60: [536, 289, 620, 30, 590],
+  0x2A61: [479, 0, 620, 45, 575],
+  0x2A62: [806, 29, 620, 30, 590],
+  0x2A63: [536, 289, 620, 30, 590],
+  0x2A64: [791, 284, 1043, 70, 1008],
+  0x2A65: [791, 284, 1043, 70, 1008],
+  0x2A66: [386, 105, 685, 48, 637],
+  0x2A67: [703, -28, 685, 48, 637],
+  0x2A68: [695, 189, 685, 48, 637],
+  0x2A69: [662, 156, 685, 48, 637],
+  0x2A6A: [521, -148, 685, 48, 637],
+  0x2A6B: [521, 13, 685, 48, 637],
+  0x2A6C: [543, 38, 685, 48, 637],
+  0x2A6D: [703, 27, 685, 48, 637],
+  0x2A6E: [847, -120, 685, 48, 637],
+  0x2A6F: [707, -25, 685, 48, 637],
+  0x2A70: [650, 146, 685, 48, 637],
+  0x2A71: [648, 141, 685, 48, 637],
+  0x2A72: [648, 141, 685, 48, 637],
+  0x2A73: [532, 27, 685, 48, 637],
+  0x2A74: [417, -89, 1015, 48, 967],
+  0x2A75: [386, -120, 997, 48, 949],
+  0x2A76: [386, -120, 1436, 48, 1388],
+  0x2A77: [611, 106, 685, 48, 637],
+  0x2A78: [703, -28, 685, 38, 647],
+  0x2A79: [532, 26, 685, 44, 609],
+  0x2A7A: [532, 26, 685, 76, 641],
+  0x2A7B: [806, 26, 685, 44, 609],
+  0x2A7C: [806, 26, 685, 76, 641],
+  0x2A7F: [625, 137, 685, 60, 625],
+  0x2A80: [625, 137, 685, 60, 625],
+  0x2A81: [625, 137, 685, 60, 625],
+  0x2A82: [625, 137, 685, 60, 625],
+  0x2A83: [777, 137, 685, 60, 625],
+  0x2A84: [777, 137, 685, 60, 625],
+  0x2A8D: [746, 176, 685, 48, 637],
+  0x2A8E: [746, 176, 685, 48, 637],
+  0x2A8F: [867, 361, 685, 60, 649],
+  0x2A90: [867, 361, 685, 60, 649],
+  0x2A91: [844, 338, 685, 55, 630],
+  0x2A92: [844, 338, 685, 55, 630],
+  0x2A93: [866, 361, 685, 60, 625],
+  0x2A94: [866, 361, 685, 60, 625],
+  0x2A97: [640, 122, 685, 56, 621],
+  0x2A98: [640, 122, 685, 56, 621],
+  0x2A99: [718, 211, 685, 60, 625],
+  0x2A9A: [718, 211, 685, 60, 625],
+  0x2A9B: [726, 220, 685, 60, 625],
+  0x2A9C: [726, 220, 685, 60, 625],
+  0x2A9D: [664, 164, 685, 53, 642],
+  0x2A9E: [664, 164, 685, 43, 632],
+  0x2A9F: [774, 267, 685, 48, 637],
+  0x2AA0: [774, 267, 685, 48, 637],
+  0x2AA1: [532, 26, 685, 44, 609],
+  0x2AA2: [532, 26, 685, 76, 641],
+  0x2AA3: [609, 103, 933, 25, 908],
+  0x2AA4: [532, 26, 782, 60, 722],
+  0x2AA5: [532, 26, 855, 60, 795],
+  0x2AA6: [532, 26, 685, 35, 625],
+  0x2AA7: [532, 26, 685, 60, 650],
+  0x2AA8: [625, 137, 685, 50, 640],
+  0x2AA9: [626, 137, 685, 45, 635],
+  0x2AAA: [537, 31, 685, 45, 609],
+  0x2AAB: [537, 31, 685, 76, 640],
+  0x2AAC: [613, 103, 685, 60, 625],
+  0x2AAD: [613, 103, 685, 60, 625],
+  0x2AAE: [563, -28, 685, 48, 637],
+  0x2AB1: [628, 216, 685, 60, 625],
+  0x2AB2: [628, 216, 685, 60, 625],
+  0x2AB3: [717, 211, 685, 60, 625],
+  0x2AB4: [717, 211, 685, 60, 625],
+  0x2ABB: [532, 26, 933, 25, 908],
+  0x2ABC: [532, 26, 933, 25, 908],
+  0x2ABD: [532, 26, 685, 60, 625],
+  0x2ABE: [532, 26, 685, 60, 625],
+  0x2ABF: [607, 103, 685, 60, 625],
+  0x2AC0: [607, 103, 685, 60, 625],
+  0x2AC1: [607, 103, 685, 60, 625],
+  0x2AC2: [607, 103, 685, 60, 625],
+  0x2AC3: [709, 103, 685, 60, 625],
+  0x2AC4: [709, 103, 685, 60, 625],
+  0x2AC7: [665, 164, 685, 60, 625],
+  0x2AC8: [665, 164, 685, 60, 625],
+  0x2AC9: [746, 274, 685, 60, 625],
+  0x2ACA: [746, 274, 685, 60, 625],
+  0x2ACD: [558, 53, 1352, 64, 1288],
+  0x2ACE: [558, 53, 1352, 64, 1288],
+  0x2ACF: [532, 26, 685, 50, 615],
+  0x2AD0: [532, 26, 685, 70, 635],
+  0x2AD1: [609, 103, 685, 60, 626],
+  0x2AD2: [609, 103, 685, 60, 625],
+  0x2AD3: [715, 209, 685, 60, 625],
+  0x2AD4: [715, 209, 685, 60, 625],
+  0x2AD5: [715, 209, 685, 60, 625],
+  0x2AD6: [715, 209, 685, 60, 625],
+  0x2AD7: [532, 26, 1250, 60, 1190],
+  0x2AD8: [532, 26, 1250, 60, 1190],
+  0x2AD9: [536, 31, 620, 48, 572],
+  0x2ADA: [697, 128, 620, 48, 572],
+  0x2ADB: [695, 97, 620, 48, 572],
+  0x2ADC: [557, 10, 620, 11, 572],
+  0x2ADD: [557, 10, 620, 48, 572],
+  0x2ADE: [662, 0, 497, 64, 433],
+  0x2ADF: [371, 0, 685, 48, 637],
+  0x2AE0: [371, 0, 685, 48, 637],
+  0x2AE1: [662, 0, 685, 48, 637],
+  0x2AE2: [662, 0, 685, 60, 625],
+  0x2AE3: [662, 0, 860, 46, 803],
+  0x2AE4: [662, 0, 685, 60, 625],
+  0x2AE5: [662, 0, 860, 46, 803],
+  0x2AE6: [662, 0, 685, 57, 626],
+  0x2AE7: [571, 0, 685, 48, 637],
+  0x2AE8: [571, 0, 685, 48, 637],
+  0x2AE9: [691, 185, 685, 48, 637],
+  0x2AEA: [662, 0, 685, 48, 637],
+  0x2AEB: [662, 0, 685, 48, 637],
+  0x2AEC: [489, -18, 600, 48, 552],
+  0x2AED: [489, -18, 600, 48, 552],
+  0x2AEE: [690, 189, 404, 23, 381],
+  0x2AEF: [660, 154, 502, 101, 401],
+  0x2AF0: [660, 154, 502, 101, 401],
+  0x2AF1: [693, 187, 502, 101, 401],
+  0x2AF2: [695, 189, 523, 10, 513],
+  0x2AF3: [695, 189, 685, 48, 637],
+  0x2AF4: [695, 189, 685, 131, 555],
+  0x2AF5: [695, 189, 685, 12, 674],
+  0x2AF6: [608, 102, 685, 279, 406],
+  0x2AF7: [661, 155, 1170, 58, 1080],
+  0x2AF8: [661, 155, 1170, 90, 1112],
+  0x2AF9: [726, 220, 685, 60, 625],
+  0x2AFA: [726, 220, 685, 60, 625],
+  0x2AFB: [710, 222, 894, 46, 848],
+  0x2AFC: [763, 259, 654, 94, 560],
+  0x2AFD: [710, 222, 709, 46, 663],
+  0x2AFE: [690, 189, 410, 100, 310],
+  0x2AFF: [763, 259, 478, 94, 384],
+  0xE004: [450, -59, 926, 55, 871],
+  0xE005: [530, -57, 926, 55, 871],
+  0xE00A: [538, -55, 685, 48, 637],
+  0xE00B: [543, 37, 685, 48, 637],
+  0xE00E: [846, 340, 685, 60, 626],
+  0xE00F: [730, 229, 685, 56, 621],
+  0xE010: [730, 229, 685, 56, 621],
+  0xE011: [846, 340, 685, 61, 626],
+  0xE016: [818, 311, 685, 53, 618],
+  0xE018: [818, 311, 685, 67, 632],
+  0xE01E: [607, 110, 685, 48, 638],
+  0xE023: [695, 189, 685, 48, 637],
+  0xE025: [724, 236, 685, 48, 637],
+  0xE026: [662, 156, 685, 47, 612],
+  0xE027: [662, 156, 685, 73, 638],
+  0xE028: [663, 155, 933, 25, 908],
+  0xE029: [662, 156, 933, 25, 908],
+  0xE02A: [662, 156, 1240, 43, 1184],
+  0xE02B: [662, 156, 1240, 56, 1197],
+  0xE035: [602, 98, 486, 64, 422],
+  0xE037: [662, 156, 685, 48, 637],
+  0xE038: [690, 189, 732, 50, 682],
+  0xE039: [662, 156, 685, 47, 636],
+  0xE03A: [811, 156, 471, 40, 525],
+  0xE03B: [736, 156, 685, 60, 625],
+  0xE03C: [662, 156, 685, 60, 625],
+  0xE03D: [602, 98, 486, 64, 422],
+  0xE040: [415, -92, 685, 48, 637],
+  0xE043: [818, 311, 685, 60, 625],
+  0xE044: [818, 311, 685, 60, 625],
+  0xE045: [818, 311, 685, 60, 625],
+  0xE046: [818, 311, 685, 60, 625],
+  0xE04B: [745, 242, 685, 60, 625],
+  0xE04C: [845, 341, 685, 60, 625],
+  0xE04D: [534, 19, 685, 48, 637],
+  0xE04E: [845, 341, 685, 60, 625],
+  0xE04F: [745, 242, 685, 60, 625],
+  0xE050: [662, 156, 685, 65, 620],
+  0xE051: [662, 156, 685, 65, 620],
+  0xE052: [561, 55, 685, 48, 637],
+  0xE059: [730, 224, 685, 48, 637],
+  0xE05A: [730, 224, 685, 48, 637],
+  0xE05B: [561, -30, 685, 48, 637],
+  0xE05C: [534, 19, 685, 48, 637],
+  0xE06B: [602, 98, 486, 64, 422],
+  0xE06C: [602, 98, 486, 64, 422],
+  0xE06D: [785, 157, 685, 60, 625],
+  0xE06E: [785, 157, 685, 60, 625],
+  0xE06F: [785, 129, 685, 60, 625],
+  0xE070: [785, 129, 685, 60, 625],
+  0xE075: [626, 119, 685, 48, 637],
+  0xE076: [626, 119, 685, 48, 637],
+  0xE077: [725, 236, 685, 48, 637],
+  0xE07C: [758, 252, 685, 48, 637],
+  0xE07D: [758, 252, 685, 48, 637],
+  0xE07E: [732, 227, 685, 56, 621],
+  0xE07F: [732, 227, 685, 56, 621],
+  0xE080: [818, 311, 685, 57, 622],
+  0xE081: [818, 311, 685, 57, 622],
+  0xE082: [730, 229, 685, 56, 621],
+  0xE083: [730, 229, 685, 56, 621],
+  0xE084: [709, 201, 685, 56, 621],
+  0xE085: [709, 201, 685, 56, 621],
+  0xE086: [818, 311, 685, 56, 621],
+  0xE087: [818, 311, 685, 55, 621],
+  0xE088: [818, 311, 685, 56, 621],
+  0xE089: [818, 311, 685, 55, 620],
+  0xE092: [719, 296, 685, 62, 627],
+  0xE093: [719, 296, 685, 61, 626],
+  0xE094: [719, 240, 685, 62, 627],
+  0xE095: [719, 240, 685, 61, 626],
+  0xE096: [818, 311, 685, 55, 620],
+  0xE097: [818, 311, 685, 65, 630],
+  0xE098: [690, 189, 685, 23, 662],
+  0xE0BB: [622, 101, 685, 48, 637],
+  0xE0EC: [862, -120, 685, 48, 637],
+  0xE109: [781, 279, 327, 10, 286],
+  0xE10A: [781, 279, 250, 41, 178],
+  0xE14C: [660, 158, 857, 48, 777],
+  0xE14D: [660, 158, 857, 80, 809],
+  0xE14E: [661, 157, 685, 44, 609],
+  0xE14F: [661, 157, 685, 76, 641],
+  0xE28E: [622, 101, 685, 48, 637],
+  0xE292: [662, 0, 1388, 38, 1350],
+  0xE293: [763, 260, 1797, 58, 1739],
+  0xE3C2: [662, 156, 685, 48, 637],
+  0xE3C3: [627, 135, 685, 48, 637],
+  0xE3C4: [627, 135, 685, 48, 637]
 };
 
 MathJax.Callback.Queue(

+ 124 - 124
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/SansSerif/Italic/Main.js

@@ -18,130 +18,130 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_SansSerif-italic'] = {
-    directory: 'SansSerif/Italic',
-    family: 'STIXMathJax_SansSerif',
-    style: 'italic',
-    testString: '\u00A0\uE1B4\uE1B5\uE1B6\uE1B7\uE1B8\uE1B9\uE1BA\uE1BB\uE1BC\uE1BD\uE1BE\uE1BF\uE1C0\uE1C1',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0xE1B4: [676, 14, 500, 86, 578],
-    0xE1B5: [677, 0, 500, 223, 469],
-    0xE1B6: [676, 0, 500, 35, 574],
-    0xE1B7: [676, 14, 500, 44, 544],
-    0xE1B8: [676, 0, 500, 52, 547],
-    0xE1B9: [676, 14, 500, 49, 626],
-    0xE1BA: [684, 14, 500, 83, 617],
-    0xE1BB: [662, 8, 500, 146, 616],
-    0xE1BC: [676, 14, 500, 81, 560],
-    0xE1BD: [676, 21, 500, 51, 579],
-    0xE1BE: [683, 10, 536, 45, 527],
-    0xE1BF: [674, 0, 660, 28, 632],
-    0xE1C0: [662, 0, 662, 60, 627],
-    0xE1C1: [662, 0, 562, 60, 665],
-    0xE1C2: [674, 0, 660, 28, 632],
-    0xE1C3: [662, 0, 639, 60, 664],
-    0xE1C4: [662, 0, 698, 25, 760],
-    0xE1C5: [662, 0, 700, 60, 735],
-    0xE1C6: [676, 14, 780, 75, 755],
-    0xE1C7: [662, 0, 433, 50, 503],
-    0xE1C8: [662, 0, 631, 60, 715],
-    0xE1C9: [674, 0, 664, 20, 624],
-    0xE1CA: [662, 0, 890, 60, 918],
-    0xE1CB: [662, 14, 724, 60, 752],
-    0xE1CC: [662, 0, 722, 47, 754],
-    0xE1CD: [676, 14, 780, 75, 755],
-    0xE1CE: [662, 0, 700, 60, 735],
-    0xE1CF: [662, 0, 538, 60, 624],
-    0xE1D0: [676, 14, 780, 75, 755],
-    0xE1D1: [662, 0, 654, 21, 706],
-    0xE1D2: [662, 0, 585, 72, 659],
-    0xE1D3: [676, 0, 593, 83, 725],
-    0xE1D4: [662, 0, 736, 52, 736],
-    0xE1D5: [662, 0, 722, 20, 795],
-    0xE1D6: [681, 0, 712, 105, 805],
-    0xE1D7: [676, 0, 795, 39, 795],
-    0xE1D8: [463, 10, 586, 47, 616],
-    0xE1D9: [683, 215, 535, -12, 559],
-    0xE1DA: [463, 216, 503, 84, 527],
-    0xE1DB: [683, 10, 497, 30, 537],
-    0xE1DC: [463, 10, 494, 35, 484],
-    0xE1DD: [683, 213, 429, 32, 454],
-    0xE1DE: [463, 215, 493, 38, 486],
-    0xE1DF: [683, 10, 518, 65, 511],
-    0xE1E0: [464, 10, 296, 56, 268],
-    0xE1E1: [464, 0, 472, 38, 517],
-    0xE1E2: [683, 11, 536, 18, 502],
-    0xE1E3: [453, 215, 561, -9, 536],
-    0xE1E4: [464, 14, 376, 41, 416],
-    0xE1E5: [683, 215, 434, 43, 464],
-    0xE1E6: [463, 10, 533, 45, 505],
-    0xE1E7: [453, 10, 565, 45, 589],
-    0xE1E8: [462, 216, 534, -33, 510],
-    0xE1E9: [463, 212, 436, 52, 500],
-    0xE1EA: [453, 10, 607, 45, 625],
-    0xE1EB: [453, 10, 468, 42, 486],
-    0xE1EC: [463, 10, 514, 61, 490],
-    0xE1ED: [464, 216, 665, 55, 641],
-    0xE1EE: [463, 215, 514, -72, 552],
-    0xE1EF: [461, 216, 654, 75, 705],
-    0xE1F0: [454, 10, 630, 50, 636],
-    0xE1F1: [463, 10, 462, 45, 467],
-    0xE1F2: [683, 12, 534, 45, 525],
-    0xE1F3: [684, 216, 648, 48, 630],
-    0xE1F4: [463, 216, 536, 38, 518],
-    0xE1F5: [453, 10, 795, 40, 811],
-    0x1D608: [674, 0, 666, 31, 635],
-    0x1D609: [662, 0, 604, 74, 641],
-    0x1D60A: [676, 14, 671, 96, 755],
-    0x1D60B: [662, 0, 692, 74, 751],
-    0x1D60C: [662, 0, 583, 74, 678],
-    0x1D60D: [662, 0, 535, 74, 679],
-    0x1D60E: [676, 14, 695, 97, 755],
-    0x1D60F: [662, 0, 658, 74, 749],
-    0x1D610: [662, 0, 401, 59, 512],
-    0x1D611: [662, 14, 398, 22, 470],
-    0x1D612: [662, 0, 634, 74, 729],
-    0x1D613: [662, 0, 559, 74, 564],
-    0x1D614: [662, 0, 843, 75, 933],
-    0x1D615: [662, 14, 675, 74, 766],
-    0x1D616: [676, 14, 714, 99, 779],
-    0x1D617: [662, 0, 525, 74, 638],
-    0x1D618: [676, 175, 716, 99, 779],
-    0x1D619: [662, 0, 589, 74, 639],
-    0x1D61A: [676, 14, 541, 62, 597],
-    0x1D61B: [662, 0, 608, 161, 748],
-    0x1D61C: [662, 14, 661, 117, 757],
-    0x1D61D: [662, 11, 654, 196, 788],
-    0x1D61E: [662, 11, 921, 194, 1057],
-    0x1D61F: [662, 0, 700, 31, 806],
-    0x1D620: [662, 0, 630, 186, 774],
-    0x1D621: [662, 0, 637, 28, 763],
-    0x1D622: [463, 10, 448, 55, 467],
-    0x1D623: [684, 10, 496, 74, 535],
-    0x1D624: [463, 10, 456, 67, 503],
-    0x1D625: [684, 11, 494, 72, 600],
-    0x1D626: [463, 10, 444, 69, 487],
-    0x1D627: [683, 0, 336, 101, 526],
-    0x1D628: [463, 216, 496, -7, 575],
-    0x1D629: [684, 0, 487, 63, 510],
-    0x1D62A: [679, 0, 220, 69, 325],
-    0x1D62B: [679, 216, 254, -118, 354],
-    0x1D62C: [684, 0, 453, 63, 556],
-    0x1D62D: [684, 0, 205, 61, 313],
-    0x1D62E: [464, 0, 756, 65, 775],
-    0x1D62F: [464, 0, 487, 63, 510],
-    0x1D630: [463, 10, 499, 76, 536],
-    0x1D631: [464, 216, 498, 14, 538],
-    0x1D632: [464, 216, 498, 72, 549],
-    0x1D633: [464, 0, 336, 63, 439],
-    0x1D634: [463, 10, 389, 61, 432],
-    0x1D635: [580, 10, 291, 96, 376],
-    0x1D636: [453, 11, 491, 89, 536],
-    0x1D637: [453, 14, 474, 143, 555],
-    0x1D638: [453, 14, 702, 140, 787],
-    0x1D639: [453, 0, 482, 30, 544],
-    0x1D63A: [453, 216, 484, -19, 565],
-    0x1D63B: [453, 0, 447, 25, 517]
+  directory: 'SansSerif/Italic',
+  family: 'STIXMathJax_SansSerif',
+  style: 'italic',
+  testString: '\u00A0\uE1B4\uE1B5\uE1B6\uE1B7\uE1B8\uE1B9\uE1BA\uE1BB\uE1BC\uE1BD\uE1BE\uE1BF\uE1C0\uE1C1',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0xE1B4: [676, 14, 500, 86, 578],
+  0xE1B5: [677, 0, 500, 223, 469],
+  0xE1B6: [676, 0, 500, 35, 574],
+  0xE1B7: [676, 14, 500, 44, 544],
+  0xE1B8: [676, 0, 500, 52, 547],
+  0xE1B9: [676, 14, 500, 49, 626],
+  0xE1BA: [684, 14, 500, 83, 617],
+  0xE1BB: [662, 8, 500, 146, 616],
+  0xE1BC: [676, 14, 500, 81, 560],
+  0xE1BD: [676, 21, 500, 51, 579],
+  0xE1BE: [683, 10, 536, 45, 527],
+  0xE1BF: [674, 0, 660, 28, 632],
+  0xE1C0: [662, 0, 662, 60, 627],
+  0xE1C1: [662, 0, 562, 60, 665],
+  0xE1C2: [674, 0, 660, 28, 632],
+  0xE1C3: [662, 0, 639, 60, 664],
+  0xE1C4: [662, 0, 698, 25, 760],
+  0xE1C5: [662, 0, 700, 60, 735],
+  0xE1C6: [676, 14, 780, 75, 755],
+  0xE1C7: [662, 0, 433, 50, 503],
+  0xE1C8: [662, 0, 631, 60, 715],
+  0xE1C9: [674, 0, 664, 20, 624],
+  0xE1CA: [662, 0, 890, 60, 918],
+  0xE1CB: [662, 14, 724, 60, 752],
+  0xE1CC: [662, 0, 722, 47, 754],
+  0xE1CD: [676, 14, 780, 75, 755],
+  0xE1CE: [662, 0, 700, 60, 735],
+  0xE1CF: [662, 0, 538, 60, 624],
+  0xE1D0: [676, 14, 780, 75, 755],
+  0xE1D1: [662, 0, 654, 21, 706],
+  0xE1D2: [662, 0, 585, 72, 659],
+  0xE1D3: [676, 0, 593, 83, 725],
+  0xE1D4: [662, 0, 736, 52, 736],
+  0xE1D5: [662, 0, 722, 20, 795],
+  0xE1D6: [681, 0, 712, 105, 805],
+  0xE1D7: [676, 0, 795, 39, 795],
+  0xE1D8: [463, 10, 586, 47, 616],
+  0xE1D9: [683, 215, 535, -12, 559],
+  0xE1DA: [463, 216, 503, 84, 527],
+  0xE1DB: [683, 10, 497, 30, 537],
+  0xE1DC: [463, 10, 494, 35, 484],
+  0xE1DD: [683, 213, 429, 32, 454],
+  0xE1DE: [463, 215, 493, 38, 486],
+  0xE1DF: [683, 10, 518, 65, 511],
+  0xE1E0: [464, 10, 296, 56, 268],
+  0xE1E1: [464, 0, 472, 38, 517],
+  0xE1E2: [683, 11, 536, 18, 502],
+  0xE1E3: [453, 215, 561, -9, 536],
+  0xE1E4: [464, 14, 376, 41, 416],
+  0xE1E5: [683, 215, 434, 43, 464],
+  0xE1E6: [463, 10, 533, 45, 505],
+  0xE1E7: [453, 10, 565, 45, 589],
+  0xE1E8: [462, 216, 534, -33, 510],
+  0xE1E9: [463, 212, 436, 52, 500],
+  0xE1EA: [453, 10, 607, 45, 625],
+  0xE1EB: [453, 10, 468, 42, 486],
+  0xE1EC: [463, 10, 514, 61, 490],
+  0xE1ED: [464, 216, 665, 55, 641],
+  0xE1EE: [463, 215, 514, -72, 552],
+  0xE1EF: [461, 216, 654, 75, 705],
+  0xE1F0: [454, 10, 630, 50, 636],
+  0xE1F1: [463, 10, 462, 45, 467],
+  0xE1F2: [683, 12, 534, 45, 525],
+  0xE1F3: [684, 216, 648, 48, 630],
+  0xE1F4: [463, 216, 536, 38, 518],
+  0xE1F5: [453, 10, 795, 40, 811],
+  0x1D608: [674, 0, 666, 31, 635],
+  0x1D609: [662, 0, 604, 74, 641],
+  0x1D60A: [676, 14, 671, 96, 755],
+  0x1D60B: [662, 0, 692, 74, 751],
+  0x1D60C: [662, 0, 583, 74, 678],
+  0x1D60D: [662, 0, 535, 74, 679],
+  0x1D60E: [676, 14, 695, 97, 755],
+  0x1D60F: [662, 0, 658, 74, 749],
+  0x1D610: [662, 0, 401, 59, 512],
+  0x1D611: [662, 14, 398, 22, 470],
+  0x1D612: [662, 0, 634, 74, 729],
+  0x1D613: [662, 0, 559, 74, 564],
+  0x1D614: [662, 0, 843, 75, 933],
+  0x1D615: [662, 14, 675, 74, 766],
+  0x1D616: [676, 14, 714, 99, 779],
+  0x1D617: [662, 0, 525, 74, 638],
+  0x1D618: [676, 175, 716, 99, 779],
+  0x1D619: [662, 0, 589, 74, 639],
+  0x1D61A: [676, 14, 541, 62, 597],
+  0x1D61B: [662, 0, 608, 161, 748],
+  0x1D61C: [662, 14, 661, 117, 757],
+  0x1D61D: [662, 11, 654, 196, 788],
+  0x1D61E: [662, 11, 921, 194, 1057],
+  0x1D61F: [662, 0, 700, 31, 806],
+  0x1D620: [662, 0, 630, 186, 774],
+  0x1D621: [662, 0, 637, 28, 763],
+  0x1D622: [463, 10, 448, 55, 467],
+  0x1D623: [684, 10, 496, 74, 535],
+  0x1D624: [463, 10, 456, 67, 503],
+  0x1D625: [684, 11, 494, 72, 600],
+  0x1D626: [463, 10, 444, 69, 487],
+  0x1D627: [683, 0, 336, 101, 526],
+  0x1D628: [463, 216, 496, -7, 575],
+  0x1D629: [684, 0, 487, 63, 510],
+  0x1D62A: [679, 0, 220, 69, 325],
+  0x1D62B: [679, 216, 254, -118, 354],
+  0x1D62C: [684, 0, 453, 63, 556],
+  0x1D62D: [684, 0, 205, 61, 313],
+  0x1D62E: [464, 0, 756, 65, 775],
+  0x1D62F: [464, 0, 487, 63, 510],
+  0x1D630: [463, 10, 499, 76, 536],
+  0x1D631: [464, 216, 498, 14, 538],
+  0x1D632: [464, 216, 498, 72, 549],
+  0x1D633: [464, 0, 336, 63, 439],
+  0x1D634: [463, 10, 389, 61, 432],
+  0x1D635: [580, 10, 291, 96, 376],
+  0x1D636: [453, 11, 491, 89, 536],
+  0x1D637: [453, 14, 474, 143, 555],
+  0x1D638: [453, 14, 702, 140, 787],
+  0x1D639: [453, 0, 482, 30, 544],
+  0x1D63A: [453, 216, 484, -19, 565],
+  0x1D63B: [453, 0, 447, 25, 517]
 };
 
 MathJax.Callback.Queue(

+ 123 - 123
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/SansSerif/Regular/Main.js

@@ -18,129 +18,129 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_SansSerif'] = {
-    directory: 'SansSerif/Regular',
-    family: 'STIXMathJax_SansSerif',
-    testString: '\u00A0\uE17C\uE17D\uE17E\uE17F\uE180\uE181\uE182\uE183\uE184\uE185\uE186\uE187\uE188\uE189',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0xE17C: [683, 10, 499, 28, 471],
-    0xE17D: [674, 0, 666, 31, 635],
-    0xE17E: [662, 0, 604, 74, 547],
-    0xE17F: [662, 0, 535, 74, 523],
-    0xE180: [674, 0, 666, 31, 635],
-    0xE181: [662, 0, 583, 74, 540],
-    0xE182: [662, 0, 637, 28, 603],
-    0xE183: [662, 0, 658, 74, 584],
-    0xE184: [676, 14, 714, 30, 684],
-    0xE185: [662, 0, 401, 45, 356],
-    0xE186: [662, 0, 634, 74, 630],
-    0xE187: [674, 0, 666, 31, 635],
-    0xE188: [662, 0, 843, 75, 768],
-    0xE189: [662, 14, 675, 74, 601],
-    0xE18A: [662, 0, 643, 28, 615],
-    0xE18B: [676, 14, 714, 30, 684],
-    0xE18C: [662, 0, 658, 74, 584],
-    0xE18D: [662, 0, 525, 74, 512],
-    0xE18E: [676, 14, 714, 30, 684],
-    0xE18F: [662, 0, 624, 26, 594],
-    0xE190: [662, 0, 608, 15, 593],
-    0xE191: [676, 0, 690, 24, 666],
-    0xE192: [662, 0, 716, 23, 693],
-    0xE193: [662, 0, 700, 31, 669],
-    0xE194: [681, 0, 724, 12, 712],
-    0xE195: [676, 0, 744, 29, 715],
-    0xE196: [463, 10, 537, 28, 532],
-    0xE197: [683, 215, 498, 41, 471],
-    0xE198: [463, 216, 474, 27, 455],
-    0xE199: [683, 10, 499, 28, 471],
-    0xE19A: [463, 10, 438, 22, 419],
-    0xE19B: [683, 213, 416, 33, 408],
-    0xE19C: [463, 215, 494, 41, 443],
-    0xE19D: [683, 10, 446, 21, 425],
-    0xE19E: [464, 10, 270, 57, 269],
-    0xE19F: [464, 0, 472, 82, 472],
-    0xE1A0: [683, 11, 489, 8, 478],
-    0xE1A1: [453, 215, 487, 44, 482],
-    0xE1A2: [464, 14, 460, 30, 427],
-    0xE1A3: [683, 215, 418, 33, 410],
-    0xE1A4: [463, 10, 499, 28, 471],
-    0xE1A5: [453, 10, 507, 7, 487],
-    0xE1A6: [462, 216, 498, 48, 470],
-    0xE1A7: [463, 212, 416, 33, 414],
-    0xE1A8: [453, 10, 526, 28, 542],
-    0xE1A9: [453, 10, 426, 2, 410],
-    0xE1AA: [463, 10, 503, 41, 463],
-    0xE1AB: [464, 216, 632, 34, 600],
-    0xE1AC: [463, 215, 399, -20, 440],
-    0xE1AD: [461, 216, 654, 12, 642],
-    0xE1AE: [454, 10, 624, 29, 595],
-    0xE1AF: [463, 10, 456, 23, 432],
-    0xE1B0: [683, 12, 489, 42, 491],
-    0xE1B1: [684, 216, 622, 28, 594],
-    0xE1B2: [463, 216, 491, 28, 463],
-    0xE1B3: [453, 10, 762, 7, 739],
-    0x1D5A0: [674, 0, 666, 31, 635],
-    0x1D5A1: [662, 0, 604, 74, 547],
-    0x1D5A2: [676, 14, 671, 27, 637],
-    0x1D5A3: [662, 0, 692, 74, 656],
-    0x1D5A4: [662, 0, 583, 74, 540],
-    0x1D5A5: [662, 0, 535, 74, 523],
-    0x1D5A6: [676, 14, 695, 27, 627],
-    0x1D5A7: [662, 0, 658, 74, 584],
-    0x1D5A8: [662, 0, 401, 45, 356],
-    0x1D5A9: [662, 14, 398, 12, 305],
-    0x1D5AA: [662, 0, 634, 74, 630],
-    0x1D5AB: [662, 0, 559, 74, 546],
-    0x1D5AC: [662, 0, 843, 75, 768],
-    0x1D5AD: [662, 14, 675, 74, 601],
-    0x1D5AE: [676, 14, 714, 30, 684],
-    0x1D5AF: [662, 0, 525, 74, 512],
-    0x1D5B0: [676, 175, 716, 30, 691],
-    0x1D5B1: [662, 0, 589, 74, 581],
-    0x1D5B2: [676, 14, 541, 32, 481],
-    0x1D5B3: [662, 0, 608, 15, 593],
-    0x1D5B4: [662, 14, 661, 69, 592],
-    0x1D5B5: [662, 11, 654, 31, 623],
-    0x1D5B6: [662, 11, 921, 29, 892],
-    0x1D5B7: [662, 0, 700, 31, 669],
-    0x1D5B8: [662, 0, 630, 21, 609],
-    0x1D5B9: [662, 0, 637, 28, 603],
-    0x1D5BA: [463, 10, 448, 35, 391],
-    0x1D5BB: [684, 10, 496, 63, 466],
-    0x1D5BC: [463, 10, 456, 23, 432],
-    0x1D5BD: [684, 11, 494, 28, 437],
-    0x1D5BE: [463, 10, 444, 23, 428],
-    0x1D5BF: [683, 0, 336, 20, 369],
-    0x1D5C0: [463, 216, 496, 21, 467],
-    0x1D5C1: [684, 0, 487, 63, 424],
-    0x1D5C2: [679, 0, 220, 64, 156],
-    0x1D5C3: [679, 216, 254, -74, 185],
-    0x1D5C4: [684, 0, 453, 63, 452],
-    0x1D5C5: [684, 0, 205, 61, 144],
-    0x1D5C6: [464, 0, 756, 65, 691],
-    0x1D5C7: [464, 0, 487, 63, 424],
-    0x1D5C8: [463, 10, 499, 28, 471],
-    0x1D5C9: [464, 216, 498, 67, 470],
-    0x1D5CA: [464, 216, 498, 28, 435],
-    0x1D5CB: [464, 0, 336, 63, 328],
-    0x1D5CC: [463, 10, 389, 49, 350],
-    0x1D5CD: [580, 10, 291, 1, 287],
-    0x1D5CE: [453, 11, 491, 63, 430],
-    0x1D5CF: [453, 14, 474, 31, 443],
-    0x1D5D0: [453, 14, 702, 28, 675],
-    0x1D5D1: [453, 0, 482, 30, 452],
-    0x1D5D2: [453, 216, 484, 28, 453],
-    0x1D5D3: [453, 0, 447, 25, 417],
-    0x1D7E2: [676, 14, 500, 23, 477],
-    0x1D7E3: [677, 0, 500, 108, 302],
-    0x1D7E4: [676, 0, 500, 35, 469],
-    0x1D7E5: [676, 14, 500, 31, 441],
-    0x1D7E6: [676, 0, 500, 11, 489],
-    0x1D7E7: [676, 14, 500, 36, 458],
-    0x1D7E8: [684, 14, 500, 32, 470],
-    0x1D7E9: [662, 8, 500, 38, 451],
-    0x1D7EA: [676, 14, 500, 49, 447],
-    0x1D7EB: [676, 21, 500, 28, 466]
+  directory: 'SansSerif/Regular',
+  family: 'STIXMathJax_SansSerif',
+  testString: '\u00A0\uE17C\uE17D\uE17E\uE17F\uE180\uE181\uE182\uE183\uE184\uE185\uE186\uE187\uE188\uE189',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0xE17C: [683, 10, 499, 28, 471],
+  0xE17D: [674, 0, 666, 31, 635],
+  0xE17E: [662, 0, 604, 74, 547],
+  0xE17F: [662, 0, 535, 74, 523],
+  0xE180: [674, 0, 666, 31, 635],
+  0xE181: [662, 0, 583, 74, 540],
+  0xE182: [662, 0, 637, 28, 603],
+  0xE183: [662, 0, 658, 74, 584],
+  0xE184: [676, 14, 714, 30, 684],
+  0xE185: [662, 0, 401, 45, 356],
+  0xE186: [662, 0, 634, 74, 630],
+  0xE187: [674, 0, 666, 31, 635],
+  0xE188: [662, 0, 843, 75, 768],
+  0xE189: [662, 14, 675, 74, 601],
+  0xE18A: [662, 0, 643, 28, 615],
+  0xE18B: [676, 14, 714, 30, 684],
+  0xE18C: [662, 0, 658, 74, 584],
+  0xE18D: [662, 0, 525, 74, 512],
+  0xE18E: [676, 14, 714, 30, 684],
+  0xE18F: [662, 0, 624, 26, 594],
+  0xE190: [662, 0, 608, 15, 593],
+  0xE191: [676, 0, 690, 24, 666],
+  0xE192: [662, 0, 716, 23, 693],
+  0xE193: [662, 0, 700, 31, 669],
+  0xE194: [681, 0, 724, 12, 712],
+  0xE195: [676, 0, 744, 29, 715],
+  0xE196: [463, 10, 537, 28, 532],
+  0xE197: [683, 215, 498, 41, 471],
+  0xE198: [463, 216, 474, 27, 455],
+  0xE199: [683, 10, 499, 28, 471],
+  0xE19A: [463, 10, 438, 22, 419],
+  0xE19B: [683, 213, 416, 33, 408],
+  0xE19C: [463, 215, 494, 41, 443],
+  0xE19D: [683, 10, 446, 21, 425],
+  0xE19E: [464, 10, 270, 57, 269],
+  0xE19F: [464, 0, 472, 82, 472],
+  0xE1A0: [683, 11, 489, 8, 478],
+  0xE1A1: [453, 215, 487, 44, 482],
+  0xE1A2: [464, 14, 460, 30, 427],
+  0xE1A3: [683, 215, 418, 33, 410],
+  0xE1A4: [463, 10, 499, 28, 471],
+  0xE1A5: [453, 10, 507, 7, 487],
+  0xE1A6: [462, 216, 498, 48, 470],
+  0xE1A7: [463, 212, 416, 33, 414],
+  0xE1A8: [453, 10, 526, 28, 542],
+  0xE1A9: [453, 10, 426, 2, 410],
+  0xE1AA: [463, 10, 503, 41, 463],
+  0xE1AB: [464, 216, 632, 34, 600],
+  0xE1AC: [463, 215, 399, -20, 440],
+  0xE1AD: [461, 216, 654, 12, 642],
+  0xE1AE: [454, 10, 624, 29, 595],
+  0xE1AF: [463, 10, 456, 23, 432],
+  0xE1B0: [683, 12, 489, 42, 491],
+  0xE1B1: [684, 216, 622, 28, 594],
+  0xE1B2: [463, 216, 491, 28, 463],
+  0xE1B3: [453, 10, 762, 7, 739],
+  0x1D5A0: [674, 0, 666, 31, 635],
+  0x1D5A1: [662, 0, 604, 74, 547],
+  0x1D5A2: [676, 14, 671, 27, 637],
+  0x1D5A3: [662, 0, 692, 74, 656],
+  0x1D5A4: [662, 0, 583, 74, 540],
+  0x1D5A5: [662, 0, 535, 74, 523],
+  0x1D5A6: [676, 14, 695, 27, 627],
+  0x1D5A7: [662, 0, 658, 74, 584],
+  0x1D5A8: [662, 0, 401, 45, 356],
+  0x1D5A9: [662, 14, 398, 12, 305],
+  0x1D5AA: [662, 0, 634, 74, 630],
+  0x1D5AB: [662, 0, 559, 74, 546],
+  0x1D5AC: [662, 0, 843, 75, 768],
+  0x1D5AD: [662, 14, 675, 74, 601],
+  0x1D5AE: [676, 14, 714, 30, 684],
+  0x1D5AF: [662, 0, 525, 74, 512],
+  0x1D5B0: [676, 175, 716, 30, 691],
+  0x1D5B1: [662, 0, 589, 74, 581],
+  0x1D5B2: [676, 14, 541, 32, 481],
+  0x1D5B3: [662, 0, 608, 15, 593],
+  0x1D5B4: [662, 14, 661, 69, 592],
+  0x1D5B5: [662, 11, 654, 31, 623],
+  0x1D5B6: [662, 11, 921, 29, 892],
+  0x1D5B7: [662, 0, 700, 31, 669],
+  0x1D5B8: [662, 0, 630, 21, 609],
+  0x1D5B9: [662, 0, 637, 28, 603],
+  0x1D5BA: [463, 10, 448, 35, 391],
+  0x1D5BB: [684, 10, 496, 63, 466],
+  0x1D5BC: [463, 10, 456, 23, 432],
+  0x1D5BD: [684, 11, 494, 28, 437],
+  0x1D5BE: [463, 10, 444, 23, 428],
+  0x1D5BF: [683, 0, 336, 20, 369],
+  0x1D5C0: [463, 216, 496, 21, 467],
+  0x1D5C1: [684, 0, 487, 63, 424],
+  0x1D5C2: [679, 0, 220, 64, 156],
+  0x1D5C3: [679, 216, 254, -74, 185],
+  0x1D5C4: [684, 0, 453, 63, 452],
+  0x1D5C5: [684, 0, 205, 61, 144],
+  0x1D5C6: [464, 0, 756, 65, 691],
+  0x1D5C7: [464, 0, 487, 63, 424],
+  0x1D5C8: [463, 10, 499, 28, 471],
+  0x1D5C9: [464, 216, 498, 67, 470],
+  0x1D5CA: [464, 216, 498, 28, 435],
+  0x1D5CB: [464, 0, 336, 63, 328],
+  0x1D5CC: [463, 10, 389, 49, 350],
+  0x1D5CD: [580, 10, 291, 1, 287],
+  0x1D5CE: [453, 11, 491, 63, 430],
+  0x1D5CF: [453, 14, 474, 31, 443],
+  0x1D5D0: [453, 14, 702, 28, 675],
+  0x1D5D1: [453, 0, 482, 30, 452],
+  0x1D5D2: [453, 216, 484, 28, 453],
+  0x1D5D3: [453, 0, 447, 25, 417],
+  0x1D7E2: [676, 14, 500, 23, 477],
+  0x1D7E3: [677, 0, 500, 108, 302],
+  0x1D7E4: [676, 0, 500, 35, 469],
+  0x1D7E5: [676, 14, 500, 31, 441],
+  0x1D7E6: [676, 0, 500, 11, 489],
+  0x1D7E7: [676, 14, 500, 36, 458],
+  0x1D7E8: [684, 14, 500, 32, 470],
+  0x1D7E9: [662, 8, 500, 38, 451],
+  0x1D7EA: [676, 14, 500, 49, 447],
+  0x1D7EB: [676, 21, 500, 28, 466]
 };
 
 MathJax.Callback.Queue(

+ 70 - 70
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Script/BoldItalic/Main.js

@@ -18,76 +18,76 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Script-bold-italic'] = {
-    directory: 'Script/BoldItalic',
-    family: 'STIXMathJax_Script',
-    weight: 'bold',
-    style: 'italic',
-    testString: '\u00A0\u210A\u210B\u2110\u2112\u211B\u212C\u212F\u2130\u2131\u2133\u2134\uD835\uDCD0\uD835\uDCD1\uD835\uDCD2',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x210A: [462, 224, 819, 27, 771],
-    0x210B: [699, 21, 1171, 65, 1154],
-    0x2110: [699, 21, 997, 47, 977],
-    0x2112: [699, 21, 1036, 40, 1015],
-    0x211B: [699, 21, 1048, 55, 973],
-    0x212C: [699, 21, 1060, 55, 985],
-    0x212F: [462, 14, 726, 35, 648],
-    0x2130: [699, 21, 826, 95, 791],
-    0x2131: [699, 21, 1042, 65, 1025],
-    0x2133: [699, 21, 1300, 60, 1245],
-    0x2134: [462, 14, 848, 35, 780],
-    0x1D4D0: [699, 21, 984, 50, 955],
-    0x1D4D1: [699, 21, 1060, 55, 985],
-    0x1D4D2: [699, 21, 912, 60, 877],
-    0x1D4D3: [699, 21, 991, 60, 906],
-    0x1D4D4: [699, 21, 826, 95, 791],
-    0x1D4D5: [699, 21, 1042, 65, 1025],
-    0x1D4D6: [699, 21, 834, 82, 799],
-    0x1D4D7: [699, 21, 1171, 65, 1154],
-    0x1D4D8: [699, 21, 997, 47, 977],
-    0x1D4D9: [699, 224, 906, 19, 886],
-    0x1D4DA: [699, 21, 1154, 45, 1130],
-    0x1D4DB: [699, 21, 1036, 40, 1015],
-    0x1D4DC: [699, 21, 1300, 60, 1245],
-    0x1D4DD: [699, 21, 1095, 60, 1078],
-    0x1D4DE: [699, 21, 809, 72, 749],
-    0x1D4DF: [699, 21, 1025, 55, 994],
-    0x1D4E0: [699, 52, 809, 72, 749],
-    0x1D4E1: [699, 21, 1048, 55, 973],
-    0x1D4E2: [699, 21, 816, 81, 781],
-    0x1D4E3: [699, 21, 1030, 65, 1025],
-    0x1D4E4: [699, 21, 964, 60, 904],
-    0x1D4E5: [699, 21, 1040, 60, 1024],
-    0x1D4E6: [699, 21, 1320, 60, 1306],
-    0x1D4E7: [699, 21, 1033, 64, 1010],
-    0x1D4E8: [699, 224, 989, 60, 963],
-    0x1D4E9: [699, 21, 996, 50, 976],
-    0x1D4EA: [462, 14, 942, 35, 865],
-    0x1D4EB: [699, 14, 646, 60, 624],
-    0x1D4EC: [462, 14, 764, 35, 683],
-    0x1D4ED: [699, 14, 949, 28, 912],
-    0x1D4EE: [462, 14, 726, 35, 648],
-    0x1D4EF: [699, 205, 768, 25, 749],
-    0x1D4F0: [462, 224, 819, 27, 771],
-    0x1D4F1: [699, 14, 838, 55, 758],
-    0x1D4F2: [698, 14, 558, 40, 534],
-    0x1D4F3: [698, 224, 840, 41, 823],
-    0x1D4F4: [699, 14, 810, 55, 730],
-    0x1D4F5: [699, 14, 650, 43, 632],
-    0x1D4F6: [462, 14, 1137, 45, 1057],
-    0x1D4F7: [462, 14, 851, 45, 771],
-    0x1D4F8: [462, 14, 848, 35, 780],
-    0x1D4F9: [462, 205, 885, 25, 770],
-    0x1D4FA: [462, 205, 913, 35, 833],
-    0x1D4FB: [462, 0, 677, 40, 648],
-    0x1D4FC: [557, 14, 562, 51, 449],
-    0x1D4FD: [669, 14, 618, 47, 612],
-    0x1D4FE: [449, 14, 842, 31, 762],
-    0x1D4FF: [458, 14, 732, 40, 670],
-    0x1D500: [458, 14, 1012, 40, 950],
-    0x1D501: [462, 14, 820, 63, 740],
-    0x1D502: [449, 224, 784, 40, 711],
-    0x1D503: [493, 14, 782, 61, 702]
+  directory: 'Script/BoldItalic',
+  family: 'STIXMathJax_Script',
+  weight: 'bold',
+  style: 'italic',
+  testString: '\u00A0\u210A\u210B\u2110\u2112\u211B\u212C\u212F\u2130\u2131\u2133\u2134\uD835\uDCD0\uD835\uDCD1\uD835\uDCD2',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x210A: [462, 224, 819, 27, 771],
+  0x210B: [699, 21, 1171, 65, 1154],
+  0x2110: [699, 21, 997, 47, 977],
+  0x2112: [699, 21, 1036, 40, 1015],
+  0x211B: [699, 21, 1048, 55, 973],
+  0x212C: [699, 21, 1060, 55, 985],
+  0x212F: [462, 14, 726, 35, 648],
+  0x2130: [699, 21, 826, 95, 791],
+  0x2131: [699, 21, 1042, 65, 1025],
+  0x2133: [699, 21, 1300, 60, 1245],
+  0x2134: [462, 14, 848, 35, 780],
+  0x1D4D0: [699, 21, 984, 50, 955],
+  0x1D4D1: [699, 21, 1060, 55, 985],
+  0x1D4D2: [699, 21, 912, 60, 877],
+  0x1D4D3: [699, 21, 991, 60, 906],
+  0x1D4D4: [699, 21, 826, 95, 791],
+  0x1D4D5: [699, 21, 1042, 65, 1025],
+  0x1D4D6: [699, 21, 834, 82, 799],
+  0x1D4D7: [699, 21, 1171, 65, 1154],
+  0x1D4D8: [699, 21, 997, 47, 977],
+  0x1D4D9: [699, 224, 906, 19, 886],
+  0x1D4DA: [699, 21, 1154, 45, 1130],
+  0x1D4DB: [699, 21, 1036, 40, 1015],
+  0x1D4DC: [699, 21, 1300, 60, 1245],
+  0x1D4DD: [699, 21, 1095, 60, 1078],
+  0x1D4DE: [699, 21, 809, 72, 749],
+  0x1D4DF: [699, 21, 1025, 55, 994],
+  0x1D4E0: [699, 52, 809, 72, 749],
+  0x1D4E1: [699, 21, 1048, 55, 973],
+  0x1D4E2: [699, 21, 816, 81, 781],
+  0x1D4E3: [699, 21, 1030, 65, 1025],
+  0x1D4E4: [699, 21, 964, 60, 904],
+  0x1D4E5: [699, 21, 1040, 60, 1024],
+  0x1D4E6: [699, 21, 1320, 60, 1306],
+  0x1D4E7: [699, 21, 1033, 64, 1010],
+  0x1D4E8: [699, 224, 989, 60, 963],
+  0x1D4E9: [699, 21, 996, 50, 976],
+  0x1D4EA: [462, 14, 942, 35, 865],
+  0x1D4EB: [699, 14, 646, 60, 624],
+  0x1D4EC: [462, 14, 764, 35, 683],
+  0x1D4ED: [699, 14, 949, 28, 912],
+  0x1D4EE: [462, 14, 726, 35, 648],
+  0x1D4EF: [699, 205, 768, 25, 749],
+  0x1D4F0: [462, 224, 819, 27, 771],
+  0x1D4F1: [699, 14, 838, 55, 758],
+  0x1D4F2: [698, 14, 558, 40, 534],
+  0x1D4F3: [698, 224, 840, 41, 823],
+  0x1D4F4: [699, 14, 810, 55, 730],
+  0x1D4F5: [699, 14, 650, 43, 632],
+  0x1D4F6: [462, 14, 1137, 45, 1057],
+  0x1D4F7: [462, 14, 851, 45, 771],
+  0x1D4F8: [462, 14, 848, 35, 780],
+  0x1D4F9: [462, 205, 885, 25, 770],
+  0x1D4FA: [462, 205, 913, 35, 833],
+  0x1D4FB: [462, 0, 677, 40, 648],
+  0x1D4FC: [557, 14, 562, 51, 449],
+  0x1D4FD: [669, 14, 618, 47, 612],
+  0x1D4FE: [449, 14, 842, 31, 762],
+  0x1D4FF: [458, 14, 732, 40, 670],
+  0x1D500: [458, 14, 1012, 40, 950],
+  0x1D501: [462, 14, 820, 63, 740],
+  0x1D502: [449, 224, 784, 40, 711],
+  0x1D503: [493, 14, 782, 61, 702]
 };
 
 MathJax.Callback.Queue(

+ 63 - 63
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Size2/Regular/Main.js

@@ -18,69 +18,69 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Size2'] = {
-    directory: 'Size2/Regular',
-    family: 'STIXMathJax_Size2',
-    testString: '\u00A0\u02C6\u02C7\u02DC\u02F7\u0302\u0303\u0305\u030C\u0330\u0332\u0338\u203E\u20D0\u20D1',
-    0x20: [0, 0, 250, 0, 0],
-    0x28: [1566, 279, 589, 139, 503],
-    0x29: [1566, 279, 608, 114, 478],
-    0x2F: [1566, 279, 806, 25, 781],
-    0x5B: [1566, 279, 459, 190, 422],
-    0x5C: [1566, 279, 806, 25, 781],
-    0x5D: [1566, 279, 459, 37, 269],
-    0x7B: [1566, 279, 717, 124, 531],
-    0x7D: [1566, 279, 717, 186, 593],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2C6: [777, -564, 979, 0, 979],
-    0x2C7: [777, -564, 979, 0, 979],
-    0x2DC: [760, -608, 977, -2, 977],
-    0x2F7: [-117, 269, 977, -2, 977],
-    0x302: [777, -564, 979, 0, 979],
-    0x303: [760, -608, 979, 0, 979],
-    0x305: [820, -770, 1500, 0, 1500],
-    0x30C: [777, -564, 979, 0, 979],
-    0x330: [-117, 269, 979, 0, 979],
-    0x332: [-127, 177, 1500, 0, 1500],
-    0x338: [662, 0, 0, -720, -6],
-    0x203E: [820, -770, 1500, 0, 1500],
-    0x20D0: [749, -584, 1307, 0, 1308],
-    0x20D1: [749, -584, 1308, 0, 1308],
-    0x20D6: [735, -482, 1308, 0, 1308],
-    0x20D7: [735, -482, 1308, 0, 1308],
-    0x20EC: [-123, 288, 1308, 0, 1308],
-    0x20ED: [-123, 288, 1308, 0, 1308],
-    0x20EE: [-26, 279, 1308, 0, 1308],
-    0x20EF: [-26, 279, 1308, 0, 1308],
-    0x221A: [2056, 404, 1124, 110, 1157],
-    0x221B: [2056, 404, 1124, 110, 1157],
-    0x221C: [2056, 404, 1124, 110, 1157],
-    0x2308: [1566, 279, 524, 190, 479],
-    0x2309: [1566, 279, 526, 47, 336],
-    0x230A: [1566, 279, 524, 190, 479],
-    0x230B: [1566, 279, 526, 47, 336],
-    0x23B4: [766, -544, 1606, 74, 1532],
-    0x23B5: [139, 83, 1606, 74, 1532],
-    0x23D0: [690, 189, 266, 100, 166],
-    0x23DC: [66, 147, 1460, 0, 1460],
-    0x23DD: [785, -572, 1460, 0, 1460],
-    0x23DE: [143, 81, 1460, 0, 1460],
-    0x23DF: [797, -573, 1460, 0, 1460],
-    0x23E0: [66, 212, 1886, 0, 1886],
-    0x23E1: [842, -564, 1886, 0, 1886],
-    0x2772: [1566, 279, 688, 230, 651],
-    0x2773: [1566, 279, 688, 37, 458],
-    0x27E6: [1566, 279, 555, 190, 517],
-    0x27E7: [1566, 279, 555, 38, 365],
-    0x27E8: [1566, 279, 622, 95, 531],
-    0x27E9: [1566, 279, 622, 91, 527],
-    0x27EA: [1566, 279, 901, 93, 793],
-    0x27EB: [1566, 279, 901, 108, 808],
-    0x2983: [1566, 279, 827, 122, 692],
-    0x2984: [1565, 280, 827, 135, 705],
-    0x2985: [1566, 282, 793, 155, 693],
-    0x2986: [1566, 282, 793, 100, 638],
-    0x2AFC: [1586, 289, 906, 133, 773],
-    0x2AFF: [1586, 289, 636, 133, 503]
+  directory: 'Size2/Regular',
+  family: 'STIXMathJax_Size2',
+  testString: '\u00A0\u02C6\u02C7\u02DC\u02F7\u0302\u0303\u0305\u030C\u0330\u0332\u0338\u203E\u20D0\u20D1',
+  0x20: [0, 0, 250, 0, 0],
+  0x28: [1566, 279, 589, 139, 503],
+  0x29: [1566, 279, 608, 114, 478],
+  0x2F: [1566, 279, 806, 25, 781],
+  0x5B: [1566, 279, 459, 190, 422],
+  0x5C: [1566, 279, 806, 25, 781],
+  0x5D: [1566, 279, 459, 37, 269],
+  0x7B: [1566, 279, 717, 124, 531],
+  0x7D: [1566, 279, 717, 186, 593],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2C6: [777, -564, 979, 0, 979],
+  0x2C7: [777, -564, 979, 0, 979],
+  0x2DC: [760, -608, 977, -2, 977],
+  0x2F7: [-117, 269, 977, -2, 977],
+  0x302: [777, -564, 979, 0, 979],
+  0x303: [760, -608, 979, 0, 979],
+  0x305: [820, -770, 1500, 0, 1500],
+  0x30C: [777, -564, 979, 0, 979],
+  0x330: [-117, 269, 979, 0, 979],
+  0x332: [-127, 177, 1500, 0, 1500],
+  0x338: [662, 0, 0, -720, -6],
+  0x203E: [820, -770, 1500, 0, 1500],
+  0x20D0: [749, -584, 1307, 0, 1308],
+  0x20D1: [749, -584, 1308, 0, 1308],
+  0x20D6: [735, -482, 1308, 0, 1308],
+  0x20D7: [735, -482, 1308, 0, 1308],
+  0x20EC: [-123, 288, 1308, 0, 1308],
+  0x20ED: [-123, 288, 1308, 0, 1308],
+  0x20EE: [-26, 279, 1308, 0, 1308],
+  0x20EF: [-26, 279, 1308, 0, 1308],
+  0x221A: [2056, 404, 1124, 110, 1157],
+  0x221B: [2056, 404, 1124, 110, 1157],
+  0x221C: [2056, 404, 1124, 110, 1157],
+  0x2308: [1566, 279, 524, 190, 479],
+  0x2309: [1566, 279, 526, 47, 336],
+  0x230A: [1566, 279, 524, 190, 479],
+  0x230B: [1566, 279, 526, 47, 336],
+  0x23B4: [766, -544, 1606, 74, 1532],
+  0x23B5: [139, 83, 1606, 74, 1532],
+  0x23D0: [690, 189, 266, 100, 166],
+  0x23DC: [66, 147, 1460, 0, 1460],
+  0x23DD: [785, -572, 1460, 0, 1460],
+  0x23DE: [143, 81, 1460, 0, 1460],
+  0x23DF: [797, -573, 1460, 0, 1460],
+  0x23E0: [66, 212, 1886, 0, 1886],
+  0x23E1: [842, -564, 1886, 0, 1886],
+  0x2772: [1566, 279, 688, 230, 651],
+  0x2773: [1566, 279, 688, 37, 458],
+  0x27E6: [1566, 279, 555, 190, 517],
+  0x27E7: [1566, 279, 555, 38, 365],
+  0x27E8: [1566, 279, 622, 95, 531],
+  0x27E9: [1566, 279, 622, 91, 527],
+  0x27EA: [1566, 279, 901, 93, 793],
+  0x27EB: [1566, 279, 901, 108, 808],
+  0x2983: [1566, 279, 827, 122, 692],
+  0x2984: [1565, 280, 827, 135, 705],
+  0x2985: [1566, 282, 793, 155, 693],
+  0x2986: [1566, 282, 793, 100, 638],
+  0x2AFC: [1586, 289, 906, 133, 773],
+  0x2AFF: [1586, 289, 636, 133, 503]
 };
 
 MathJax.Callback.Queue(

+ 96 - 96
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Size5/Regular/Main.js

@@ -18,102 +18,102 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Size5'] = {
-    directory: 'Size5/Regular',
-    family: 'STIXMathJax_Size5',
-    testString: '\u00A0\u02C6\u02C7\u02DC\u02F7\u0302\u0303\u0305\u030C\u0330\u0332\u0338\u203E\u20D0\u20D1',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0x2C6: [816, -572, 2328, 0, 2328],
-    0x2C7: [816, -572, 2328, 0, 2328],
-    0x2DC: [780, -617, 2328, 0, 2328],
-    0x2F7: [-117, 280, 2328, 0, 2328],
-    0x302: [816, -572, 2328, 0, 2328],
-    0x303: [780, -617, 2328, 0, 2328],
-    0x305: [820, -770, 3000, 0, 3000],
-    0x30C: [816, -572, 2328, 0, 2328],
-    0x330: [-117, 280, 2328, 0, 2328],
-    0x332: [-127, 177, 3000, 0, 3000],
-    0x338: [960, 454, 0, -561, -123],
-    0x203E: [820, -770, 3000, 0, 3000],
-    0x20D0: [749, -584, 3000, 0, 3000],
-    0x20D1: [749, -584, 3000, 0, 3000],
-    0x20D6: [735, -482, 3000, 0, 3000],
-    0x20D7: [735, -482, 3000, 0, 3000],
-    0x20EC: [-123, 288, 3000, 0, 3000],
-    0x20ED: [-123, 288, 3000, 0, 3000],
-    0x20EE: [-26, 279, 3000, 0, 3000],
-    0x20EF: [-26, 279, 3000, 0, 3000],
-    0x23B4: [766, -544, 3237, 90, 3147],
-    0x23B5: [139, 83, 3237, 90, 3147],
-    0x23DC: [80, 189, 3237, 0, 3237],
-    0x23DD: [842, -573, 3237, 0, 3237],
-    0x23DE: [181, 90, 3238, 0, 3238],
-    0x23DF: [844, -573, 3238, 0, 3238],
-    0x23E0: [66, 212, 3164, 0, 3164],
-    0x23E1: [842, -564, 3164, 0, 3164],
-    0xE000: [705, 300, 450, 50, 400],
-    0xE001: [705, 305, 450, 50, 174],
-    0xE002: [700, 305, 450, 50, 400],
-    0xE003: [705, 300, 450, 50, 400],
-    0xE004: [705, 305, 450, 276, 400],
-    0xE005: [700, 305, 450, 50, 400],
-    0xE006: [687, 318, 450, 50, 415],
-    0xE007: [687, 323, 450, 50, 150],
-    0xE008: [682, 323, 450, 50, 415],
-    0xE009: [687, 318, 450, 35, 400],
-    0xE00A: [687, 323, 450, 300, 400],
-    0xE00B: [682, 323, 450, 35, 400],
-    0xE00C: [705, 300, 640, 260, 600],
-    0xE00D: [705, 305, 640, 260, 380],
-    0xE00E: [705, 305, 640, 40, 380],
-    0xE00F: [700, 305, 640, 260, 600],
-    0xE010: [705, 300, 640, 40, 380],
-    0xE011: [705, 305, 640, 260, 600],
-    0xE012: [700, 305, 640, 40, 380],
-    0xE013: [820, -770, 1000, 0, 1000],
-    0xE014: [-127, 177, 1000, 0, 1000],
-    0xE015: [749, -584, 870, 0, 871],
-    0xE016: [634, -584, 480, -10, 490],
-    0xE017: [749, -584, 871, 0, 871],
-    0xE018: [735, -482, 871, 0, 872],
-    0xE019: [736, -482, 871, 0, 872],
-    0xE01A: [-127, 177, 480, -10, 490],
-    0xE01B: [-123, 288, 871, 0, 871],
-    0xE01C: [-123, 288, 871, 0, 871],
-    0xE01D: [-26, 279, 871, 0, 872],
-    0xE01E: [-25, 279, 871, 0, 872],
-    0xE01F: [386, -120, 315, 0, 315],
-    0xE020: [405, -101, 686, 210, 476],
-    0xE021: [486, -20, 315, 0, 315],
-    0xE022: [1855, 0, 1184, 112, 895],
-    0xE023: [635, 0, 1184, 829, 895],
-    0xE024: [626, 0, 1184, 829, 1211],
-    0xE025: [2140, 0, 1184, 112, 895],
-    0xE026: [2135, 0, 1184, 112, 895],
-    0xE027: [955, -554, 1820, -25, 1830],
-    0xE028: [955, -820, 633, -1, 634],
-    0xE029: [955, -554, 1820, -10, 1845],
-    0xE02A: [140, 261, 1820, -25, 1830],
-    0xE02B: [-126, 261, 633, -1, 634],
-    0xE02C: [140, 261, 1820, -10, 1845],
-    0xE02D: [955, -342, 1820, -25, 1830],
-    0xE02E: [955, -342, 1820, -10, 1845],
-    0xE02F: [352, 261, 1820, -25, 1830],
-    0xE030: [352, 261, 1820, -10, 1845],
-    0xE031: [955, -512, 897, -25, 908],
-    0xE032: [1218, -820, 1844, -10, 1854],
-    0xE033: [955, -512, 897, -11, 922],
-    0xE034: [182, 261, 897, -25, 908],
-    0xE035: [-126, 524, 1844, -10, 1854],
-    0xE036: [182, 261, 897, -11, 922],
-    0xE037: [405, -101, 1033, 229, 805],
-    0xE038: [405, -101, 926, 230, 696],
-    0xE039: [541, 35, 315, 0, 315],
-    0xE03A: [700, 301, 600, 35, 566],
-    0xE03B: [700, 301, 600, 35, 566],
-    0xE03C: [1066, 79, 688, 294, 574],
-    0xE03D: [610, 25, 688, 294, 394],
-    0xE03E: [1086, 59, 688, 115, 394]
+  directory: 'Size5/Regular',
+  family: 'STIXMathJax_Size5',
+  testString: '\u00A0\u02C6\u02C7\u02DC\u02F7\u0302\u0303\u0305\u030C\u0330\u0332\u0338\u203E\u20D0\u20D1',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0x2C6: [816, -572, 2328, 0, 2328],
+  0x2C7: [816, -572, 2328, 0, 2328],
+  0x2DC: [780, -617, 2328, 0, 2328],
+  0x2F7: [-117, 280, 2328, 0, 2328],
+  0x302: [816, -572, 2328, 0, 2328],
+  0x303: [780, -617, 2328, 0, 2328],
+  0x305: [820, -770, 3000, 0, 3000],
+  0x30C: [816, -572, 2328, 0, 2328],
+  0x330: [-117, 280, 2328, 0, 2328],
+  0x332: [-127, 177, 3000, 0, 3000],
+  0x338: [960, 454, 0, -561, -123],
+  0x203E: [820, -770, 3000, 0, 3000],
+  0x20D0: [749, -584, 3000, 0, 3000],
+  0x20D1: [749, -584, 3000, 0, 3000],
+  0x20D6: [735, -482, 3000, 0, 3000],
+  0x20D7: [735, -482, 3000, 0, 3000],
+  0x20EC: [-123, 288, 3000, 0, 3000],
+  0x20ED: [-123, 288, 3000, 0, 3000],
+  0x20EE: [-26, 279, 3000, 0, 3000],
+  0x20EF: [-26, 279, 3000, 0, 3000],
+  0x23B4: [766, -544, 3237, 90, 3147],
+  0x23B5: [139, 83, 3237, 90, 3147],
+  0x23DC: [80, 189, 3237, 0, 3237],
+  0x23DD: [842, -573, 3237, 0, 3237],
+  0x23DE: [181, 90, 3238, 0, 3238],
+  0x23DF: [844, -573, 3238, 0, 3238],
+  0x23E0: [66, 212, 3164, 0, 3164],
+  0x23E1: [842, -564, 3164, 0, 3164],
+  0xE000: [705, 300, 450, 50, 400],
+  0xE001: [705, 305, 450, 50, 174],
+  0xE002: [700, 305, 450, 50, 400],
+  0xE003: [705, 300, 450, 50, 400],
+  0xE004: [705, 305, 450, 276, 400],
+  0xE005: [700, 305, 450, 50, 400],
+  0xE006: [687, 318, 450, 50, 415],
+  0xE007: [687, 323, 450, 50, 150],
+  0xE008: [682, 323, 450, 50, 415],
+  0xE009: [687, 318, 450, 35, 400],
+  0xE00A: [687, 323, 450, 300, 400],
+  0xE00B: [682, 323, 450, 35, 400],
+  0xE00C: [705, 300, 640, 260, 600],
+  0xE00D: [705, 305, 640, 260, 380],
+  0xE00E: [705, 305, 640, 40, 380],
+  0xE00F: [700, 305, 640, 260, 600],
+  0xE010: [705, 300, 640, 40, 380],
+  0xE011: [705, 305, 640, 260, 600],
+  0xE012: [700, 305, 640, 40, 380],
+  0xE013: [820, -770, 1000, 0, 1000],
+  0xE014: [-127, 177, 1000, 0, 1000],
+  0xE015: [749, -584, 870, 0, 871],
+  0xE016: [634, -584, 480, -10, 490],
+  0xE017: [749, -584, 871, 0, 871],
+  0xE018: [735, -482, 871, 0, 872],
+  0xE019: [736, -482, 871, 0, 872],
+  0xE01A: [-127, 177, 480, -10, 490],
+  0xE01B: [-123, 288, 871, 0, 871],
+  0xE01C: [-123, 288, 871, 0, 871],
+  0xE01D: [-26, 279, 871, 0, 872],
+  0xE01E: [-25, 279, 871, 0, 872],
+  0xE01F: [386, -120, 315, 0, 315],
+  0xE020: [405, -101, 686, 210, 476],
+  0xE021: [486, -20, 315, 0, 315],
+  0xE022: [1855, 0, 1184, 112, 895],
+  0xE023: [635, 0, 1184, 829, 895],
+  0xE024: [626, 0, 1184, 829, 1211],
+  0xE025: [2140, 0, 1184, 112, 895],
+  0xE026: [2135, 0, 1184, 112, 895],
+  0xE027: [955, -554, 1820, -25, 1830],
+  0xE028: [955, -820, 633, -1, 634],
+  0xE029: [955, -554, 1820, -10, 1845],
+  0xE02A: [140, 261, 1820, -25, 1830],
+  0xE02B: [-126, 261, 633, -1, 634],
+  0xE02C: [140, 261, 1820, -10, 1845],
+  0xE02D: [955, -342, 1820, -25, 1830],
+  0xE02E: [955, -342, 1820, -10, 1845],
+  0xE02F: [352, 261, 1820, -25, 1830],
+  0xE030: [352, 261, 1820, -10, 1845],
+  0xE031: [955, -512, 897, -25, 908],
+  0xE032: [1218, -820, 1844, -10, 1854],
+  0xE033: [955, -512, 897, -11, 922],
+  0xE034: [182, 261, 897, -25, 908],
+  0xE035: [-126, 524, 1844, -10, 1854],
+  0xE036: [182, 261, 897, -11, 922],
+  0xE037: [405, -101, 1033, 229, 805],
+  0xE038: [405, -101, 926, 230, 696],
+  0xE039: [541, 35, 315, 0, 315],
+  0xE03A: [700, 301, 600, 35, 566],
+  0xE03B: [700, 301, 600, 35, 566],
+  0xE03C: [1066, 79, 688, 294, 574],
+  0xE03D: [610, 25, 688, 294, 394],
+  0xE03E: [1086, 59, 688, 115, 394]
 };
 
 MathJax.Callback.Queue(

+ 42 - 42
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX-Web/Variants/Italic/Main.js

@@ -18,48 +18,48 @@
  */
 
 MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXMathJax_Variants-italic'] = {
-    directory: 'Variants/Italic',
-    family: 'STIXMathJax_Variants',
-    style: 'italic',
-    testString: '\u00A0\uE22D\uE22E\uE22F\uE230\uE231\uE232\uE233\uE234\uE235\uE236\uE237\uE238\uE239\uE23A',
-    0x20: [0, 0, 250, 0, 0],
-    0xA0: [0, 0, 250, 0, 0],
-    0xE22D: [677, 45, 852, 43, 812],
-    0xE22E: [670, 3, 724, 35, 709],
-    0xE22F: [671, 11, 569, 43, 586],
-    0xE230: [662, 0, 801, 34, 788],
-    0xE231: [670, 4, 553, 40, 599],
-    0xE232: [662, 0, 652, 43, 710],
-    0xE233: [671, 131, 580, 40, 580],
-    0xE234: [664, 21, 831, 41, 845],
-    0xE235: [662, 0, 575, 38, 591],
-    0xE236: [662, 120, 632, 31, 785],
-    0xE237: [670, 13, 809, 30, 783],
-    0xE238: [670, 7, 693, 30, 653],
-    0xE239: [671, 45, 1166, 40, 1128],
-    0xE23A: [795, 37, 957, 40, 1064],
-    0xE23B: [669, 10, 737, 38, 729],
-    0xE23C: [662, 0, 667, 38, 709],
-    0xE23D: [671, 131, 744, 43, 704],
-    0xE23E: [662, 3, 854, 38, 816],
-    0xE23F: [671, 0, 634, 38, 671],
-    0xE240: [721, 0, 509, 41, 730],
-    0xE241: [672, 13, 817, 37, 950],
-    0xE242: [677, 33, 638, 33, 680],
-    0xE243: [685, 32, 956, 33, 998],
-    0xE244: [672, 13, 692, 38, 739],
-    0xE245: [675, 131, 719, 34, 763],
-    0xE246: [664, 94, 752, 38, 714],
-    0xE262: [460, 11, 570, 56, 514],
-    0xE266: [460, 0, 570, 100, 415],
-    0xE26A: [460, 0, 570, 59, 487],
-    0xE26E: [461, 217, 570, 40, 513],
-    0xE272: [450, 217, 570, 17, 542],
-    0xE276: [450, 218, 570, 23, 536],
-    0xE27A: [668, 10, 570, 28, 553],
-    0xE27E: [450, 217, 570, 40, 543],
-    0xE282: [668, 10, 570, 50, 519],
-    0xE286: [460, 217, 570, 23, 526]
+  directory: 'Variants/Italic',
+  family: 'STIXMathJax_Variants',
+  style: 'italic',
+  testString: '\u00A0\uE22D\uE22E\uE22F\uE230\uE231\uE232\uE233\uE234\uE235\uE236\uE237\uE238\uE239\uE23A',
+  0x20: [0, 0, 250, 0, 0],
+  0xA0: [0, 0, 250, 0, 0],
+  0xE22D: [677, 45, 852, 43, 812],
+  0xE22E: [670, 3, 724, 35, 709],
+  0xE22F: [671, 11, 569, 43, 586],
+  0xE230: [662, 0, 801, 34, 788],
+  0xE231: [670, 4, 553, 40, 599],
+  0xE232: [662, 0, 652, 43, 710],
+  0xE233: [671, 131, 580, 40, 580],
+  0xE234: [664, 21, 831, 41, 845],
+  0xE235: [662, 0, 575, 38, 591],
+  0xE236: [662, 120, 632, 31, 785],
+  0xE237: [670, 13, 809, 30, 783],
+  0xE238: [670, 7, 693, 30, 653],
+  0xE239: [671, 45, 1166, 40, 1128],
+  0xE23A: [795, 37, 957, 40, 1064],
+  0xE23B: [669, 10, 737, 38, 729],
+  0xE23C: [662, 0, 667, 38, 709],
+  0xE23D: [671, 131, 744, 43, 704],
+  0xE23E: [662, 3, 854, 38, 816],
+  0xE23F: [671, 0, 634, 38, 671],
+  0xE240: [721, 0, 509, 41, 730],
+  0xE241: [672, 13, 817, 37, 950],
+  0xE242: [677, 33, 638, 33, 680],
+  0xE243: [685, 32, 956, 33, 998],
+  0xE244: [672, 13, 692, 38, 739],
+  0xE245: [675, 131, 719, 34, 763],
+  0xE246: [664, 94, 752, 38, 714],
+  0xE262: [460, 11, 570, 56, 514],
+  0xE266: [460, 0, 570, 100, 415],
+  0xE26A: [460, 0, 570, 59, 487],
+  0xE26E: [461, 217, 570, 40, 513],
+  0xE272: [450, 217, 570, 17, 542],
+  0xE276: [450, 218, 570, 23, 536],
+  0xE27A: [668, 10, 570, 28, 553],
+  0xE27E: [450, 217, 570, 40, 543],
+  0xE282: [668, 10, 570, 50, 519],
+  0xE286: [460, 217, 570, 23, 526]
 };
 
 MathJax.Callback.Queue(

+ 36 - 36
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js

@@ -19,42 +19,42 @@
  */
 
 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
+  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");

+ 79 - 79
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js

@@ -19,85 +19,85 @@
  */
 
 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
+  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");

+ 18 - 18
src/Chamilo/ThemeBundle/Resources/public/components/MathJax/unpacked/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js

@@ -19,24 +19,24 @@
  */
 
 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
+  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");

Some files were not shown because too many files changed in this diff