Commit graph

31 commits

Author SHA1 Message Date
physikerwelt cc0a214f56
Remove menclose in cancel rendering
Chrome and similar browsers do not support the
menclose tag. This change introduces a css polyfill
suggested in

https://github.com/w3c/mathml-core/issues/245#issuecomment-2410676518

but keeps the mencose rendering since FF does not
support the polyfill

https://bugzilla.mozilla.org/show_bug.cgi?id=1929800

Bug: T376829
Change-Id: I860e2f2f9bf9eef8eeba35b0999ec50175fdfc4b
2024-11-08 07:58:08 +01:00
physikerwelt dab5364b31
Use cell based table rendering
* Add hline search in matrix construction:
** This avoids a second scan later for the cost of some
   memory overhead
* Parse | in array column specification
* Add CSS based table lines as done by TMML, cf.
https://github.com/w3c/mathml-core/issues/245

Bug: T377167
Change-Id: I6e29b47b1731638ea9b06de3006ce2834e4f0c68
2024-10-29 05:48:34 +01:00
Moritz Schubotz (physikerwelt) fa9a689be6
Explain the significance of the img.tex css element
* PNG images are no longer displayed as of
  I595926027433182cc0396570bc3f1ce0cd2cafb3
* There is only one use of the img.tex css
  class, in combination with the source
  rendering mode.

Bug: T311620
Bug: T348938
Change-Id: Ife1f069546d5132a112643b68de2c17115981053
2023-10-29 15:21:19 +01:00
Ed Sanders 407bfc4f3b Limit overflow-x rule to block elements
The overflow-x rule has no effect on inline elements
anyway, as documented in T134281, and it confuses
logic in VE for computing highlights.

Bug: T167438
Change-Id: Ifb9e503386c2e0bb101265310767ca9d00ad0c44
2017-06-08 17:26:32 +01:00
Moritz Schubotz c877e564fc Add scrollbars to displaystyle formulae
Add mwe-math-element class attribute to the outermost element
holding mathematical expressions. Add a css rule that adds a
scrollbar to the element in case it's a div, which is the case
for displaystyle formulae.

Note, there will be no scroll bar if long formulae are not
explicitly marked up das displaystyle formulae.ƒ

Bug: T134281
Change-Id: Iba462601bb15f8667d1284282ba4f6c2020a02b9
2017-01-11 10:49:40 -08:00
Physikerwelt 797c8ddfc9 Revert "Add class mwe-math-element to math elements"
This reverts commit e674d7e73b.
That commit does not help to solve T134281.
It adds a CSS class name which is configurable
by a global variable to various math elements, which is confusing.

Change-Id: Iea5f231e0cea1221dc717b3409b36c0baf11bb24
2017-01-03 23:57:46 +00:00
tameeshb e674d7e73b Add class mwe-math-element to math elements
This is the fix for the bug that makes the whole page scroll when long 
equations are present in the wiki article.

Bug: T134281
Change-Id: I29f8df027384098cd0923bcfa23a914c8d887bba
2016-12-21 23:03:18 +00:00
Frédéric Wang be7be3becb Remove woff fonts
1) Because enabling native MathML now requires special configuration steps
  from the users, they can as well just check their math font setup. Hence we
  remove the Web font fallback.
2) We then can actually just remove ext.math.desktop.css since no specific
  style is necessary any more on desktop.
3) We also no longer need to add the Web font to the list of font-family on
  the <math> element. We actually just remove the whole font-family rule so
  that it is up to web engines developers & users to decide the best math font
  to use (e.g. via the "Fonts for mathematics" option in the font preference
  menu of Firefox).

Change-Id: I1818d288b0f28715a460e3163590e4d0374c42b4
2016-05-23 14:52:59 +00:00
Ed Sanders e2139b1657 build: Introduce stylelint to lint for css errors
Also update the rest of the CI world whilst we're at it.

Change-Id: Iaad2867797cccb2dd0df7758e448b553859fa62c
2016-05-19 19:16:00 +01:00
Frédéric Wang d808880450 Remove some obsolete CSS rules that are no longer needed in Firefox ESR 45:
- Use the non-math font Cambria first (fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=598900).
- Set line-height to normal (fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=1187673).

