mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
synced 2024-12-01 02:36:47 +00:00
Fix parsing functions for MMLGenerationTexVCUtilTest
* for "oint","ointctrclockwise", "varointclockwise." * some ignored attributes added to similarity algorithm Bug: T327392 Change-Id: Id4cf720bb2d2c8aeb524c2303bdf0d4be3547404
This commit is contained in:
parent
5eba9b74a0
commit
dbf15a72c6
|
@ -129,7 +129,6 @@ class BaseMappings {
|
||||||
"movesupsub" => true ] ],
|
"movesupsub" => true ] ],
|
||||||
"bigodot" => [ '\u2A00', [ "texClass" => TexClass::OP,
|
"bigodot" => [ '\u2A00', [ "texClass" => TexClass::OP,
|
||||||
"movesupsub" => true ] ],
|
"movesupsub" => true ] ],
|
||||||
"oint" => [ '\u222E', [ "texClass" => TexClass::OP ] ],
|
|
||||||
"bigsqcup" => [ '\u2A06', [ "texClass" => TexClass::OP,
|
"bigsqcup" => [ '\u2A06', [ "texClass" => TexClass::OP,
|
||||||
"movesupsub" => true ] ],
|
"movesupsub" => true ] ],
|
||||||
"smallint" => [ '\u222B', [ "largeop" => false ] ],
|
"smallint" => [ '\u222B', [ "largeop" => false ] ],
|
||||||
|
@ -748,11 +747,11 @@ class BaseMappings {
|
||||||
// These are some mappings which are created customly for this
|
// These are some mappings which are created customly for this
|
||||||
private const CUSTOM = [
|
private const CUSTOM = [
|
||||||
"boldsymbol" => [ 'boldsymbol','' ], // see boldsymbolConfiguration.js
|
"boldsymbol" => [ 'boldsymbol','' ], // see boldsymbolConfiguration.js
|
||||||
|
"oint" => [ 'oint', '\u222E', [ "texClass" => TexClass::OP ] ],
|
||||||
"oiint" => [ 'oint', '\u222F', [ "texClass" => TexClass::OP ] ],
|
"oiint" => [ 'oint', '\u222F', [ "texClass" => TexClass::OP ] ],
|
||||||
"oiiint" => [ 'oint', '\u2230', [ "texClass" => TexClass::OP ] ],
|
"oiiint" => [ 'oint', '\u2230', [ "texClass" => TexClass::OP ] ],
|
||||||
"ointctrclockwise" => [ 'oint', '?', [ "texClass" => TexClass::OP ] ],
|
"ointctrclockwise" => [ 'oint', '\u2233', [ "texClass" => TexClass::OP ] ],
|
||||||
// \varointclockwise
|
"varointclockwise" => [ 'oint', '\u2232', [ "texClass" => TexClass::OP ] ],
|
||||||
"varointclockwise" => [ 'oint', '?', [ "texClass" => TexClass::OP ] ],
|
|
||||||
"P" => [ 'oint', '?', [ "texClass" => TexClass::OP ] ], // not correct but same mapping
|
"P" => [ 'oint', '?', [ "texClass" => TexClass::OP ] ], // not correct but same mapping
|
||||||
'textvisiblespace' => [ 'Insert', '\u2423' ], // From TextCompMappings.js (only makro it seems)
|
'textvisiblespace' => [ 'Insert', '\u2423' ], // From TextCompMappings.js (only makro it seems)
|
||||||
];
|
];
|
||||||
|
|
|
@ -63,7 +63,6 @@ class BaseMethods {
|
||||||
// Passing resolved function as param without first id
|
// Passing resolved function as param without first id
|
||||||
if ( count( $resFct ) > 1 ) {
|
if ( count( $resFct ) > 1 ) {
|
||||||
$shifted = array_shift( $resFct );
|
$shifted = array_shift( $resFct );
|
||||||
|
|
||||||
return BaseParsing::{$shifted}( $node, $passedArgs, $operatorContent, $input, ...$resFct );
|
return BaseParsing::{$shifted}( $node, $passedArgs, $operatorContent, $input, ...$resFct );
|
||||||
} else {
|
} else {
|
||||||
return BaseParsing::{$resFct[0]}( $node, $passedArgs, $operatorContent, $input );
|
return BaseParsing::{$resFct[0]}( $node, $passedArgs, $operatorContent, $input );
|
||||||
|
|
|
@ -3,6 +3,7 @@ namespace MediaWiki\Extension\Math\TexVC\MMLmappings;
|
||||||
|
|
||||||
use IntlChar;
|
use IntlChar;
|
||||||
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\Misc;
|
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\Misc;
|
||||||
|
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\Sizes;
|
||||||
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\Tag;
|
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\Tag;
|
||||||
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\TexClass;
|
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\TexClass;
|
||||||
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\Variants;
|
use MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants\Variants;
|
||||||
|
@ -404,7 +405,7 @@ class BaseParsing {
|
||||||
);
|
);
|
||||||
return $mmlRow->encapsulateRaw( $mmlRowInner->encapsulateRaw( $inner ) );
|
return $mmlRow->encapsulateRaw( $mmlRowInner->encapsulateRaw( $inner ) );
|
||||||
case "bmod":
|
case "bmod":
|
||||||
$mo = new MMLmo( "", [ "lspace" => "thickmathspace", "rspace" => "thickmathspace" ] );
|
$mo = new MMLmo( "", [ "lspace" => Sizes::THICKMATHSPACE, "rspace" => Sizes::THICKMATHSPACE ] );
|
||||||
$mmlRow = new MMLmrow( TexClass::ORD );
|
$mmlRow = new MMLmrow( TexClass::ORD );
|
||||||
$mstyle = new MMLmstyle( "", [ "scriptlevel" => "0" ] );
|
$mstyle = new MMLmstyle( "", [ "scriptlevel" => "0" ] );
|
||||||
$mspace = new MMLmspace( "", [ "width" => "0.167em" ] );
|
$mspace = new MMLmspace( "", [ "width" => "0.167em" ] );
|
||||||
|
@ -551,14 +552,26 @@ class BaseParsing {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function oint( $node, $passedArgs, $operatorContent,
|
public static function oint( $node, $passedArgs, $operatorContent,
|
||||||
$name, $uc = null, $smth1 = null, $smth2 = null ) {
|
$name, $uc = null, $attributes = null, $smth2 = null ) {
|
||||||
// This is a custom mapping not in js.
|
// This is a custom mapping not in js.
|
||||||
$mmlText = new MMLmtext( "", [ "mathcolor" => "red" ] );
|
$mmlText = new MMLmtext( "", $attributes );
|
||||||
|
$mrow = new MMLmrow();
|
||||||
|
$mStyle = new MMLmstyle( "", [ "mathsize" => "2.07em" ] );
|
||||||
|
|
||||||
switch ( $name ) {
|
switch ( $name ) {
|
||||||
case "oiiint":
|
case "oint":
|
||||||
|
$mo = new MMLmo();
|
||||||
|
return $mrow->encapsulateRaw( $mStyle->encapsulateRaw(
|
||||||
|
$mo->encapsulateRaw( MMLutil::uc2xNotation( $uc ) ) ) );
|
||||||
case "oiint":
|
case "oiint":
|
||||||
|
case "oiiint":
|
||||||
case "ointctrclockwise":
|
case "ointctrclockwise":
|
||||||
case "varointclockwise":
|
case "varointclockwise":
|
||||||
|
$mSpace = new MMLmspace( "", [ "width" => Sizes::THINMATHSPACE ] );
|
||||||
|
return $mrow->encapsulateRaw( $mStyle->encapsulateRaw(
|
||||||
|
$mmlText->encapsulateRaw( MMLutil::uc2xNotation( $uc ) )
|
||||||
|
. $mSpace->getEmpty() ) );
|
||||||
|
|
||||||
case "P":
|
case "P":
|
||||||
return $mmlText->encapsulate( "\\" . $name );
|
return $mmlText->encapsulate( "\\" . $name );
|
||||||
default:
|
default:
|
||||||
|
|
19
src/TexVC/MMLmappings/TexConstants/Sizes.php
Normal file
19
src/TexVC/MMLmappings/TexConstants/Sizes.php
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
namespace MediaWiki\Extension\Math\TexVC\MMLmappings\TexConstants;
|
||||||
|
|
||||||
|
class Sizes {
|
||||||
|
public const VERYVERYTHINMATHSPACE = 1 / 18 . "em";
|
||||||
|
public const VERYTHINMATHSPACE = 2 / 18 . "em";
|
||||||
|
public const THINMATHSPACE = 3 / 18 . "em";
|
||||||
|
public const MEDIUMMATHSPACE = 4 / 18 . "em";
|
||||||
|
public const THICKMATHSPACE = 5 / 18 . "em";
|
||||||
|
public const VERYTHICKMATHSPACE = 6 / 18 . "em";
|
||||||
|
public const VERYVERYTHICKMATHSPACE = 7 / 18 . "em";
|
||||||
|
public const NEGATIVEVERYVERYTHINMATHSPACE = -1 / 18 . "em";
|
||||||
|
public const NEGATIVEVERYTHINMATHSPACE = -2 / 18 . "em";
|
||||||
|
public const NEGATIVETHINMATHSPACE = -3 / 18 . "em";
|
||||||
|
public const NEGATIVEMEDIUMMATHSPACE = -4 / 18 . "em";
|
||||||
|
public const NEGATIVETHICKMATHSPACE = -5 / 18 . "em";
|
||||||
|
public const NEGATIVEVERYTHICKMATHSPACE = -6 / 18 . "em";
|
||||||
|
public const NEGATIVEVERYVERYTHICKMATHSPACE = -7 / 18 . "em";
|
||||||
|
}
|
|
@ -39,7 +39,8 @@ class MMLComparator {
|
||||||
"math" => [ "alttext", "display" ],
|
"math" => [ "alttext", "display" ],
|
||||||
"mi" => [ "class", "data-mjx-variant", "mathvariant", "data-mjx-texclass", "data-mjx-alternate" ],
|
"mi" => [ "class", "data-mjx-variant", "mathvariant", "data-mjx-texclass", "data-mjx-alternate" ],
|
||||||
"mo" => [ "data-mjx-pseudoscript", "stretchy", "fence", "data-mjx-texclass", "texClass", "class",
|
"mo" => [ "data-mjx-pseudoscript", "stretchy", "fence", "data-mjx-texclass", "texClass", "class",
|
||||||
"data-mjx-alternate", "form", "accent" ]
|
"data-mjx-alternate", "form", "accent" ],
|
||||||
|
"mtext" => [ "texClass" ]
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue