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