bump product version to 7.2.5.1
[LibreOffice.git] / starmath / inc / mathml / mathmlattr.hxx
blobf999f28d680a5ad10ed8c803bc7adf6fec0b3d3a
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #pragma once
12 #include <rtl/ustring.hxx>
13 #include <sal/types.h>
14 #include <tools/fract.hxx>
16 // MathML 3: 2.1.5.1 Syntax notation used in the MathML specification
17 // <https://www.w3.org/TR/MathML/chapter2.html#id.2.1.5.1>
18 // MathML 2: 2.4.4.2 Attributes with units
19 // <https://www.w3.org/TR/MathML2/chapter2.html#fund.attval>
20 // MathML 3: 2.1.5.2 Length Valued Attributes
21 // <https://www.w3.org/TR/MathML/chapter2.html#fund.units>
23 enum class MathMLLengthUnit
25 None,
26 Em,
27 Ex,
28 Px,
29 In,
30 Cm,
31 Mm,
32 Pt,
33 Pc,
34 Percent
37 struct MathMLAttributeLengthValue
39 Fraction aNumber;
40 MathMLLengthUnit eUnit;
41 MathMLAttributeLengthValue()
42 : eUnit(MathMLLengthUnit::None)
47 sal_Int32 ParseMathMLAttributeLengthValue(const OUString& rStr, MathMLAttributeLengthValue& rV);
49 // MathML 3: 3.2.2 Mathematics style attributes common to token elements
50 // <https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt>
52 enum class MathMLMathvariantValue
54 Normal,
55 Bold,
56 Italic,
57 BoldItalic,
58 DoubleStruck,
59 BoldFraktur,
60 Script,
61 BoldScript,
62 Fraktur,
63 SansSerif,
64 BoldSansSerif,
65 SansSerifItalic,
66 SansSerifBoldItalic,
67 Monospace,
68 Initial,
69 Tailed,
70 Looped,
71 Stretched
74 bool GetMathMLMathvariantValue(const OUString& rStr, MathMLMathvariantValue& rV);
76 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */