Bug 1026871 - math rendering using stix-fonts in Firefox is broken
Summary: math rendering using stix-fonts in Firefox is broken
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: stix-fonts
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nicolas Mailhot
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-05 14:59 UTC by Matej
Modified: 2014-03-03 23:22 UTC (History)
8 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2014-02-11 19:16:45 UTC


Attachments (Terms of Use)
Firefox rendeding of http://www.mathjax.org/demos/tex-samples/ with stix-fonts installed (78.17 KB, image/png)
2013-11-05 14:59 UTC, Matej
no flags Details
Firefox rendeding of http://www.mathjax.org/demos/tex-samples/ without stix-fonts installed (correct) (81.50 KB, image/png)
2013-11-05 15:05 UTC, Matej
no flags Details

Description Matej 2013-11-05 14:59:00 UTC
Created attachment 819813 [details]
Firefox rendeding of http://www.mathjax.org/demos/tex-samples/ with stix-fonts installed

Description of problem:




Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Matej 2013-11-05 15:05:25 UTC
Created attachment 819817 [details]
Firefox rendeding of http://www.mathjax.org/demos/tex-samples/ without stix-fonts installed (correct)

Comment 2 Matej 2013-11-05 15:07:52 UTC
(I accidentally sent incomplete bug report)

Description of problem:

Rendering of Mathjax math in Firefox is broken when stix-fonts are installed. Removal of the stix-fonts package solves the rendering issue.

Steps to Reproduce:
1. sudo yum install stix-fonts
2. open http://www.mathjax.org/demos/tex-samples/ in Firefox 

Actual results:
- see attached screenshot

Expected results:
- see attached screenshot

Additional info:

The bug was already discussed here: https://github.com/mathjax/MathJax/issues/501

Comment 3 Michael Kovarik 2014-02-10 23:29:49 UTC
Can reproduce this bug in F20.

According to the upstream bug discussion (thanks Matej), this is a Fedora-related issue. The problem is apparently the aliases stored at /etc/fonts/conf.d/61-stix.conf 

The aliases map STIX 1.1.0 font names to 1.0 names. Apparently, these are not at all compatible, with 1.1.0 not fully readable by browsers. I think we should do what Debian and Arch (and probably everyone else) does, and not include any of such aliases.

Comment 4 Nicolas Mailhot 2014-02-11 19:16:45 UTC
(In reply to Michael Kovarik from comment #3)

> The aliases map STIX 1.1.0 font names to 1.0 names. Apparently, these are
> not at all compatible, with 1.1.0 not fully readable by browsers.


I read this as "browsers do not want to update their code to work with Stix > 1.0"

Well, this is a browser bug. Upstream stix changed to take into account issues reported after their .0 release, it fixed actual correctness bugs and problems indentified in big apps such as office suites, it took it months of work and there's not way upstream is going back now 

I realise 1.1 is a it harder to process since 1.0 was a pile of raw elements that lend them well to all sorts of hardcoded macros. Those hacks are history and it's high time browsers adapted.

Comment 5 Elliott Sales de Andrade 2014-02-20 22:57:10 UTC
(In reply to Michael Kovarik from comment #3)
> The aliases map STIX 1.1.0 font names to 1.0 names. Apparently, these are
> not at all compatible, with 1.1.0 not fully readable by browsers. I think we
> should do what Debian and Arch (and probably everyone else) does, and not
> include any of such aliases.

This description is backwards. The aliases map 1.0 names to 1.1.0. According to MathJax upstream, the glyphs in 1.0 are not at all the same as 1.1, so this mapping is useless.

Comment 6 Elliott Sales de Andrade 2014-02-20 23:09:17 UTC
(In reply to Nicolas Mailhot from comment #4) 
> I read this as "browsers do not want to update their code to work with Stix
> > 1.0"

No, MathJax asks for 1.0, and fontconfig gives it 1.1, which is incompatible. If MathJax had asked for *any* version, then it would be a bug in MathJax, but it didn't.

> Well, this is a browser bug. Upstream stix changed to take into account issues reported after their .0 release, it fixed actual correctness bugs and problems indentified in big apps such as office suites, it took it months of work and there's not way upstream is going back now

Upstream does not ship these aliases. If you look at the release notes, you see that several glyphs have changed locations, making these fonts incompatible. The aliases are purely a Fedora thing.

Comment 7 Nicolas Mailhot 2014-02-21 08:29:38 UTC
(In reply to Elliott Sales de Andrade from comment #6)
> (In reply to Nicolas Mailhot from comment #4) 
> > I read this as "browsers do not want to update their code to work with Stix
> > > 1.0"
> 
> No, MathJax asks for 1.0, and fontconfig gives it 1.1, which is
> incompatible. If MathJax had asked for *any* version, then it would be a bug
> in MathJax, but it didn't.

Sorry, that was a typo on my part. Should have written 1.1 here.

> > Well, this is a browser bug. Upstream stix changed to take into account issues reported after their .0 release, it fixed actual correctness bugs and problems indentified in big apps such as office suites, it took it months of work and there's not way upstream is going back now
> 
> Upstream does not ship these aliases. If you look at the release notes, you
> see that several glyphs have changed locations, making these fonts
> incompatible. The aliases are purely a Fedora thing.

I know that 1.1 has been restructured to fix various compatibility and spec problems. The aliases are not expected to provide full compatibility because you can only do so much at fontconfig level. But they are good enough for most simple documents.

The point is, 1.0 stix structure is obsolete and dead upstream, it's high time Mathjax adapted, and I won't create another TEX-like morass in Fedora with piles of obsolete fonts kept around to help code that does not want to update and does not feel the need to update because the obsolete parts are kept around by distributors.

Stix upsteam was very clear when they released 1.0 that it was not finished and that they would perform heavy changes in the near future. Mathjx had more than three years to fix itself now.

Comment 8 Elliott Sales de Andrade 2014-03-03 23:22:27 UTC
> The point is, 1.0 stix structure is obsolete and dead upstream, it's high time Mathjax adapted, and I won't create another TEX-like morass in Fedora with piles of obsolete fonts kept around to help code that does not want to update and does not feel the need to update because the obsolete parts are kept around by distributors.

I'm sorry, but the developers disagree, and I quote:

The STIX-1.1 fonts include the STIXGeneral distribution as well as the STIX Word fonts. The STIX repository at SourceForge has four distribution files: STIXv1.1.1-webfonts.zip, which include the original STIXGeneral (called stix-web) as well as the STIX-MathJax web fonts; STIXv1.1.1-word.zip, which is the 5-font version in families STIX and STIXMath packaged for use with Word (the ones used by Fedora); STIXv1.1.0-latex.zip, which is the fonts packaged for use with TeX; and STIXv1.1.0.zip, which includes the original STIXGeneral as well as the STIX Word fonts. Note that *all* of these are STIX v1.1, the current version.

The first and last of these include the STIXGeneral fonts (updated to the v1.1 glyphs and positions), and these are the most recent files. Indeed, the STIX-webfonts archive is from this year, and includes the STIXGeneral packaging (not the word format). To say that STIpub as abandoned the STIXGeneral format is to deeply misunderstand the current situation. The STIXGeneral fonts are not v1.0, they are v1.1, just as STIX Word is. They are not an older version, and not obsolete or outdated. The Fedora aliasing of these names to STIX Word is broken, plain and simple.


Note You need to log in before you can comment on or make changes to this bug.