mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
synced 2024-11-27 17:01:07 +00:00
Merge "Change appearance for \mathcal A in MathJax"
This commit is contained in:
commit
73e1f3d229
|
@ -10,14 +10,40 @@
|
||||||
mathjax: extensionAssetsPath + '/Math/modules/mathjax/es5'
|
mathjax: extensionAssetsPath + '/Math/modules/mathjax/es5'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// See https://phabricator.wikimedia.org/T375241 and the suggested startup function from
|
// helper function for https://phabricator.wikimedia.org/T375932
|
||||||
// https://github.com/mathjax/MathJax/issues/3030#issuecomment-1490520850
|
/* eslint-disable no-return-assign */
|
||||||
// This workaround will be included in the MathJax 4 release and no longer be
|
remapChars( v1, v2, base, map, font ) {
|
||||||
// required when we upgrade to MathJax 4.
|
const c1 = v1.chars;
|
||||||
|
const c2 = v2.chars;
|
||||||
|
for ( let i = 0; i < 26; i++ ) {
|
||||||
|
const data1 = c1[ map[ i ] || base + i ] || [];
|
||||||
|
const data2 = c2[ 0x41 + i ];
|
||||||
|
if ( data1.length === 0 ) {
|
||||||
|
c1[ base + i ] = data1;
|
||||||
|
}
|
||||||
|
[ 0, 1, 2 ].forEach( ( j ) => data1[ j ] = data2[ j ] );
|
||||||
|
data1[ 3 ] = Object.assign( {}, data2[ 3 ], { f: font, c: String.fromCharCode( 0x41 + i ) } );
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
startup: {
|
startup: {
|
||||||
ready() {
|
ready() {
|
||||||
const { Mml3 } = window.MathJax._.input.mathml.mml3.mml3;
|
|
||||||
window.MathJax.startup.defaultReady();
|
window.MathJax.startup.defaultReady();
|
||||||
|
// See https://phabricator.wikimedia.org/T375932 and the suggested fix from
|
||||||
|
// https://github.com/mathjax/MathJax/issues/3292#issuecomment-2383760829
|
||||||
|
// Makes rendering of \matcal look similar to the browsers MathML rendering
|
||||||
|
// and the old image rendering.
|
||||||
|
// Note that \mathsrc (which is unsupported by texvc) would map to the
|
||||||
|
// same unicode chars and thus should not be activated.
|
||||||
|
const variant = window.MathJax.startup.document.outputJax.font.variant;
|
||||||
|
const map = { 1: 0x212C, 4: 0x2130, 5: 0x2131, 7: 0x210B, 8: 0x2110, 11: 0x2112, 12: 0x2133, 17: 0x211B };
|
||||||
|
window.MathJax.config.remapChars( variant.normal, variant[ '-tex-calligraphic' ], 0x1D49C, map, 'C' );
|
||||||
|
window.MathJax.config.remapChars( variant.normal, variant[ '-tex-bold-calligraphic' ], 0x1D4D0, {}, 'CB' );
|
||||||
|
// See https://phabricator.wikimedia.org/T375241 and the suggested startup function from
|
||||||
|
// https://github.com/mathjax/MathJax/issues/3030#issuecomment-1490520850
|
||||||
|
// This workaround will be included in the MathJax 4 release and no longer be
|
||||||
|
// required when we upgrade to MathJax 4.
|
||||||
|
const { Mml3 } = window.MathJax._.input.mathml.mml3.mml3;
|
||||||
const mml3 = new Mml3( window.MathJax.startup.document );
|
const mml3 = new Mml3( window.MathJax.startup.document );
|
||||||
const adaptor = window.MathJax.startup.document.adaptor;
|
const adaptor = window.MathJax.startup.document.adaptor;
|
||||||
const processor = new XSLTProcessor();
|
const processor = new XSLTProcessor();
|
||||||
|
|
Loading…
Reference in a new issue