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