1 /* Lasem 2 * 3 * Copyright © 2007-2008 Emmanuel Pacaud 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General 16 * Public License along with this library; if not, write to the 17 * Free Software Foundation, Inc., 59 Temple Place, Suite 330, 18 * Boston, MA 02111-1307, USA. 19 * 20 * Author: 21 * Emmanuel Pacaud <emmanuel@gnome.org> 22 */ 23 24 #ifndef LSM_MATHML_ENUMS_H 25 #define LSM_MATHML_ENUMS_H 26 27 #include <glib-object.h> 28 29 G_BEGIN_DECLS 30 31 typedef enum { 32 LSM_MATHML_CSS_TYPE_USER, 33 LSM_MATHML_CSS_TYPE_AUTHOR, 34 LSM_MATHML_CSS_TYPE_AUTHOR_IMPORTANT, 35 LSM_MATHML_CSS_TYPE_USER_IMPORTANT 36 } LsmMathmlCssType; 37 38 typedef enum { 39 LSM_MATHML_MODE_ERROR = -1, 40 LSM_MATHML_MODE_DISPLAY, 41 LSM_MATHML_MODE_INLINE 42 } LsmMathmlMode; 43 44 const char * lsm_mathml_mode_to_string (LsmMathmlMode mode); 45 LsmMathmlMode lsm_mathml_mode_from_string (const char *string); 46 47 typedef enum { 48 LSM_MATHML_DISPLAY_ERROR = -1, 49 LSM_MATHML_DISPLAY_BLOCK, 50 LSM_MATHML_DISPLAY_INLINE 51 } LsmMathmlDisplay; 52 53 const char * lsm_mathml_display_to_string (LsmMathmlDisplay display); 54 LsmMathmlDisplay lsm_mathml_display_from_string (const char *string); 55 56 typedef enum { 57 LSM_MATHML_SPACE_NAME_ERROR = -1, 58 LSM_MATHML_SPACE_NAME_NEGATIVE_VERY_VERY_THIN, 59 LSM_MATHML_SPACE_NAME_NEGATIVE_VERY_THIN, 60 LSM_MATHML_SPACE_NAME_NEGATIVE_THIN, 61 LSM_MATHML_SPACE_NAME_NEGATIVE_MEDIUM, 62 LSM_MATHML_SPACE_NAME_NEGATIVE_THICK, 63 LSM_MATHML_SPACE_NAME_NEGATIVE_VERY_THICK, 64 LSM_MATHML_SPACE_NAME_NEGATIVE_VERY_VERY_THICK, 65 LSM_MATHML_SPACE_NAME_VERY_VERY_THIN, 66 LSM_MATHML_SPACE_NAME_VERY_THIN, 67 LSM_MATHML_SPACE_NAME_THIN, 68 LSM_MATHML_SPACE_NAME_MEDIUM, 69 LSM_MATHML_SPACE_NAME_THICK, 70 LSM_MATHML_SPACE_NAME_VERY_THICK, 71 LSM_MATHML_SPACE_NAME_VERY_VERY_THICK, 72 LSM_MATHML_SPACE_NAME_INFINITY 73 } LsmMathmlSpaceName; 74 75 const char * lsm_mathml_space_name_to_string (LsmMathmlSpaceName name); 76 LsmMathmlSpaceName lsm_mathml_space_name_from_string (const char *string); 77 78 typedef enum { 79 LSM_MATHML_UNIT_ERROR = -1, 80 LSM_MATHML_UNIT_NONE, 81 LSM_MATHML_UNIT_EM, 82 LSM_MATHML_UNIT_EX, 83 LSM_MATHML_UNIT_IN, 84 LSM_MATHML_UNIT_CM, 85 LSM_MATHML_UNIT_MM, 86 LSM_MATHML_UNIT_PT, 87 LSM_MATHML_UNIT_PX, 88 LSM_MATHML_UNIT_PC, 89 LSM_MATHML_UNIT_PERCENT 90 } LsmMathmlUnit; 91 92 const char * lsm_mathml_unit_to_string (LsmMathmlUnit unit); 93 LsmMathmlUnit lsm_mathml_unit_from_string (const char *string); 94 95 typedef enum { 96 LSM_MATHML_FONT_STYLE_ERROR = -1, 97 LSM_MATHML_FONT_STYLE_NORMAL, 98 LSM_MATHML_FONT_STYLE_ITALIC 99 } LsmMathmlFontStyle; 100 101 const char * lsm_mathml_font_style_to_string (LsmMathmlFontStyle font_style); 102 LsmMathmlFontStyle lsm_mathml_font_style_from_string (const char *string); 103 104 typedef enum { 105 LSM_MATHML_FONT_WEIGHT_ERROR = -1, 106 LSM_MATHML_FONT_WEIGHT_NORMAL, 107 LSM_MATHML_FONT_WEIGHT_BOLD 108 } LsmMathmlFontWeight; 109 110 const char * lsm_mathml_font_weight_to_string (LsmMathmlFontWeight font_weight); 111 LsmMathmlFontWeight lsm_mathml_font_weight_from_string (const char *string); 112 113 /* Keep in sync with lsm_mathml_pango_options in lsm_mathml_view */ 114 typedef enum { 115 LSM_MATHML_VARIANT_ERROR = -1, 116 LSM_MATHML_VARIANT_NORMAL, 117 LSM_MATHML_VARIANT_BOLD, 118 LSM_MATHML_VARIANT_ITALIC, 119 LSM_MATHML_VARIANT_BOLD_ITALIC, 120 LSM_MATHML_VARIANT_DOUBLE_STRUCK, 121 LSM_MATHML_VARIANT_FRAKTUR_BOLD, 122 LSM_MATHML_VARIANT_SCRIPT, 123 LSM_MATHML_VARIANT_SCRIPT_BOLD, 124 LSM_MATHML_VARIANT_FRAKTUR, 125 LSM_MATHML_VARIANT_SANS_SERIF, 126 LSM_MATHML_VARIANT_SANS_SERIF_BOLD, 127 LSM_MATHML_VARIANT_SANS_SERIF_ITALIC, 128 LSM_MATHML_VARIANT_SANS_SERIF_BOLD_ITALIC, 129 LSM_MATHML_VARIANT_MONOSPACE 130 } LsmMathmlVariant; 131 132 const char * lsm_mathml_variant_to_string (LsmMathmlVariant variant); 133 LsmMathmlVariant lsm_mathml_variant_from_string (const char *string); 134 void lsm_mathml_variant_set_font_style (LsmMathmlVariant *variant, LsmMathmlFontStyle style); 135 void lsm_mathml_variant_set_font_weight (LsmMathmlVariant *variant, LsmMathmlFontWeight weight); 136 137 typedef enum { 138 LSM_MATHML_FORM_ERROR = -1, 139 LSM_MATHML_FORM_PREFIX, 140 LSM_MATHML_FORM_POSTFIX, 141 LSM_MATHML_FORM_INFIX 142 } LsmMathmlForm; 143 144 const char * lsm_mathml_form_to_string (LsmMathmlForm form); 145 LsmMathmlForm lsm_mathml_form_from_string (const char *string); 146 147 typedef enum { 148 LSM_MATHML_ROW_ALIGN_ERROR = -1, 149 LSM_MATHML_ROW_ALIGN_BASELINE, 150 LSM_MATHML_ROW_ALIGN_TOP, 151 LSM_MATHML_ROW_ALIGN_BOTTOM, 152 LSM_MATHML_ROW_ALIGN_CENTER, 153 LSM_MATHML_ROW_ALIGN_AXIS 154 } LsmMathmlRowAlign; 155 156 const char * lsm_mathml_row_align_to_string (LsmMathmlRowAlign row_align); 157 LsmMathmlRowAlign lsm_mathml_row_align_from_string (const char *string); 158 159 typedef enum { 160 LSM_MATHML_COLUMN_ALIGN_ERROR = -1, 161 LSM_MATHML_COLUMN_ALIGN_CENTER, 162 LSM_MATHML_COLUMN_ALIGN_LEFT, 163 LSM_MATHML_COLUMN_ALIGN_RIGHT 164 } LsmMathmlColumnAlign; 165 166 const char * lsm_mathml_column_align_to_string (LsmMathmlColumnAlign column_align); 167 LsmMathmlColumnAlign lsm_mathml_column_align_from_string (const char *string); 168 169 typedef enum { 170 LSM_MATHML_LINE_ERROR = -1, 171 LSM_MATHML_LINE_NONE, 172 LSM_MATHML_LINE_SOLID, 173 LSM_MATHML_LINE_DASHED 174 } LsmMathmlLine; 175 176 const char * lsm_mathml_line_to_string (LsmMathmlLine line); 177 LsmMathmlLine lsm_mathml_line_from_string (const char *string); 178 179 typedef enum { 180 LSM_MATHML_SCRIPT_LEVEL_SIGN_ERROR = -1, 181 LSM_MATHML_SCRIPT_LEVEL_SIGN_NONE, 182 LSM_MATHML_SCRIPT_LEVEL_SIGN_PLUS, 183 LSM_MATHML_SCRIPT_LEVEL_SIGN_MINUS 184 } LsmMathmlScriptLevelSign; 185 186 typedef enum { 187 LSM_MATHML_NOTATION_ERROR = -1, 188 LSM_MATHML_NOTATION_LONGDIV, 189 LSM_MATHML_NOTATION_ACTUARIAL, 190 LSM_MATHML_NOTATION_RADICAL, 191 LSM_MATHML_NOTATION_BOX, 192 LSM_MATHML_NOTATION_ROUNDED_BOX, 193 LSM_MATHML_NOTATION_CIRCLE, 194 LSM_MATHML_NOTATION_LEFT, 195 LSM_MATHML_NOTATION_RIGHT, 196 LSM_MATHML_NOTATION_TOP, 197 LSM_MATHML_NOTATION_BOTTOM, 198 LSM_MATHML_NOTATION_UP_DIAGONAL_STRIKE, 199 LSM_MATHML_NOTATION_DOWN_DIAGONAL_STRIKE, 200 LSM_MATHML_NOTATION_VERTICAL_STRIKE, 201 LSM_MATHML_NOTATION_HORIZONTAL_STRIKE, 202 LSM_MATHML_NOTATION_MADRUWB, 203 LSM_MATHML_NOTATION_UP_DIAGONAL_ARROW, 204 LSM_MATHML_NOTATION_LAST 205 } LsmMathmlNotation; 206 207 const char * lsm_mathml_notation_to_string (LsmMathmlNotation notation); 208 LsmMathmlNotation lsm_mathml_notation_from_string (const char *string); 209 210 typedef enum { 211 LSM_MATHML_LINEBREAK_ERROR = -1, 212 LSM_MATHML_LINEBREAK_AUTO, 213 LSM_MATHML_LINEBREAK_NEWLINE, 214 LSM_MATHML_LINEBREAK_NOBREAK, 215 LSM_MATHML_LINEBREAK_GOODBREAK, 216 LSM_MATHML_LINEBREAK_BADBREAK 217 } LsmMathmlLinebreak; 218 219 const char * lsm_mathml_linebreak_to_string (LsmMathmlLinebreak linebreak); 220 LsmMathmlLinebreak lsm_mathml_linebreak_from_string (const char *string); 221 222 G_END_DECLS 223 224 #endif 225