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