Change-Id: I19836285e08c2996d611a47361bbb5f9e9eb6921
2016-04-25 16:28:11 +00:00
Moritz Schubotz f071dbcf80 Remove Firefox specific CSS styles
The Firefox specific CSS changes require a special
setup of math fonts on the system. To avoid problems
OS dependent behavior, this browser specific modifications
are removed from the ext.math.css file.
There are a couple of places, where people can overwrite
their CSS rules individually.

For example from version 1.8 the plugin 
cf. de1eec2f0d
Note that this change will make things worse for users
that chose the MathML rendering option and managed to
configure their font setup right.

Change-Id: I5a376904a01a46634eea2160e02736df74cd0b5f
2016-04-24 20:32:28 +00:00
physikerwelt 6b30663057 Move Math specific CSS from core to extension
Bug: T110492
Change-Id: I3775980916de12aef23bac85c38a6f92253aa479
2015-11-03 18:49:19 +00:00
physikerwelt 2548c12e49 Use normal line-height for math elements
* With the current settings for example the distance between
  matrix rows is too large.

Bug: T106890
Change-Id: Iffa2534f7d39e9faf41ab11124c9b9ff571988d2
2015-11-03 19:30:23 +01:00
Siebrand Mazeland 9a07f022f9 Update mediawiki-codesniffer and parallel-lint settings
Fix remaining sniffer warnings and errors

Change-Id: I2a2ab037793df771be2abc4a4433726469f60ab0
2015-09-29 02:19:04 +02:00
Frédéric Wang e26d641b85 Make MathML mode work on mobile devices
- load ext.math.css on mobile devices
- move the @font-face rules for the Latin Modern WOFF fonts into a separate
  Desktop-only stylesheet.

Change-Id: Ifca3679185a4675bc31dff99a086fef740b9dab5
2014-10-20 22:40:53 +02:00
Frédéric Wang d4e928a486 SVG images should not be loaded when MathML is used
- Use span with a background-image instead of <img> for the fallback SVG so
  that they don't load in Gecko.
- Make the image fallback a span inline-block so that it can have a dimension.

Bug: 71929
Change-Id: I7f820cd5766db1fece452ebfc72915a55e42c82e
2014-10-12 23:00:55 +00:00
Frédéric Wang 3d0b787cbe Move vertical-align back to ext.math.css
This improves If8ee1cf6453257a0a2f6aa186d4007954a8e5d8e

Change-Id: I794b39a5d322a92d9f722ded790e213803448127
2014-10-12 18:22:06 +00:00
Frédéric Wang 296c79e070 Rename fallback-svg and fallback-png to fallback-image
- Merge fallback-svg and fallback-png into one fallback-image class.
- Move the vertical centering of PNG to MathTexvc and ext.math.js.
- Remove "img" from ext.math.css to reduce CSS specificity and make
  style easier to override by user stylesheets.
- Add a comment about the !important rules for centering in
  display mode.
- Only load ext.math.scripts in MathML mode.

Bug: 71955
Change-Id: If8ee1cf6453257a0a2f6aa186d4007954a8e5d8e
2014-10-12 13:42:01 +02:00
Frédéric Wang 74e4c3733d (Experimental) Fix centering of SVG image in display mode.
Change-Id: I7d5ec171c39b2eec563e074a4062b3e3682790f7
2014-10-11 21:21:46 +02:00
Frédéric Wang ee479e8e68 Fix centering of PNG image in display mode.
Revert the mistake made in https://gerrit.wikimedia.org/r/#/c/139120.

Change-Id: I31420ba3ab1e1b47c3e7307ac4a9aca2a6a8223f
2014-10-11 21:17:15 +02:00
Frédéric Wang 0ddd3afaea Cleanup after the removal of the PNG fallback
- remove the default "display: none" style on the SVG fallback
- remove the IE CSS hacks from ext.math.css
- add a client-side implementation of the PNG fallback

