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