00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef TYPES_HXX
00036 #define TYPES_HXX
00037
00038 #ifndef _SAL_TYPES_H_
00039 #include <sal/types.h>
00040 #endif
00041
00042 #define FONTNAME_MATH "StarSymbol"
00043 #define FONTNAME_MATH2 "OpenSymbol"
00044
00046
00047 enum SmPrintSize { PRINT_SIZE_NORMAL, PRINT_SIZE_SCALED, PRINT_SIZE_ZOOMED };
00048
00050
00051 #define FONT_ARIAL "Arial"
00052 #define FONT_SYMBOL "Symbol"
00053 #define FONT_MS_PMINCHO "MS PMincho"
00054 #define FONT_MS_PGOTHIC "MS PGothic"
00055 #define FONT_SUN_BATANG "SunBatang"
00056
00057
00058 inline sal_Bool IsInPrivateUseArea( sal_Unicode cChar ) { return 0xE000 <= cChar && cChar <= 0xF8FF; }
00059
00060
00061 inline sal_Bool IsGreekChar( sal_Unicode cChar ) { return 0x0370 <= cChar && cChar <= 0x03FF; }
00062
00063 sal_Unicode ConvertMathPrivateUseAreaToUnicode( sal_Unicode cChar );
00064 sal_Unicode ConvertUnicodeToMathPrivateUseArea( sal_Unicode cChar );
00065
00066 sal_Unicode ConvertMathToMathType( sal_Unicode cChar );
00067 sal_Unicode ConvertMathTypeToMath( sal_Unicode cChar );
00068
00069 sal_Unicode ConvertMathToMathML( sal_Unicode cChar );
00070 sal_Unicode ConvertMathMLToMath( sal_Unicode cChar );
00071
00072 sal_Unicode GetTokenChar( sal_Unicode cChar, sal_Bool bConvertForExport );
00073
00075
00076
00079
00080 enum MathSymbol
00081 {
00082 MS_FACT = (sal_Unicode) 0x0021,
00083 MS_INFINITY = (sal_Unicode) 0x221E,
00084 MS_SLASH = (sal_Unicode) 0x002F,
00085
00086 MS_NDIVIDES = (sal_Unicode) 0x2224,
00087 MS_DRARROW = (sal_Unicode) 0x21D2,
00088 MS_DLARROW = (sal_Unicode) 0x21D0,
00089 MS_DLRARROW = (sal_Unicode) 0x21D4,
00090 MS_UNDERBRACE = (sal_Unicode) 0xE081,
00091 MS_OVERBRACE = (sal_Unicode) 0xE082,
00092 MS_CIRC = (sal_Unicode) 0x00B0,
00093 MS_ASSIGN = (sal_Unicode) 0x003D,
00094 MS_ERROR = (sal_Unicode) 0x00BF,
00095
00096 MS_NEQ = (sal_Unicode) 0x2260,
00097 MS_PLUS = (sal_Unicode) 0xE083,
00098 MS_MINUS = (sal_Unicode) 0x2212,
00099 MS_MULTIPLY = (sal_Unicode) 0x2217,
00100 MS_TIMES = (sal_Unicode) 0x00D7,
00101 MS_CDOT = (sal_Unicode) 0x22C5,
00102 MS_DIV = (sal_Unicode) 0x00F7,
00103 MS_PLUSMINUS = (sal_Unicode) 0x00B1,
00104 MS_MINUSPLUS = (sal_Unicode) 0x2213,
00105 MS_OPLUS = (sal_Unicode) 0x2295,
00106 MS_OMINUS = (sal_Unicode) 0x2296,
00107 MS_OTIMES = (sal_Unicode) 0x2297,
00108 MS_ODIVIDE = (sal_Unicode) 0x2298,
00109 MS_ODOT = (sal_Unicode) 0x2299,
00110 MS_UNION = (sal_Unicode) 0x222A,
00111 MS_INTERSECT = (sal_Unicode) 0x2229,
00112
00113 MS_LT = (sal_Unicode) 0xE084,
00114 MS_GT = (sal_Unicode) 0xE085,
00115 MS_LE = (sal_Unicode) 0x2264,
00116 MS_GE = (sal_Unicode) 0x2265,
00117 MS_LESLANT = (sal_Unicode) 0xE086,
00118 MS_GESLANT = (sal_Unicode) 0xE087,
00119 MS_LL = (sal_Unicode) 0x226A,
00120 MS_GG = (sal_Unicode) 0x226B,
00121 MS_SIM = (sal_Unicode) 0x007E,
00122 MS_SIMEQ = (sal_Unicode) 0x2243,
00123 MS_APPROX = (sal_Unicode) 0x2248,
00124 MS_DEF = (sal_Unicode) 0x225D,
00125 MS_EQUIV = (sal_Unicode) 0x2261,
00126 MS_PROP = (sal_Unicode) 0x221D,
00127 MS_PARTIAL = (sal_Unicode) 0x2202,
00128 MS_SUBSET = (sal_Unicode) 0x2282,
00129
00130 MS_SUPSET = (sal_Unicode) 0x2283,
00131 MS_SUBSETEQ = (sal_Unicode) 0x2286,
00132 MS_SUPSETEQ = (sal_Unicode) 0x2287,
00133 MS_NSUBSET = (sal_Unicode) 0x2284,
00134 MS_NSUPSET = (sal_Unicode) 0x2285,
00135 MS_NSUBSETEQ = (sal_Unicode) 0x2288,
00136 MS_NSUPSETEQ = (sal_Unicode) 0x2289,
00137 MS_IN = (sal_Unicode) 0x2208,
00138 MS_NOTIN = (sal_Unicode) 0x2209,
00139 MS_EXISTS = (sal_Unicode) 0x2203,
00140 MS_BACKEPSILON = (sal_Unicode) 0x220D,
00141 MS_ALEPH = (sal_Unicode) 0x2135,
00142 MS_IM = (sal_Unicode) 0x2111,
00143 MS_RE = (sal_Unicode) 0x211C,
00144 MS_WP = (sal_Unicode) 0x2118,
00145
00146 MS_LINE = (sal_Unicode) 0x2223,
00147 MS_DLINE = (sal_Unicode) 0x2225,
00148 MS_ORTHO = (sal_Unicode) 0x22A5,
00149 MS_DOTSLOW = (sal_Unicode) 0xE08B,
00150 MS_DOTSAXIS = (sal_Unicode) 0x22EF,
00151 MS_DOTSVERT = (sal_Unicode) 0x22EE,
00152 MS_DOTSUP = (sal_Unicode) 0x22F0,
00153 MS_DOTSDOWN = (sal_Unicode) 0x22F1,
00154 MS_TRANSR = (sal_Unicode) 0x22B6,
00155 MS_TRANSL = (sal_Unicode) 0x22B7,
00156 MS_RIGHTARROW = (sal_Unicode) 0xE08C,
00157 MS_BACKSLASH = (sal_Unicode) 0x2216,
00158 MS_NEG = (sal_Unicode) 0x00AC,
00159
00160 MS_INT = (sal_Unicode) 0x222B,
00161 MS_IINT = (sal_Unicode) 0x222C,
00162 MS_IIINT = (sal_Unicode) 0x222D,
00163 MS_LINT = (sal_Unicode) 0x222E,
00164 MS_LLINT = (sal_Unicode) 0x222F,
00165 MS_LLLINT = (sal_Unicode) 0x2230,
00166 MS_SQRT = (sal_Unicode) 0xE08D,
00167 MS_COPROD = (sal_Unicode) 0x2210,
00168 MS_PROD = (sal_Unicode) 0x220F,
00169 MS_SUM = (sal_Unicode) 0x2211,
00170 MS_NABLA = (sal_Unicode) 0x2207,
00171 MS_FORALL = (sal_Unicode) 0x2200,
00172
00173 MS_HAT = (sal_Unicode) 0xE091,
00174 MS_CHECK = (sal_Unicode) 0xE092,
00175 MS_BREVE = (sal_Unicode) 0xE093,
00176 MS_ACUTE = (sal_Unicode) 0xE094,
00177 MS_GRAVE = (sal_Unicode) 0xE095,
00178 MS_TILDE = (sal_Unicode) 0xE096,
00179 MS_BAR = (sal_Unicode) 0xE097,
00180 MS_VEC = (sal_Unicode) 0xE098,
00181 MS_DOT = (sal_Unicode) 0x02D9,
00182 MS_DDOT = (sal_Unicode) 0x00A8,
00183 MS_DDDOT = (sal_Unicode) 0xE09B,
00184 MS_CIRCLE = (sal_Unicode) 0x02DA,
00185 MS_AND = (sal_Unicode) 0x2227,
00186 MS_OR = (sal_Unicode) 0x2228,
00187 MS_NI = (sal_Unicode) 0x220B,
00188 MS_EMPTYSET = (sal_Unicode) 0x2205,
00189
00190 MS_LBRACE = (sal_Unicode) 0x007B,
00191 MS_RBRACE = (sal_Unicode) 0x007D,
00192 MS_LPARENT = (sal_Unicode) 0xE09E,
00193 MS_RPARENT = (sal_Unicode) 0xE09F,
00194 MS_LANGLE = (sal_Unicode) 0x2329,
00195 MS_RANGLE = (sal_Unicode) 0x232A,
00196 MS_LBRACKET = (sal_Unicode) 0x005B,
00197 MS_RBRACKET = (sal_Unicode) 0x005D,
00198
00199 MS_LDBRACKET = (sal_Unicode) 0x301A,
00200 MS_RDBRACKET = (sal_Unicode) 0x301B,
00201 MS_PLACE = (sal_Unicode) 0xE0AA,
00202
00203 MS_LCEIL = (sal_Unicode) 0x2308,
00204 MS_LFLOOR = (sal_Unicode) 0x230A,
00205 MS_RCEIL = (sal_Unicode) 0x2309,
00206 MS_RFLOOR = (sal_Unicode) 0x230B,
00207
00208 MS_HBAR = (sal_Unicode) 0x210F,
00209 MS_LAMBDABAR = (sal_Unicode) 0x019B,
00210 MS_LEFTARROW = (sal_Unicode) 0xE0DB,
00211 MS_UPARROW = (sal_Unicode) 0xE0DC,
00212 MS_DOWNARROW = (sal_Unicode) 0xE0DD,
00213 MS_SETN = (sal_Unicode) 0x2115,
00214 MS_SETZ = (sal_Unicode) 0x2124,
00215 MS_SETQ = (sal_Unicode) 0x211A,
00216 MS_SETR = (sal_Unicode) 0x211D,
00217 MS_SETC = (sal_Unicode) 0x2102
00218 };
00219
00220
00221 #endif
00222