- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 3 Jun 2009 22:53:55 +0000 (UTC)
On Thu, 16 Apr 2009, ?istein E. Andersen wrote: > > Currently, only a limited set of vulgar fractions can be expressed in > HTML, viz, those that exist as pre-composed characters in Unicode. > (For example, 16ths and 32nds, which are often used with imperial units, > are not included.) This can be solved in several ways: > > 1) According to Unicode (<http://unicode.org/book/ch06.pdf>, p. 154), > `any sequence of one or more decimal digits, followed by the fraction > slash [U+2044], followed by any sequence of one or more decimal digits > ... should be displayed as a unit, such as ??'. Furthermore, Unicode > Technical Report No. 20, `Unicode in XML and other Markup Languages', > says that the fraction slash is suitable for use with mark-up. > Unfortunately, no browser seems to transform a sequence like 3???16 into > a proper vulgar fraction. If, however, browsers are willing to > implement this, no changes to HTML are needed. > > 2) Unicode Technical Report No. 20 also suggests that specific mark-up, MathML > in particular, may be used instead. MathML mark-up is a bit more verbose: > <math xmlns="http://www.w3.org/1998/Math/MathML"> > <mfrac> > <mn>3</mn> > <mn>16</mn> > </mfrac> > </math> > Unfortunately, this corresponds to a mathematical fraction rather than a > vulgar fraction, which means that it has a horizontal fraction bar and that it > takes up too much vertical space. (Admittedly, vulgar fractions may have > horizontal fraction bars as well, but this is not suitable for on-screen > viewing since the numbers get tiny, whereas a diagonal fraction bar only > requires the numbers to be scaled to 60% vertically and 65% horizontally, as > suggested in the PostScript Language Cookbook.) > > 2') There is a MathML attribute called `bevelled' which is indicates that at > diagonal line should be used to separate numerator from denominator: > <math xmlns="http://www.w3.org/1998/Math/MathML"> > <mfrac bevelled="true"> > <mn>3</mn> > <mn>16</mn> > </mfrac> > </math> > However, Firefox and Opera both display this as <small>3 / 16</small>, and the > example given in the MathML specification > <http://www.w3.org/TR/MathML3/image/f3008.gif> suggests that this is not > really meant for vulgar fractions at all. This could still be a solution if > <mfrac bevelled="true"/> is defined to correspond to a vulgar fraction if both > numerator and denominator are <mn/> elements consisting of digits 0--9. > > 2'') Alternatively, a new attribute (e.g., `vulgar') could be added to cover > this case. > > 3) If neither special handling of the fraction slash nor a MathML solution for > vulgar/non-mathematical fractions is possible, the only remaining solution > would be to add specific mark-up to HTML directly. > > (I am aware that fractions have been proposed earlier in the context of > mathematical formulae, but I have not been able to find any previous > discussion regarding vulgar fractions.) Since HTML5 supports MathML natively now, it seems that MathML is the solution to use here. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Wednesday, 3 June 2009 15:53:55 UTC