xref: /trunk/main/starmath/inc/types.hxx (revision f6a9d5ca)
1*f6a9d5caSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*f6a9d5caSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*f6a9d5caSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*f6a9d5caSAndrew Rist  * distributed with this work for additional information
6*f6a9d5caSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*f6a9d5caSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*f6a9d5caSAndrew Rist  * "License"); you may not use this file except in compliance
9*f6a9d5caSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*f6a9d5caSAndrew Rist  *
11*f6a9d5caSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*f6a9d5caSAndrew Rist  *
13*f6a9d5caSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*f6a9d5caSAndrew Rist  * software distributed under the License is distributed on an
15*f6a9d5caSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*f6a9d5caSAndrew Rist  * KIND, either express or implied.  See the License for the
17*f6a9d5caSAndrew Rist  * specific language governing permissions and limitations
18*f6a9d5caSAndrew Rist  * under the License.
19*f6a9d5caSAndrew Rist  *
20*f6a9d5caSAndrew Rist  *************************************************************/
21*f6a9d5caSAndrew Rist 
22*f6a9d5caSAndrew Rist 
23cdf0e10cSrcweir #ifndef TYPES_HXX
24cdf0e10cSrcweir #define TYPES_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include <sal/types.h>
27cdf0e10cSrcweir #include <tools/debug.hxx>
28cdf0e10cSrcweir 
29cdf0e10cSrcweir #define FONTNAME_MATH   "OpenSymbol"
30cdf0e10cSrcweir 
31cdf0e10cSrcweir /////////////////////////////////////////////////////////////////
32cdf0e10cSrcweir 
33cdf0e10cSrcweir enum SmPrintSize { PRINT_SIZE_NORMAL, PRINT_SIZE_SCALED, PRINT_SIZE_ZOOMED };
34cdf0e10cSrcweir 
35cdf0e10cSrcweir /////////////////////////////////////////////////////////////////
36cdf0e10cSrcweir 
37cdf0e10cSrcweir #define FONT_ARIAL          "Arial"
38cdf0e10cSrcweir #define FONT_SYMBOL         "Symbol"
39cdf0e10cSrcweir #define FONT_MS_PMINCHO     "MS PMincho"
40cdf0e10cSrcweir #define FONT_MS_PGOTHIC     "MS PGothic"
41cdf0e10cSrcweir #define FONT_SUN_BATANG     "SunBatang"
42cdf0e10cSrcweir 
43cdf0e10cSrcweir 
IsInPrivateUseArea(sal_Unicode cChar)44cdf0e10cSrcweir inline sal_Bool IsInPrivateUseArea( sal_Unicode cChar ) { return 0xE000 <= cChar  &&  cChar <= 0xF8FF; }
45cdf0e10cSrcweir 
46cdf0e10cSrcweir // Greek char range as seen in svx/.../charmap.cxx RID_SUBSETSTR_BASIC_GREEK
IsGreekChar(sal_Unicode cChar)47cdf0e10cSrcweir inline sal_Bool IsGreekChar( sal_Unicode cChar ) { return 0x0370 <= cChar  &&  cChar <= 0x03FF; }
48cdf0e10cSrcweir 
49cdf0e10cSrcweir sal_Unicode ConvertMathPrivateUseAreaToUnicode( sal_Unicode cChar );
50cdf0e10cSrcweir 
51cdf0e10cSrcweir sal_Unicode ConvertMathToMathML( sal_Unicode cChar );
52cdf0e10cSrcweir 
53cdf0e10cSrcweir /////////////////////////////////////////////////////////////////
54cdf0e10cSrcweir // enum definitions for characters from the 'StarSymbol' font
55cdf0e10cSrcweir // (some chars have more than one alias!)
56cdf0e10cSrcweir //! Note: not listed here does not(!) mean "not used"
57cdf0e10cSrcweir //!		(see %alpha ... %gamma for example)
58cdf0e10cSrcweir //
59cdf0e10cSrcweir enum MathSymbol
60cdf0e10cSrcweir {
61cdf0e10cSrcweir     MS_FACT         = (sal_Unicode) 0x0021,
62cdf0e10cSrcweir     MS_INFINITY     = (sal_Unicode) 0x221E,
63cdf0e10cSrcweir     MS_SLASH        = (sal_Unicode) 0x002F,
64cdf0e10cSrcweir 
65cdf0e10cSrcweir     MS_NDIVIDES     = (sal_Unicode) 0x2224,
66cdf0e10cSrcweir     MS_DRARROW      = (sal_Unicode) 0x21D2,
67cdf0e10cSrcweir     MS_DLARROW      = (sal_Unicode) 0x21D0,
68cdf0e10cSrcweir     MS_DLRARROW     = (sal_Unicode) 0x21D4,
69cdf0e10cSrcweir     MS_OVERBRACE    = (sal_Unicode) 0x23DE,
70cdf0e10cSrcweir     MS_UNDERBRACE   = (sal_Unicode) 0x23DF,
71cdf0e10cSrcweir     MS_CIRC         = (sal_Unicode) 0x2218,
72cdf0e10cSrcweir     MS_ASSIGN       = (sal_Unicode) 0x003D,
73cdf0e10cSrcweir     MS_ERROR        = (sal_Unicode) 0x00BF,
74cdf0e10cSrcweir 
75cdf0e10cSrcweir     MS_NEQ          = (sal_Unicode) 0x2260,
76cdf0e10cSrcweir     MS_PLUS         = (sal_Unicode) 0x002B,
77cdf0e10cSrcweir     MS_MINUS        = (sal_Unicode) 0x2212,
78cdf0e10cSrcweir     MS_MULTIPLY     = (sal_Unicode) 0x2217,
79cdf0e10cSrcweir     MS_TIMES        = (sal_Unicode) 0x00D7,
80cdf0e10cSrcweir     MS_CDOT         = (sal_Unicode) 0x22C5,
81cdf0e10cSrcweir     MS_DIV          = (sal_Unicode) 0x00F7,
82cdf0e10cSrcweir     MS_PLUSMINUS    = (sal_Unicode) 0x00B1,
83cdf0e10cSrcweir     MS_MINUSPLUS    = (sal_Unicode) 0x2213,
84cdf0e10cSrcweir     MS_OPLUS        = (sal_Unicode) 0x2295,
85cdf0e10cSrcweir     MS_OMINUS       = (sal_Unicode) 0x2296,
86cdf0e10cSrcweir     MS_OTIMES       = (sal_Unicode) 0x2297,
87cdf0e10cSrcweir     MS_ODIVIDE      = (sal_Unicode) 0x2298,
88cdf0e10cSrcweir     MS_ODOT         = (sal_Unicode) 0x2299,
89cdf0e10cSrcweir     MS_UNION        = (sal_Unicode) 0x222A,
90cdf0e10cSrcweir     MS_INTERSECT    = (sal_Unicode) 0x2229,
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     MS_LT           = (sal_Unicode) 0x003C,
93cdf0e10cSrcweir     MS_GT           = (sal_Unicode) 0x003E,
94cdf0e10cSrcweir     MS_LE           = (sal_Unicode) 0x2264,
95cdf0e10cSrcweir     MS_GE           = (sal_Unicode) 0x2265,
96cdf0e10cSrcweir     MS_LESLANT      = (sal_Unicode) 0x2A7D,
97cdf0e10cSrcweir     MS_GESLANT      = (sal_Unicode) 0x2A7E,
98cdf0e10cSrcweir     MS_LL           = (sal_Unicode) 0x226A,
99cdf0e10cSrcweir     MS_GG           = (sal_Unicode) 0x226B,
100cdf0e10cSrcweir     MS_SIM          = (sal_Unicode) 0x223C,
101cdf0e10cSrcweir     MS_SIMEQ        = (sal_Unicode) 0x2243,
102cdf0e10cSrcweir     MS_APPROX       = (sal_Unicode) 0x2248,
103cdf0e10cSrcweir     MS_DEF          = (sal_Unicode) 0x225D,
104cdf0e10cSrcweir     MS_EQUIV        = (sal_Unicode) 0x2261,
105cdf0e10cSrcweir     MS_PROP         = (sal_Unicode) 0x221D,
106cdf0e10cSrcweir     MS_PARTIAL      = (sal_Unicode) 0x2202,
107cdf0e10cSrcweir 
108cdf0e10cSrcweir     MS_SUBSET       = (sal_Unicode) 0x2282,
109cdf0e10cSrcweir     MS_SUPSET       = (sal_Unicode) 0x2283,
110cdf0e10cSrcweir     MS_SUBSETEQ     = (sal_Unicode) 0x2286,
111cdf0e10cSrcweir     MS_SUPSETEQ     = (sal_Unicode) 0x2287,
112cdf0e10cSrcweir     MS_NSUBSET      = (sal_Unicode) 0x2284,
113cdf0e10cSrcweir     MS_NSUPSET      = (sal_Unicode) 0x2285,
114cdf0e10cSrcweir     MS_NSUBSETEQ    = (sal_Unicode) 0x2288,
115cdf0e10cSrcweir     MS_NSUPSETEQ    = (sal_Unicode) 0x2289,
116cdf0e10cSrcweir     MS_IN           = (sal_Unicode) 0x2208,
117cdf0e10cSrcweir     MS_NOTIN        = (sal_Unicode) 0x2209,
118cdf0e10cSrcweir     MS_EXISTS       = (sal_Unicode) 0x2203,
119cdf0e10cSrcweir     MS_BACKEPSILON  = (sal_Unicode) 0x220D,
120cdf0e10cSrcweir     MS_ALEPH        = (sal_Unicode) 0x2135,
121cdf0e10cSrcweir     MS_IM           = (sal_Unicode) 0x2111,
122cdf0e10cSrcweir     MS_RE           = (sal_Unicode) 0x211C,
123cdf0e10cSrcweir     MS_WP           = (sal_Unicode) 0x2118,
124cdf0e10cSrcweir 
125cdf0e10cSrcweir     MS_LINE         = (sal_Unicode) 0x2223,
126cdf0e10cSrcweir     MS_DLINE        = (sal_Unicode) 0x2225,
127cdf0e10cSrcweir     MS_ORTHO        = (sal_Unicode) 0x22A5,
128cdf0e10cSrcweir     MS_DOTSLOW      = (sal_Unicode) 0x2026,
129cdf0e10cSrcweir     MS_DOTSAXIS     = (sal_Unicode) 0x22EF,
130cdf0e10cSrcweir     MS_DOTSVERT     = (sal_Unicode) 0x22EE,
131cdf0e10cSrcweir     MS_DOTSUP       = (sal_Unicode) 0x22F0,
132cdf0e10cSrcweir     MS_DOTSDOWN     = (sal_Unicode) 0x22F1,
133cdf0e10cSrcweir     MS_TRANSR       = (sal_Unicode) 0x22B6,
134cdf0e10cSrcweir     MS_TRANSL       = (sal_Unicode) 0x22B7,
135cdf0e10cSrcweir     MS_BACKSLASH    = (sal_Unicode) 0x2216,
136cdf0e10cSrcweir     MS_NEG          = (sal_Unicode) 0x00AC,
137cdf0e10cSrcweir 
138cdf0e10cSrcweir     MS_FORALL       = (sal_Unicode) 0x2200,
139cdf0e10cSrcweir     MS_NABLA        = (sal_Unicode) 0x2207,
140cdf0e10cSrcweir     MS_PROD         = (sal_Unicode) 0x220F,
141cdf0e10cSrcweir     MS_COPROD       = (sal_Unicode) 0x2210,
142cdf0e10cSrcweir     MS_SUM          = (sal_Unicode) 0x2211,
143cdf0e10cSrcweir     MS_SQRT         = (sal_Unicode) 0x221A,
144cdf0e10cSrcweir     MS_INT          = (sal_Unicode) 0x222B,
145cdf0e10cSrcweir     MS_IINT         = (sal_Unicode) 0x222C,
146cdf0e10cSrcweir     MS_IIINT        = (sal_Unicode) 0x222D,
147cdf0e10cSrcweir     MS_LINT         = (sal_Unicode) 0x222E,
148cdf0e10cSrcweir     MS_LLINT        = (sal_Unicode) 0x222F,
149cdf0e10cSrcweir     MS_LLLINT       = (sal_Unicode) 0x2230,
150cdf0e10cSrcweir 
151cdf0e10cSrcweir     MS_GRAVE        = (sal_Unicode) 0x0300,
152cdf0e10cSrcweir     MS_ACUTE        = (sal_Unicode) 0x0301,
153cdf0e10cSrcweir     MS_HAT          = (sal_Unicode) 0x0302,
154cdf0e10cSrcweir     MS_TILDE        = (sal_Unicode) 0x0303,
155cdf0e10cSrcweir     MS_BAR          = (sal_Unicode) 0x0304,
156cdf0e10cSrcweir     MS_BREVE        = (sal_Unicode) 0x0306,
157cdf0e10cSrcweir     MS_CIRCLE       = (sal_Unicode) 0x030A,
158cdf0e10cSrcweir     MS_CHECK        = (sal_Unicode) 0x030C,
159cdf0e10cSrcweir     MS_VEC          = (sal_Unicode) 0x20D7,
160cdf0e10cSrcweir     MS_DOT          = (sal_Unicode) 0x02D9,
161cdf0e10cSrcweir     MS_DDOT         = (sal_Unicode) 0x00A8,
162cdf0e10cSrcweir     MS_DDDOT        = (sal_Unicode) 0x20DB,
163cdf0e10cSrcweir     MS_AND          = (sal_Unicode) 0x2227,
164cdf0e10cSrcweir     MS_OR           = (sal_Unicode) 0x2228,
165cdf0e10cSrcweir     MS_NI           = (sal_Unicode) 0x220B,
166cdf0e10cSrcweir     MS_EMPTYSET     = (sal_Unicode) 0x2205,
167cdf0e10cSrcweir 
168cdf0e10cSrcweir     MS_LPARENT      = (sal_Unicode) 0x0028,
169cdf0e10cSrcweir     MS_RPARENT      = (sal_Unicode) 0x0029,
170cdf0e10cSrcweir     MS_LBRACKET     = (sal_Unicode) 0x005B,
171cdf0e10cSrcweir     MS_RBRACKET     = (sal_Unicode) 0x005D,
172cdf0e10cSrcweir     MS_LBRACE       = (sal_Unicode) 0x007B,
173cdf0e10cSrcweir     MS_RBRACE       = (sal_Unicode) 0x007D,
174cdf0e10cSrcweir     MS_LCEIL        = (sal_Unicode) 0x2308,
175cdf0e10cSrcweir     MS_RCEIL        = (sal_Unicode) 0x2309,
176cdf0e10cSrcweir     MS_LFLOOR       = (sal_Unicode) 0x230A,
177cdf0e10cSrcweir     MS_RFLOOR       = (sal_Unicode) 0x230B,
178cdf0e10cSrcweir     MS_LANGLE       = (sal_Unicode) 0x2329,
179cdf0e10cSrcweir     MS_RANGLE       = (sal_Unicode) 0x232A,
180cdf0e10cSrcweir     MS_LDBRACKET    = (sal_Unicode) 0x27E6,
181cdf0e10cSrcweir     MS_RDBRACKET    = (sal_Unicode) 0x27E7,
182cdf0e10cSrcweir 
183cdf0e10cSrcweir     MS_PLACE        = (sal_Unicode) 0x2751,
184cdf0e10cSrcweir 
185cdf0e10cSrcweir     MS_LAMBDABAR    = (sal_Unicode) 0x019B,
186cdf0e10cSrcweir     MS_HBAR         = (sal_Unicode) 0x210F,
187cdf0e10cSrcweir     MS_LEFTARROW    = (sal_Unicode) 0x2190,
188cdf0e10cSrcweir     MS_UPARROW      = (sal_Unicode) 0x2191,
189cdf0e10cSrcweir     MS_RIGHTARROW   = (sal_Unicode) 0x2192,
190cdf0e10cSrcweir     MS_DOWNARROW    = (sal_Unicode) 0x2193,
191cdf0e10cSrcweir     MS_SETN         = (sal_Unicode) 0x2115,
192cdf0e10cSrcweir     MS_SETZ         = (sal_Unicode) 0x2124,
193cdf0e10cSrcweir     MS_SETQ         = (sal_Unicode) 0x211A,
194cdf0e10cSrcweir     MS_SETR         = (sal_Unicode) 0x211D,
195cdf0e10cSrcweir     MS_SETC         = (sal_Unicode) 0x2102
196cdf0e10cSrcweir };
197cdf0e10cSrcweir 
198cdf0e10cSrcweir 
199cdf0e10cSrcweir #endif
200cdf0e10cSrcweir 
201