1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
23 #include <sal/types.h>
24 #define FONTNAME_MATH "OpenSymbol"
26 /////////////////////////////////////////////////////////////////
28 enum SmPrintSize
{ PRINT_SIZE_NORMAL
, PRINT_SIZE_SCALED
, PRINT_SIZE_ZOOMED
};
30 /////////////////////////////////////////////////////////////////
32 inline sal_Bool
IsInPrivateUseArea( sal_Unicode cChar
) { return 0xE000 <= cChar
&& cChar
<= 0xF8FF; }
34 // Greek char range as seen in svx/.../charmap.cxx RID_SUBSETSTR_BASIC_GREEK
35 inline sal_Bool
IsGreekChar( sal_Unicode cChar
) { return 0x0370 <= cChar
&& cChar
<= 0x03FF; }
37 sal_Unicode
ConvertMathPrivateUseAreaToUnicode( sal_Unicode cChar
);
39 sal_Unicode
ConvertMathToMathML( sal_Unicode cChar
);
41 /////////////////////////////////////////////////////////////////
42 // enum definitions for characters from the 'StarSymbol' font
43 // (some chars have more than one alias!)
44 //! Note: not listed here does not(!) mean "not used"
45 //! (see %alpha ... %gamma for example)
49 MS_FACT
= (sal_Unicode
) 0x0021,
50 MS_INFINITY
= (sal_Unicode
) 0x221E,
51 MS_SLASH
= (sal_Unicode
) 0x002F,
53 MS_NDIVIDES
= (sal_Unicode
) 0x2224,
54 MS_DRARROW
= (sal_Unicode
) 0x21D2,
55 MS_DLARROW
= (sal_Unicode
) 0x21D0,
56 MS_DLRARROW
= (sal_Unicode
) 0x21D4,
57 MS_OVERBRACE
= (sal_Unicode
) 0x23DE,
58 MS_UNDERBRACE
= (sal_Unicode
) 0x23DF,
59 MS_CIRC
= (sal_Unicode
) 0x2218,
60 MS_ASSIGN
= (sal_Unicode
) 0x003D,
61 MS_ERROR
= (sal_Unicode
) 0x00BF,
63 MS_NEQ
= (sal_Unicode
) 0x2260,
64 MS_PLUS
= (sal_Unicode
) 0x002B,
65 MS_MINUS
= (sal_Unicode
) 0x2212,
66 MS_MULTIPLY
= (sal_Unicode
) 0x2217,
67 MS_TIMES
= (sal_Unicode
) 0x00D7,
68 MS_CDOT
= (sal_Unicode
) 0x22C5,
69 MS_DIV
= (sal_Unicode
) 0x00F7,
70 MS_PLUSMINUS
= (sal_Unicode
) 0x00B1,
71 MS_MINUSPLUS
= (sal_Unicode
) 0x2213,
72 MS_OPLUS
= (sal_Unicode
) 0x2295,
73 MS_OMINUS
= (sal_Unicode
) 0x2296,
74 MS_OTIMES
= (sal_Unicode
) 0x2297,
75 MS_ODIVIDE
= (sal_Unicode
) 0x2298,
76 MS_ODOT
= (sal_Unicode
) 0x2299,
77 MS_UNION
= (sal_Unicode
) 0x222A,
78 MS_INTERSECT
= (sal_Unicode
) 0x2229,
80 MS_LT
= (sal_Unicode
) 0x003C,
81 MS_GT
= (sal_Unicode
) 0x003E,
82 MS_LE
= (sal_Unicode
) 0x2264,
83 MS_GE
= (sal_Unicode
) 0x2265,
84 MS_LESLANT
= (sal_Unicode
) 0x2A7D,
85 MS_GESLANT
= (sal_Unicode
) 0x2A7E,
86 MS_LL
= (sal_Unicode
) 0x226A,
87 MS_GG
= (sal_Unicode
) 0x226B,
88 MS_SIM
= (sal_Unicode
) 0x223C,
89 MS_SIMEQ
= (sal_Unicode
) 0x2243,
90 MS_APPROX
= (sal_Unicode
) 0x2248,
91 MS_DEF
= (sal_Unicode
) 0x225D,
92 MS_EQUIV
= (sal_Unicode
) 0x2261,
93 MS_PROP
= (sal_Unicode
) 0x221D,
94 MS_PARTIAL
= (sal_Unicode
) 0x2202,
96 MS_SUBSET
= (sal_Unicode
) 0x2282,
97 MS_SUPSET
= (sal_Unicode
) 0x2283,
98 MS_SUBSETEQ
= (sal_Unicode
) 0x2286,
99 MS_SUPSETEQ
= (sal_Unicode
) 0x2287,
100 MS_NSUBSET
= (sal_Unicode
) 0x2284,
101 MS_NSUPSET
= (sal_Unicode
) 0x2285,
102 MS_NSUBSETEQ
= (sal_Unicode
) 0x2288,
103 MS_NSUPSETEQ
= (sal_Unicode
) 0x2289,
104 MS_IN
= (sal_Unicode
) 0x2208,
105 MS_NOTIN
= (sal_Unicode
) 0x2209,
106 MS_EXISTS
= (sal_Unicode
) 0x2203,
107 MS_NOTEXISTS
= (sal_Unicode
) 0x2204,
108 MS_BACKEPSILON
= (sal_Unicode
) 0x220D,
109 MS_ALEPH
= (sal_Unicode
) 0x2135,
110 MS_IM
= (sal_Unicode
) 0x2111,
111 MS_RE
= (sal_Unicode
) 0x211C,
112 MS_WP
= (sal_Unicode
) 0x2118,
114 MS_LINE
= (sal_Unicode
) 0x2223,
115 MS_DLINE
= (sal_Unicode
) 0x2225,
116 MS_ORTHO
= (sal_Unicode
) 0x22A5,
117 MS_DOTSLOW
= (sal_Unicode
) 0x2026,
118 MS_DOTSAXIS
= (sal_Unicode
) 0x22EF,
119 MS_DOTSVERT
= (sal_Unicode
) 0x22EE,
120 MS_DOTSUP
= (sal_Unicode
) 0x22F0,
121 MS_DOTSDOWN
= (sal_Unicode
) 0x22F1,
122 MS_TRANSR
= (sal_Unicode
) 0x22B6,
123 MS_TRANSL
= (sal_Unicode
) 0x22B7,
124 MS_BACKSLASH
= (sal_Unicode
) 0x2216,
125 MS_NEG
= (sal_Unicode
) 0x00AC,
127 MS_FORALL
= (sal_Unicode
) 0x2200,
128 MS_NABLA
= (sal_Unicode
) 0x2207,
129 MS_PROD
= (sal_Unicode
) 0x220F,
130 MS_COPROD
= (sal_Unicode
) 0x2210,
131 MS_SUM
= (sal_Unicode
) 0x2211,
132 MS_SQRT
= (sal_Unicode
) 0x221A,
133 MS_INT
= (sal_Unicode
) 0x222B,
134 MS_IINT
= (sal_Unicode
) 0x222C,
135 MS_IIINT
= (sal_Unicode
) 0x222D,
136 MS_LINT
= (sal_Unicode
) 0x222E,
137 MS_LLINT
= (sal_Unicode
) 0x222F,
138 MS_LLLINT
= (sal_Unicode
) 0x2230,
140 MS_GRAVE
= (sal_Unicode
) 0x0300,
141 MS_ACUTE
= (sal_Unicode
) 0x0301,
142 MS_HAT
= (sal_Unicode
) 0x0302,
143 MS_TILDE
= (sal_Unicode
) 0x0303,
144 MS_BAR
= (sal_Unicode
) 0x0304,
145 MS_BREVE
= (sal_Unicode
) 0x0306,
146 MS_CIRCLE
= (sal_Unicode
) 0x030A,
147 MS_CHECK
= (sal_Unicode
) 0x030C,
148 MS_VEC
= (sal_Unicode
) 0x20D7,
149 MS_DOT
= (sal_Unicode
) 0x02D9,
150 MS_DDOT
= (sal_Unicode
) 0x00A8,
151 MS_DDDOT
= (sal_Unicode
) 0x20DB,
152 MS_AND
= (sal_Unicode
) 0x2227,
153 MS_OR
= (sal_Unicode
) 0x2228,
154 MS_NI
= (sal_Unicode
) 0x220B,
155 MS_EMPTYSET
= (sal_Unicode
) 0x2205,
157 MS_LPARENT
= (sal_Unicode
) 0x0028,
158 MS_RPARENT
= (sal_Unicode
) 0x0029,
159 MS_LBRACKET
= (sal_Unicode
) 0x005B,
160 MS_RBRACKET
= (sal_Unicode
) 0x005D,
161 MS_LBRACE
= (sal_Unicode
) 0x007B,
162 MS_RBRACE
= (sal_Unicode
) 0x007D,
163 MS_LCEIL
= (sal_Unicode
) 0x2308,
164 MS_RCEIL
= (sal_Unicode
) 0x2309,
165 MS_LFLOOR
= (sal_Unicode
) 0x230A,
166 MS_RFLOOR
= (sal_Unicode
) 0x230B,
167 MS_LANGLE
= (sal_Unicode
) 0x2329,
168 MS_RANGLE
= (sal_Unicode
) 0x232A,
169 MS_LDBRACKET
= (sal_Unicode
) 0x27E6,
170 MS_RDBRACKET
= (sal_Unicode
) 0x27E7,
172 MS_PLACE
= (sal_Unicode
) 0x2751,
174 MS_LAMBDABAR
= (sal_Unicode
) 0x019B,
175 MS_HBAR
= (sal_Unicode
) 0x210F,
176 MS_LEFTARROW
= (sal_Unicode
) 0x2190,
177 MS_UPARROW
= (sal_Unicode
) 0x2191,
178 MS_RIGHTARROW
= (sal_Unicode
) 0x2192,
179 MS_DOWNARROW
= (sal_Unicode
) 0x2193,
180 MS_SETN
= (sal_Unicode
) 0x2115,
181 MS_SETZ
= (sal_Unicode
) 0x2124,
182 MS_SETQ
= (sal_Unicode
) 0x211A,
183 MS_SETR
= (sal_Unicode
) 0x211D,
184 MS_SETC
= (sal_Unicode
) 0x2102,
186 MS_PERCENT
= (sal_Unicode
) 0x0025,
188 MS_PRECEDES
= (sal_Unicode
) 0x227A,
189 MS_PRECEDESEQUAL
= (sal_Unicode
) 0x227C,
190 MS_PRECEDESEQUIV
= (sal_Unicode
) 0x227E,
191 MS_SUCCEEDS
= (sal_Unicode
) 0x227B,
192 MS_SUCCEEDSEQUAL
= (sal_Unicode
) 0x227D,
193 MS_SUCCEEDSEQUIV
= (sal_Unicode
) 0x227F,
194 MS_NOTPRECEDES
= (sal_Unicode
) 0x2280,
195 MS_NOTSUCCEEDS
= (sal_Unicode
) 0x2281,
200 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */