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.)

--
Øistein E. Andersen

Reply via email to