Bug: 71912
Change-Id: I91b11313aae25c4d05f8f2333d2f21537c9b8887
2014-10-11 13:21:59 +00:00
Frédéric Wang c3894c2c49 Display MathML when MathPlayer is installed
When MathPlayer is installed, we show the MathML instead of the SVG fallback.
This will in particular allow the sync highlighting feature of MathPlayer.
This also introduces a module ext.math.js that could be used to do some
Javascript postprocessing.

Bug: 71748
Change-Id: I438a20032c312d12321ca4c5686bcfd107656b37
2014-10-10 20:20:47 +02:00
Frédéric Wang 050564646d Modify the math font-family for native MathML
- add "Cambria" to workaround a bug on Firefox Windows.
- remove obsolete local fonts (MathJax and STIXGeneral).

Change-Id: I06e757b029b8778b88bc6e75e20929e0c945e364
2014-10-09 21:09:10 +02:00
Frédéric Wang 9f6257c329 Improve the way mathematical formulas are exposed to screen readers.
- Mark the png and svg fallback as aria-hidden="true".
- For browsers without good enough MathML visual rendering, 
  hide the <math> tag in a way that still makes it accessible to 
  screen readers.

Bug: 66537
Change-Id: I7ecf07a4da669d927e11265fd497a813786c6410
2014-10-05 17:48:41 +00:00
Frédéric Wang f590974c25 Add default display options
In some cases for example if the vagrant role
mobilefrontend is enabled the stylesheets are not
processed on mobile devices.
Without a default setting for the display attribute
all elements are displayed at the same time.

Change-Id: Ic0e95effaf0b413ec4c5878e1cfd5c269daa44c3
2014-07-25 17:19:30 +00:00
physikerwelt (Moritz Schubotz) bc519c22f4 Move @namespace css style to top
According to PHPStrom the @namespace css
element must be before normal css rules

Change-Id: I43eb10e976446bf846856f9c4f462a5be034062f
2014-07-25 13:00:13 -04:00
Frédéric Wang 382454a979 Update modules/ext.math.css
Currently, the PNG fallback is hidden in the MathML mode and the MathML & SVG
are respectively hidden and visible by default; the visibility of the
SVG/MathML output is only changed for Gecko. This does not work well for
IE < 9, which does not support SVG. This commit tries to improve the selection
of PNG, SVG or MathML according to the browser capatibility.

Change-Id: Ie9b0fdb66c51fbf6be98df092ce4de29fbba6068
2014-06-30 10:52:59 +00:00
Frédéric Wang a3015f6e79 Hide redundant output in the MathML mode.
In the MathML mode, the SVG is always visible and for Gecko the MathML
output is visible too. This commit modifies ext.math.css to hide redundant
output for a given mathematical formula.

Change-Id: I5d48ec4f2a40246567b201e82444e61d408cb3b5
2014-06-11 14:16:57 +02:00
Frédéric Wang 27aee07cb0 Fonts for native MathML
This sets the default font-family on <math> elements so that we try to use
OpenType MATH fonts that are likely to be installed or fallback to WOFF and
obsolete mathematical fonts.

Bug: 65532
Change-Id: Id4517a3ce5eab4acdf2264712ba132b972120042
2014-06-10 11:07:10 +00:00
physikerwelt c390f6479a Add getHtmlOutput method
Currently the method render always returns
a html string that can be a string that
represents the correct result or a rendered
error message.
This change adds a mechanism that allows
to fetch the HTML output.
In a followup commit the rendering function
is changed to return a boolean value rather
than the rendering result.
This will simplify the error handling and caching.

Change-Id: I80760493e391911c41eb69d75a93c6a34db8852e
2014-06-06 21:52:35 +02:00
Moritz Schubotz (Physikerwelt) c5b0b15d8f Fix MathJax centers equations
* Removes the MathJax heuristics that decides
  if equations are centered or left-aligned.
* Introduces the attribute display to specify
  if the math element is rendered in inline,
  display, or inline-displaystyle.
* add css rules for display / inline math images

Bug: 61051
Change-Id: Iba69903f781f0cb1606b8ddcffb90fb86c9b229b
2014-04-06 21:58:30 +00:00