/Users/ericb/Desktop/SRC680_m247/starmath/inc/types.hxx

Go to the documentation of this file.
00001 /*************************************************************************
00002  *
00003  *  OpenOffice.org - a multi-platform office productivity suite
00004  *
00005  *  $RCSfile: types.hxx,v $
00006  *
00007  *  $Revision: 1.7 $
00008  *
00009  *  last change: $Author: obo $ $Date: 2006/07/14 08:22:01 $
00010  *
00011  *  The Contents of this file are made available subject to
00012  *  the terms of GNU Lesser General Public License Version 2.1.
00013  *
00014  *
00015  *    GNU Lesser General Public License Version 2.1
00016  *    =============================================
00017  *    Copyright 2005 by Sun Microsystems, Inc.
00018  *    901 San Antonio Road, Palo Alto, CA 94303, USA
00019  *
00020  *    This library is free software; you can redistribute it and/or
00021  *    modify it under the terms of the GNU Lesser General Public
00022  *    License version 2.1, as published by the Free Software Foundation.
00023  *
00024  *    This library is distributed in the hope that it will be useful,
00025  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00026  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00027  *    Lesser General Public License for more details.
00028  *
00029  *    You should have received a copy of the GNU Lesser General Public
00030  *    License along with this library; if not, write to the Free Software
00031  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00032  *    MA  02111-1307  USA
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 // Greek char range as seen in svx/.../charmap.cxx RID_SUBSETSTR_BASIC_GREEK
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 // enum definitions for characters from the 'StarSymbol' font
00076 // (some chars have more than one alias!)
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 

Generated on Wed Feb 20 17:21:56 2008 for maths by  doxygen 1.5.1