mathematical 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +52 -10
- data/Rakefile +42 -3
- data/lib/mathematical.rb +5 -4
- data/lib/mathematical/mathematical.bundle +0 -0
- data/lib/mathematical/render.rb +6 -5
- data/lib/mathematical/version.rb +1 -1
- data/mathematical.gemspec +5 -5
- metadata +14 -296
- data/.gitignore +0 -24
- data/.gitmodules +0 -0
- data/Gemfile +0 -4
- data/ext/mathematical/README.itex2MML.md +0 -11
- data/ext/mathematical/README.lasem.md +0 -11
- data/ext/mathematical/extconf.rb +0 -51
- data/ext/mathematical/itex2MML.h +0 -63
- data/ext/mathematical/lasemrender.c +0 -257
- data/ext/mathematical/lex.yy.c +0 -6548
- data/ext/mathematical/lsm.c +0 -30
- data/ext/mathematical/lsm.h +0 -36
- data/ext/mathematical/lsmattributes.c +0 -279
- data/ext/mathematical/lsmattributes.h +0 -75
- data/ext/mathematical/lsmcairo.c +0 -598
- data/ext/mathematical/lsmcairo.h +0 -51
- data/ext/mathematical/lsmdebug.c +0 -179
- data/ext/mathematical/lsmdebug.h +0 -76
- data/ext/mathematical/lsmdom.h +0 -43
- data/ext/mathematical/lsmdomcharacterdata.c +0 -114
- data/ext/mathematical/lsmdomcharacterdata.h +0 -59
- data/ext/mathematical/lsmdomdocument.c +0 -292
- data/ext/mathematical/lsmdomdocument.h +0 -82
- data/ext/mathematical/lsmdomdocumentfragment.c +0 -81
- data/ext/mathematical/lsmdomdocumentfragment.h +0 -55
- data/ext/mathematical/lsmdomelement.c +0 -148
- data/ext/mathematical/lsmdomelement.h +0 -62
- data/ext/mathematical/lsmdomentities.c +0 -2155
- data/ext/mathematical/lsmdomentities.h +0 -35
- data/ext/mathematical/lsmdomenumtypes.c +0 -99
- data/ext/mathematical/lsmdomenumtypes.c.template +0 -39
- data/ext/mathematical/lsmdomenumtypes.h +0 -26
- data/ext/mathematical/lsmdomenumtypes.h.template +0 -26
- data/ext/mathematical/lsmdomimplementation.c +0 -82
- data/ext/mathematical/lsmdomimplementation.h +0 -41
- data/ext/mathematical/lsmdomnamednodemap.c +0 -118
- data/ext/mathematical/lsmdomnamednodemap.h +0 -64
- data/ext/mathematical/lsmdomnode.c +0 -725
- data/ext/mathematical/lsmdomnode.h +0 -120
- data/ext/mathematical/lsmdomnodelist.c +0 -70
- data/ext/mathematical/lsmdomnodelist.h +0 -58
- data/ext/mathematical/lsmdomparser.c +0 -461
- data/ext/mathematical/lsmdomparser.h +0 -54
- data/ext/mathematical/lsmdomtext.c +0 -82
- data/ext/mathematical/lsmdomtext.h +0 -55
- data/ext/mathematical/lsmdomtypes.h +0 -44
- data/ext/mathematical/lsmdomview.c +0 -422
- data/ext/mathematical/lsmdomview.h +0 -94
- data/ext/mathematical/lsmmathml.h +0 -66
- data/ext/mathematical/lsmmathmlactionelement.c +0 -93
- data/ext/mathematical/lsmmathmlactionelement.h +0 -57
- data/ext/mathematical/lsmmathmlaligngroupelement.c +0 -102
- data/ext/mathematical/lsmmathmlaligngroupelement.h +0 -56
- data/ext/mathematical/lsmmathmlalignmarkelement.c +0 -102
- data/ext/mathematical/lsmmathmlalignmarkelement.h +0 -56
- data/ext/mathematical/lsmmathmlattributes.c +0 -197
- data/ext/mathematical/lsmmathmlattributes.h +0 -126
- data/ext/mathematical/lsmmathmldocument.c +0 -306
- data/ext/mathematical/lsmmathmldocument.h +0 -61
- data/ext/mathematical/lsmmathmlelement.c +0 -491
- data/ext/mathematical/lsmmathmlelement.h +0 -107
- data/ext/mathematical/lsmmathmlenums.c +0 -429
- data/ext/mathematical/lsmmathmlenums.h +0 -182
- data/ext/mathematical/lsmmathmlenumtypes.c +0 -666
- data/ext/mathematical/lsmmathmlenumtypes.c.template +0 -39
- data/ext/mathematical/lsmmathmlenumtypes.h +0 -90
- data/ext/mathematical/lsmmathmlenumtypes.h.template +0 -26
- data/ext/mathematical/lsmmathmlerrorelement.c +0 -58
- data/ext/mathematical/lsmmathmlerrorelement.h +0 -56
- data/ext/mathematical/lsmmathmlfencedelement.c +0 -178
- data/ext/mathematical/lsmmathmlfencedelement.h +0 -65
- data/ext/mathematical/lsmmathmlfractionelement.c +0 -253
- data/ext/mathematical/lsmmathmlfractionelement.h +0 -62
- data/ext/mathematical/lsmmathmlglyphtableams.c +0 -597
- data/ext/mathematical/lsmmathmlglyphtableams.h +0 -45
- data/ext/mathematical/lsmmathmlitexelement.c +0 -187
- data/ext/mathematical/lsmmathmlitexelement.h +0 -60
- data/ext/mathematical/lsmmathmllayoututils.c +0 -191
- data/ext/mathematical/lsmmathmllayoututils.h +0 -58
- data/ext/mathematical/lsmmathmlmathelement.c +0 -204
- data/ext/mathematical/lsmmathmlmathelement.h +0 -81
- data/ext/mathematical/lsmmathmloperatordictionary.c +0 -3332
- data/ext/mathematical/lsmmathmloperatordictionary.h +0 -54
- data/ext/mathematical/lsmmathmloperatorelement.c +0 -307
- data/ext/mathematical/lsmmathmloperatorelement.h +0 -73
- data/ext/mathematical/lsmmathmlpaddedelement.c +0 -58
- data/ext/mathematical/lsmmathmlpaddedelement.h +0 -56
- data/ext/mathematical/lsmmathmlphantomelement.c +0 -71
- data/ext/mathematical/lsmmathmlphantomelement.h +0 -56
- data/ext/mathematical/lsmmathmlpresentationcontainer.c +0 -43
- data/ext/mathematical/lsmmathmlpresentationcontainer.h +0 -54
- data/ext/mathematical/lsmmathmlpresentationtoken.c +0 -303
- data/ext/mathematical/lsmmathmlpresentationtoken.h +0 -83
- data/ext/mathematical/lsmmathmlradicalelement.c +0 -266
- data/ext/mathematical/lsmmathmlradicalelement.h +0 -71
- data/ext/mathematical/lsmmathmlrowelement.c +0 -58
- data/ext/mathematical/lsmmathmlrowelement.h +0 -56
- data/ext/mathematical/lsmmathmlscriptelement.c +0 -282
- data/ext/mathematical/lsmmathmlscriptelement.h +0 -78
- data/ext/mathematical/lsmmathmlsemanticselement.c +0 -82
- data/ext/mathematical/lsmmathmlsemanticselement.h +0 -56
- data/ext/mathematical/lsmmathmlspaceelement.c +0 -142
- data/ext/mathematical/lsmmathmlspaceelement.h +0 -60
- data/ext/mathematical/lsmmathmlstringelement.c +0 -123
- data/ext/mathematical/lsmmathmlstringelement.h +0 -58
- data/ext/mathematical/lsmmathmlstyle.c +0 -130
- data/ext/mathematical/lsmmathmlstyle.h +0 -81
- data/ext/mathematical/lsmmathmlstyleelement.c +0 -307
- data/ext/mathematical/lsmmathmlstyleelement.h +0 -87
- data/ext/mathematical/lsmmathmltablecellelement.c +0 -122
- data/ext/mathematical/lsmmathmltablecellelement.h +0 -62
- data/ext/mathematical/lsmmathmltableelement.c +0 -545
- data/ext/mathematical/lsmmathmltableelement.h +0 -78
- data/ext/mathematical/lsmmathmltablerowelement.c +0 -120
- data/ext/mathematical/lsmmathmltablerowelement.h +0 -64
- data/ext/mathematical/lsmmathmltraits.c +0 -819
- data/ext/mathematical/lsmmathmltraits.h +0 -119
- data/ext/mathematical/lsmmathmltypes.h +0 -66
- data/ext/mathematical/lsmmathmlunderoverelement.c +0 -485
- data/ext/mathematical/lsmmathmlunderoverelement.h +0 -82
- data/ext/mathematical/lsmmathmlutils.c +0 -170
- data/ext/mathematical/lsmmathmlutils.h +0 -50
- data/ext/mathematical/lsmmathmlview.c +0 -1048
- data/ext/mathematical/lsmmathmlview.h +0 -164
- data/ext/mathematical/lsmproperties.c +0 -418
- data/ext/mathematical/lsmproperties.h +0 -85
- data/ext/mathematical/lsmstr.c +0 -231
- data/ext/mathematical/lsmstr.h +0 -114
- data/ext/mathematical/lsmsvg.h +0 -67
- data/ext/mathematical/lsmsvgaelement.c +0 -73
- data/ext/mathematical/lsmsvgaelement.h +0 -55
- data/ext/mathematical/lsmsvgattributes.h +0 -113
- data/ext/mathematical/lsmsvgcircleelement.c +0 -153
- data/ext/mathematical/lsmsvgcircleelement.h +0 -59
- data/ext/mathematical/lsmsvgclippathelement.c +0 -134
- data/ext/mathematical/lsmsvgclippathelement.h +0 -59
- data/ext/mathematical/lsmsvgcolors.c +0 -212
- data/ext/mathematical/lsmsvgcolors.h +0 -39
- data/ext/mathematical/lsmsvgdefselement.c +0 -74
- data/ext/mathematical/lsmsvgdefselement.h +0 -55
- data/ext/mathematical/lsmsvgdocument.c +0 -230
- data/ext/mathematical/lsmsvgdocument.h +0 -58
- data/ext/mathematical/lsmsvgelement.c +0 -367
- data/ext/mathematical/lsmsvgelement.h +0 -81
- data/ext/mathematical/lsmsvgellipseelement.c +0 -158
- data/ext/mathematical/lsmsvgellipseelement.h +0 -60
- data/ext/mathematical/lsmsvgenums.c +0 -544
- data/ext/mathematical/lsmsvgenums.h +0 -357
- data/ext/mathematical/lsmsvgenumtypes.c +0 -1083
- data/ext/mathematical/lsmsvgenumtypes.c.template +0 -39
- data/ext/mathematical/lsmsvgenumtypes.h +0 -111
- data/ext/mathematical/lsmsvgenumtypes.h.template +0 -26
- data/ext/mathematical/lsmsvgfilterblend.c +0 -105
- data/ext/mathematical/lsmsvgfilterblend.h +0 -58
- data/ext/mathematical/lsmsvgfiltercomposite.c +0 -109
- data/ext/mathematical/lsmsvgfiltercomposite.h +0 -58
- data/ext/mathematical/lsmsvgfilterelement.c +0 -266
- data/ext/mathematical/lsmsvgfilterelement.h +0 -66
- data/ext/mathematical/lsmsvgfilterflood.c +0 -86
- data/ext/mathematical/lsmsvgfilterflood.h +0 -55
- data/ext/mathematical/lsmsvgfiltergaussianblur.c +0 -114
- data/ext/mathematical/lsmsvgfiltergaussianblur.h +0 -57
- data/ext/mathematical/lsmsvgfiltermerge.c +0 -98
- data/ext/mathematical/lsmsvgfiltermerge.h +0 -55
- data/ext/mathematical/lsmsvgfiltermergenode.c +0 -87
- data/ext/mathematical/lsmsvgfiltermergenode.h +0 -57
- data/ext/mathematical/lsmsvgfilteroffset.c +0 -112
- data/ext/mathematical/lsmsvgfilteroffset.h +0 -58
- data/ext/mathematical/lsmsvgfilterprimitive.c +0 -168
- data/ext/mathematical/lsmsvgfilterprimitive.h +0 -66
- data/ext/mathematical/lsmsvgfilterspecularlighting.c +0 -127
- data/ext/mathematical/lsmsvgfilterspecularlighting.h +0 -60
- data/ext/mathematical/lsmsvgfiltersurface.c +0 -455
- data/ext/mathematical/lsmsvgfiltersurface.h +0 -66
- data/ext/mathematical/lsmsvgfiltertile.c +0 -102
- data/ext/mathematical/lsmsvgfiltertile.h +0 -57
- data/ext/mathematical/lsmsvggelement.c +0 -73
- data/ext/mathematical/lsmsvggelement.h +0 -55
- data/ext/mathematical/lsmsvggradientelement.c +0 -151
- data/ext/mathematical/lsmsvggradientelement.h +0 -68
- data/ext/mathematical/lsmsvgimageelement.c +0 -261
- data/ext/mathematical/lsmsvgimageelement.h +0 -67
- data/ext/mathematical/lsmsvglength.c +0 -93
- data/ext/mathematical/lsmsvglength.h +0 -59
- data/ext/mathematical/lsmsvglineargradientelement.c +0 -271
- data/ext/mathematical/lsmsvglineargradientelement.h +0 -60
- data/ext/mathematical/lsmsvglineelement.c +0 -153
- data/ext/mathematical/lsmsvglineelement.h +0 -60
- data/ext/mathematical/lsmsvgmarkerelement.c +0 -266
- data/ext/mathematical/lsmsvgmarkerelement.h +0 -74
- data/ext/mathematical/lsmsvgmaskelement.c +0 -232
- data/ext/mathematical/lsmsvgmaskelement.h +0 -64
- data/ext/mathematical/lsmsvgmatrix.c +0 -205
- data/ext/mathematical/lsmsvgmatrix.h +0 -59
- data/ext/mathematical/lsmsvgpathelement.c +0 -115
- data/ext/mathematical/lsmsvgpathelement.h +0 -59
- data/ext/mathematical/lsmsvgpatternelement.c +0 -398
- data/ext/mathematical/lsmsvgpatternelement.h +0 -69
- data/ext/mathematical/lsmsvgpolygonelement.c +0 -106
- data/ext/mathematical/lsmsvgpolygonelement.h +0 -57
- data/ext/mathematical/lsmsvgpolylineelement.c +0 -106
- data/ext/mathematical/lsmsvgpolylineelement.h +0 -57
- data/ext/mathematical/lsmsvgradialgradientelement.c +0 -323
- data/ext/mathematical/lsmsvgradialgradientelement.h +0 -61
- data/ext/mathematical/lsmsvgrectelement.c +0 -184
- data/ext/mathematical/lsmsvgrectelement.h +0 -62
- data/ext/mathematical/lsmsvgstopelement.c +0 -106
- data/ext/mathematical/lsmsvgstopelement.h +0 -57
- data/ext/mathematical/lsmsvgstyle.c +0 -558
- data/ext/mathematical/lsmsvgstyle.h +0 -217
- data/ext/mathematical/lsmsvgsvgelement.c +0 -260
- data/ext/mathematical/lsmsvgsvgelement.h +0 -71
- data/ext/mathematical/lsmsvgswitchelement.c +0 -103
- data/ext/mathematical/lsmsvgswitchelement.h +0 -55
- data/ext/mathematical/lsmsvgsymbolelement.c +0 -74
- data/ext/mathematical/lsmsvgsymbolelement.h +0 -55
- data/ext/mathematical/lsmsvgtextelement.c +0 -170
- data/ext/mathematical/lsmsvgtextelement.h +0 -58
- data/ext/mathematical/lsmsvgtraits.c +0 -1158
- data/ext/mathematical/lsmsvgtraits.h +0 -103
- data/ext/mathematical/lsmsvgtransformable.c +0 -106
- data/ext/mathematical/lsmsvgtransformable.h +0 -54
- data/ext/mathematical/lsmsvgtspanelement.c +0 -143
- data/ext/mathematical/lsmsvgtspanelement.h +0 -58
- data/ext/mathematical/lsmsvgtypes.h +0 -77
- data/ext/mathematical/lsmsvguseelement.c +0 -237
- data/ext/mathematical/lsmsvguseelement.h +0 -69
- data/ext/mathematical/lsmsvgview.c +0 -2400
- data/ext/mathematical/lsmsvgview.h +0 -168
- data/ext/mathematical/lsmtraits.c +0 -119
- data/ext/mathematical/lsmtraits.h +0 -49
- data/ext/mathematical/lsmtypes.h +0 -36
- data/ext/mathematical/lsmutils.c +0 -54
- data/ext/mathematical/lsmutils.h +0 -56
- data/ext/mathematical/mathematical.c +0 -122
- data/ext/mathematical/y.tab.c +0 -6179
- data/ext/mathematical/y.tab.h +0 -389
- data/script/bench +0 -21
- data/script/bootstrap +0 -9
- data/script/single_test +0 -7
- data/test/mathematical/basic_test.rb +0 -38
- data/test/mathematical/fixtures/after/brackets_display.html +0 -1
- data/test/mathematical/fixtures/after/dollar_sign_inline.html +0 -1
- data/test/mathematical/fixtures/after/equation_display.html +0 -1
- data/test/mathematical/fixtures/after/multiple_dollar_inline.html +0 -1
- data/test/mathematical/fixtures/after/parens_inline.html +0 -1
- data/test/mathematical/fixtures/before/brackets_display.text +0 -1
- data/test/mathematical/fixtures/before/dollar_sign_inline.text +0 -1
- data/test/mathematical/fixtures/before/equation_display.text +0 -1
- data/test/mathematical/fixtures/before/multiple_dollar_inline.text +0 -1
- data/test/mathematical/fixtures/before/parens_inline.text +0 -1
- data/test/mathematical/fixtures/performance/big_file.text +0 -1767
- data/test/mathematical/fixtures_test.rb +0 -31
- data/test/mathematical/performance_test.rb +0 -13
- data/test/test_helper.rb +0 -4
|
@@ -1,65 +0,0 @@
|
|
|
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_FENCED_ELEMENT_H
|
|
25
|
-
#define LSM_MATHML_FENCED_ELEMENT_H
|
|
26
|
-
|
|
27
|
-
#include <lsmmathmltypes.h>
|
|
28
|
-
#include <lsmmathmlpresentationcontainer.h>
|
|
29
|
-
|
|
30
|
-
G_BEGIN_DECLS
|
|
31
|
-
|
|
32
|
-
#define LSM_TYPE_MATHML_FENCED_ELEMENT (lsm_mathml_fenced_element_get_type ())
|
|
33
|
-
#define LSM_MATHML_FENCED_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LSM_TYPE_MATHML_FENCED_ELEMENT, LsmMathmlFencedElement))
|
|
34
|
-
#define LSM_MATHML_FENCED_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LSM_TYPE_MATHML_FENCED_ELEMENT, LsmMathmlFencedElementClass))
|
|
35
|
-
#define LSM_IS_MATHML_FENCED_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LSM_TYPE_MATHML_FENCED_ELEMENT))
|
|
36
|
-
#define LSM_IS_MATHML_FENCED_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LSM_TYPE_MATHML_FENCED_ELEMENT))
|
|
37
|
-
#define LSM_MATHML_FENCED_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LSM_TYPE_MATHML_FENCED_ELEMENT, LsmMathmlFencedElementClass))
|
|
38
|
-
|
|
39
|
-
typedef struct _LsmMathmlFencedElementClass LsmMathmlFencedElementClass;
|
|
40
|
-
|
|
41
|
-
struct _LsmMathmlFencedElement {
|
|
42
|
-
LsmMathmlPresentationContainer presentation_container;
|
|
43
|
-
|
|
44
|
-
LsmMathmlStringAttribute open;
|
|
45
|
-
LsmMathmlStringAttribute close;
|
|
46
|
-
LsmMathmlStringAttribute separators;
|
|
47
|
-
|
|
48
|
-
/* View properties */
|
|
49
|
-
|
|
50
|
-
LsmMathmlBbox open_bbox;
|
|
51
|
-
LsmMathmlBbox close_bbox;
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
struct _LsmMathmlFencedElementClass {
|
|
55
|
-
LsmMathmlPresentationContainerClass parent_class;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
GType lsm_mathml_fenced_element_get_type (void);
|
|
59
|
-
|
|
60
|
-
LsmDomNode *lsm_mathml_fenced_element_new (void);
|
|
61
|
-
|
|
62
|
-
G_END_DECLS
|
|
63
|
-
|
|
64
|
-
#endif
|
|
65
|
-
|
|
@@ -1,253 +0,0 @@
|
|
|
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
|
-
#include <lsmmathmlfractionelement.h>
|
|
25
|
-
#include <lsmmathmlview.h>
|
|
26
|
-
|
|
27
|
-
static GObjectClass *parent_class;
|
|
28
|
-
|
|
29
|
-
/* LsmDomNode implementation */
|
|
30
|
-
|
|
31
|
-
static const char *
|
|
32
|
-
lsm_mathml_fraction_element_get_node_name (LsmDomNode *node)
|
|
33
|
-
{
|
|
34
|
-
return "mfrac";
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
static gboolean
|
|
38
|
-
lsm_mathml_fraction_element_can_append_child (LsmDomNode *self, LsmDomNode *child)
|
|
39
|
-
{
|
|
40
|
-
return (LSM_IS_MATHML_ELEMENT (child) &&
|
|
41
|
-
(self->first_child == NULL ||
|
|
42
|
-
self->first_child->next_sibling == NULL));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/* LsmMathmlElement implementation */
|
|
46
|
-
|
|
47
|
-
static void
|
|
48
|
-
lsm_mathml_fraction_element_update (LsmMathmlElement *self, LsmMathmlStyle *style)
|
|
49
|
-
{
|
|
50
|
-
LsmMathmlFractionElement *fraction = LSM_MATHML_FRACTION_ELEMENT (self);
|
|
51
|
-
LsmMathmlLength length;
|
|
52
|
-
|
|
53
|
-
length.unit = LSM_MATHML_UNIT_PT;
|
|
54
|
-
|
|
55
|
-
length.value = style->line_thickness;
|
|
56
|
-
style->line_thickness = lsm_mathml_length_attribute_normalize (&fraction->line_thickness,
|
|
57
|
-
style->line_thickness,
|
|
58
|
-
&length, style);
|
|
59
|
-
|
|
60
|
-
fraction->display = style->display;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static gboolean
|
|
64
|
-
lsm_mathml_fraction_element_update_children (LsmMathmlElement *self, LsmMathmlStyle *style)
|
|
65
|
-
{
|
|
66
|
-
if (style->display == LSM_MATHML_DISPLAY_INLINE)
|
|
67
|
-
lsm_mathml_style_change_script_level (style, +1);
|
|
68
|
-
else
|
|
69
|
-
style->display = LSM_MATHML_DISPLAY_INLINE;
|
|
70
|
-
|
|
71
|
-
return LSM_MATHML_ELEMENT_CLASS (parent_class)->update_children (self, style);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
static const LsmMathmlBbox *
|
|
75
|
-
lsm_mathml_fraction_element_measure (LsmMathmlElement *self, LsmMathmlView *view, const LsmMathmlBbox *bbox)
|
|
76
|
-
{
|
|
77
|
-
LsmMathmlFractionElement *fraction = LSM_MATHML_FRACTION_ELEMENT (self);
|
|
78
|
-
LsmDomNode *node;
|
|
79
|
-
const LsmMathmlBbox *child_bbox;
|
|
80
|
-
double h_space;
|
|
81
|
-
double v_space;
|
|
82
|
-
double length, dividend_offset, divisor_offset;
|
|
83
|
-
|
|
84
|
-
fraction->axis_offset = lsm_mathml_view_measure_axis_offset (view, self->style.math_size);
|
|
85
|
-
|
|
86
|
-
if (fraction->display == LSM_MATHML_DISPLAY_INLINE)
|
|
87
|
-
v_space = self->style.math_size * LSM_MATHML_SPACE_EM_VERY_THIN;
|
|
88
|
-
else
|
|
89
|
-
v_space = self->style.math_size * LSM_MATHML_SPACE_EM_MEDIUM;
|
|
90
|
-
h_space = self->style.math_size * LSM_MATHML_SPACE_EM_VERY_THIN;
|
|
91
|
-
|
|
92
|
-
self->bbox.is_defined = TRUE;
|
|
93
|
-
self->bbox.depth = - (fraction->axis_offset - v_space - 0.5 * fraction->line_thickness.value);
|
|
94
|
-
|
|
95
|
-
self->bbox.width = 0.0;
|
|
96
|
-
self->bbox.height = fraction->axis_offset + v_space + 0.5 * fraction->line_thickness.value;
|
|
97
|
-
|
|
98
|
-
node = LSM_DOM_NODE (self)->first_child;
|
|
99
|
-
|
|
100
|
-
if (node == NULL)
|
|
101
|
-
return &self->bbox;
|
|
102
|
-
|
|
103
|
-
child_bbox = lsm_mathml_element_measure (LSM_MATHML_ELEMENT (node), view, NULL);
|
|
104
|
-
lsm_mathml_view_get_font_metrics (view, &LSM_MATHML_ELEMENT (node)->style, NULL, &length);
|
|
105
|
-
|
|
106
|
-
if (fraction->display == LSM_MATHML_DISPLAY_INLINE)
|
|
107
|
-
length *= 0.5;
|
|
108
|
-
|
|
109
|
-
if (child_bbox->depth < length)
|
|
110
|
-
dividend_offset = length - child_bbox->depth;
|
|
111
|
-
else
|
|
112
|
-
dividend_offset = 0.0;
|
|
113
|
-
|
|
114
|
-
lsm_mathml_bbox_add_over (&self->bbox, child_bbox);
|
|
115
|
-
|
|
116
|
-
node = node->next_sibling;
|
|
117
|
-
|
|
118
|
-
if (node == NULL)
|
|
119
|
-
return &self->bbox;
|
|
120
|
-
|
|
121
|
-
child_bbox = lsm_mathml_element_measure (LSM_MATHML_ELEMENT (node), view, NULL);
|
|
122
|
-
lsm_mathml_view_get_font_metrics (view, &LSM_MATHML_ELEMENT (node)->style, &length, NULL);
|
|
123
|
-
if (child_bbox->height < length)
|
|
124
|
-
divisor_offset = length - child_bbox->height;
|
|
125
|
-
else
|
|
126
|
-
divisor_offset = 0.0;
|
|
127
|
-
|
|
128
|
-
lsm_mathml_bbox_add_under (&self->bbox, child_bbox);
|
|
129
|
-
|
|
130
|
-
self->bbox.height += dividend_offset;
|
|
131
|
-
self->bbox.depth += divisor_offset;
|
|
132
|
-
self->bbox.width += 2.0 * h_space;
|
|
133
|
-
|
|
134
|
-
return &self->bbox;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
static void
|
|
138
|
-
lsm_mathml_fraction_element_layout (LsmMathmlElement *self, LsmMathmlView *view,
|
|
139
|
-
double x, double y, const LsmMathmlBbox *bbox)
|
|
140
|
-
{
|
|
141
|
-
LsmDomNode *node;
|
|
142
|
-
const LsmMathmlBbox *child_bbox;
|
|
143
|
-
|
|
144
|
-
node = LSM_DOM_NODE (self)->first_child;
|
|
145
|
-
|
|
146
|
-
if (node != NULL) {
|
|
147
|
-
child_bbox = lsm_mathml_element_get_bbox (LSM_MATHML_ELEMENT (node));
|
|
148
|
-
lsm_mathml_element_layout (LSM_MATHML_ELEMENT (node), view,
|
|
149
|
-
x + (bbox->width - child_bbox->width) / 2.0,
|
|
150
|
-
y - self->bbox.height + child_bbox->height,
|
|
151
|
-
child_bbox);
|
|
152
|
-
|
|
153
|
-
node = node->next_sibling;
|
|
154
|
-
if (node != NULL) {
|
|
155
|
-
child_bbox = lsm_mathml_element_get_bbox (LSM_MATHML_ELEMENT (node));
|
|
156
|
-
lsm_mathml_element_layout (LSM_MATHML_ELEMENT (node), view,
|
|
157
|
-
x + (bbox->width - child_bbox->width) / 2.0,
|
|
158
|
-
y + self->bbox.depth - child_bbox->depth,
|
|
159
|
-
child_bbox);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
static void
|
|
165
|
-
lsm_mathml_fraction_element_render (LsmMathmlElement *self, LsmMathmlView *view)
|
|
166
|
-
{
|
|
167
|
-
LsmMathmlFractionElement *fraction = LSM_MATHML_FRACTION_ELEMENT (self);
|
|
168
|
-
double h_space;
|
|
169
|
-
|
|
170
|
-
h_space = self->style.math_size * LSM_MATHML_SPACE_EM_VERY_THIN;
|
|
171
|
-
|
|
172
|
-
lsm_mathml_view_show_fraction_line (view, &self->style,
|
|
173
|
-
self->x + h_space,
|
|
174
|
-
self->y - fraction->axis_offset,
|
|
175
|
-
self->bbox.width - 2.0 * h_space,
|
|
176
|
-
fraction->line_thickness.value);
|
|
177
|
-
|
|
178
|
-
LSM_MATHML_ELEMENT_CLASS (parent_class)->render (self, view);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
static LsmMathmlOperatorElement *
|
|
182
|
-
lsm_mathml_fraction_element_get_embellished_core (const LsmMathmlElement *self)
|
|
183
|
-
{
|
|
184
|
-
if (LSM_DOM_NODE (self)->first_child != NULL)
|
|
185
|
-
return lsm_mathml_element_get_embellished_core (LSM_MATHML_ELEMENT (LSM_DOM_NODE (self)->first_child));
|
|
186
|
-
|
|
187
|
-
return NULL;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/* LsmMathmlFraction implementation */
|
|
191
|
-
|
|
192
|
-
static const gboolean bevelled_default = FALSE;
|
|
193
|
-
|
|
194
|
-
LsmDomNode *
|
|
195
|
-
lsm_mathml_fraction_element_new (void)
|
|
196
|
-
{
|
|
197
|
-
return g_object_new (LSM_TYPE_MATHML_FRACTION_ELEMENT, NULL);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
static const LsmMathmlLength length_default = {1.0, LSM_MATHML_UNIT_NONE};
|
|
201
|
-
|
|
202
|
-
static void
|
|
203
|
-
lsm_mathml_fraction_element_init (LsmMathmlFractionElement *self)
|
|
204
|
-
{
|
|
205
|
-
self->axis_offset = 0.0;
|
|
206
|
-
|
|
207
|
-
self->bevelled.value = bevelled_default;
|
|
208
|
-
self->line_thickness.length = length_default;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
/* LsmMathmlFractionElement class */
|
|
212
|
-
|
|
213
|
-
static const LsmAttributeInfos _attribute_infos[] = {
|
|
214
|
-
{
|
|
215
|
-
.name = "bevelled",
|
|
216
|
-
.attribute_offset = offsetof (LsmMathmlFractionElement, bevelled),
|
|
217
|
-
.trait_class = &lsm_mathml_boolean_trait_class,
|
|
218
|
-
.trait_default = &bevelled_default
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
.name = "linethickness",
|
|
222
|
-
.attribute_offset = offsetof (LsmMathmlFractionElement, line_thickness),
|
|
223
|
-
.trait_class = &lsm_mathml_length_trait_class,
|
|
224
|
-
.trait_default = &length_default
|
|
225
|
-
},
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
static void
|
|
229
|
-
lsm_mathml_fraction_element_class_init (LsmMathmlFractionElementClass *fraction_class)
|
|
230
|
-
{
|
|
231
|
-
LsmDomNodeClass *d_node_class = LSM_DOM_NODE_CLASS (fraction_class);
|
|
232
|
-
LsmMathmlElementClass *m_element_class = LSM_MATHML_ELEMENT_CLASS (fraction_class);
|
|
233
|
-
|
|
234
|
-
parent_class = g_type_class_peek_parent (fraction_class);
|
|
235
|
-
|
|
236
|
-
d_node_class->get_node_name = lsm_mathml_fraction_element_get_node_name;
|
|
237
|
-
d_node_class->can_append_child = lsm_mathml_fraction_element_can_append_child;
|
|
238
|
-
|
|
239
|
-
m_element_class->update = lsm_mathml_fraction_element_update;
|
|
240
|
-
m_element_class->update_children = lsm_mathml_fraction_element_update_children;
|
|
241
|
-
m_element_class->measure = lsm_mathml_fraction_element_measure;
|
|
242
|
-
m_element_class->layout = lsm_mathml_fraction_element_layout;
|
|
243
|
-
m_element_class->render = lsm_mathml_fraction_element_render;
|
|
244
|
-
m_element_class->get_embellished_core = lsm_mathml_fraction_element_get_embellished_core;
|
|
245
|
-
m_element_class->is_inferred_row = NULL;
|
|
246
|
-
m_element_class->attribute_manager = lsm_attribute_manager_duplicate (m_element_class->attribute_manager);
|
|
247
|
-
|
|
248
|
-
lsm_attribute_manager_add_attributes (m_element_class->attribute_manager,
|
|
249
|
-
G_N_ELEMENTS (_attribute_infos),
|
|
250
|
-
_attribute_infos);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
G_DEFINE_TYPE (LsmMathmlFractionElement, lsm_mathml_fraction_element, LSM_TYPE_MATHML_ELEMENT)
|
|
@@ -1,62 +0,0 @@
|
|
|
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_FRACTION_ELEMENT_H
|
|
25
|
-
#define LSM_MATHML_FRACTION_ELEMENT_H
|
|
26
|
-
|
|
27
|
-
#include <lsmmathmltypes.h>
|
|
28
|
-
#include <lsmmathmlpresentationcontainer.h>
|
|
29
|
-
|
|
30
|
-
G_BEGIN_DECLS
|
|
31
|
-
|
|
32
|
-
#define LSM_TYPE_MATHML_FRACTION_ELEMENT (lsm_mathml_fraction_element_get_type ())
|
|
33
|
-
#define LSM_MATHML_FRACTION_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LSM_TYPE_MATHML_FRACTION_ELEMENT, LsmMathmlFractionElement))
|
|
34
|
-
#define LSM_MATHML_FRACTION_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LSM_TYPE_MATHML_FRACTION_ELEMENT, LsmMathmlFractionElementClass))
|
|
35
|
-
#define LSM_IS_MATHML_FRACTION_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LSM_TYPE_MATHML_FRACTION_ELEMENT))
|
|
36
|
-
#define LSM_IS_MATHML_FRACTION_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LSM_TYPE_MATHML_FRACTION_ELEMENT))
|
|
37
|
-
#define LSM_MATHML_FRACTION_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LSM_TYPE_MATHML_FRACTION_ELEMENT, LsmMathmlFractionElementClass))
|
|
38
|
-
|
|
39
|
-
typedef struct _LsmMathmlFractionElementClass LsmMathmlFractionElementClass;
|
|
40
|
-
|
|
41
|
-
struct _LsmMathmlFractionElement {
|
|
42
|
-
LsmMathmlElement presentation_container;
|
|
43
|
-
|
|
44
|
-
LsmMathmlLengthAttribute line_thickness;
|
|
45
|
-
LsmMathmlBooleanAttribute bevelled;
|
|
46
|
-
|
|
47
|
-
LsmMathmlDisplay display;
|
|
48
|
-
double axis_offset;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
struct _LsmMathmlFractionElementClass {
|
|
52
|
-
LsmMathmlElementClass parent_class;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
GType lsm_mathml_fraction_element_get_type (void);
|
|
56
|
-
|
|
57
|
-
LsmDomNode *lsm_mathml_fraction_element_new (void);
|
|
58
|
-
|
|
59
|
-
G_END_DECLS
|
|
60
|
-
|
|
61
|
-
#endif
|
|
62
|
-
|
|
@@ -1,597 +0,0 @@
|
|
|
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
|
-
#include <lsmdebug.h>
|
|
25
|
-
#include <lsmmathmlglyphtableams.h>
|
|
26
|
-
#include <string.h>
|
|
27
|
-
#include <math.h>
|
|
28
|
-
|
|
29
|
-
const LsmMathmlOperatorGlyph AMS_table[] = {
|
|
30
|
-
{
|
|
31
|
-
LSM_MATHML_RADICAL_UTF8, /* radical */
|
|
32
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
33
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED,
|
|
34
|
-
{LSM_MATHML_FONT_CMEX10, "t"},
|
|
35
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
36
|
-
{LSM_MATHML_FONT_CMEX10, "v"},
|
|
37
|
-
{LSM_MATHML_FONT_CMEX10, "u"},
|
|
38
|
-
4,
|
|
39
|
-
{
|
|
40
|
-
{LSM_MATHML_FONT_CMEX10, "p"},
|
|
41
|
-
{LSM_MATHML_FONT_CMEX10, "q"},
|
|
42
|
-
{LSM_MATHML_FONT_CMEX10, "r"},
|
|
43
|
-
{LSM_MATHML_FONT_CMEX10, "s"}
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"(",
|
|
48
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
49
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
50
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
51
|
-
{LSM_MATHML_FONT_CMEX10, "0"},
|
|
52
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
53
|
-
{LSM_MATHML_FONT_CMEX10, "@"},
|
|
54
|
-
{LSM_MATHML_FONT_CMEX10, "B"},
|
|
55
|
-
5,
|
|
56
|
-
{
|
|
57
|
-
{LSM_MATHML_FONT_CMR10, "("},
|
|
58
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xa1"},
|
|
59
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xb3"},
|
|
60
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xb5"},
|
|
61
|
-
{LSM_MATHML_FONT_CMEX10, "\xc3\x83"}
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
")",
|
|
66
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
67
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
68
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
69
|
-
{LSM_MATHML_FONT_CMEX10, "1"},
|
|
70
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
71
|
-
{LSM_MATHML_FONT_CMEX10, "A"},
|
|
72
|
-
{LSM_MATHML_FONT_CMEX10, "C"},
|
|
73
|
-
5,
|
|
74
|
-
{
|
|
75
|
-
{LSM_MATHML_FONT_CMR10, ")"},
|
|
76
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xa2"},
|
|
77
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xb4"},
|
|
78
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xb6"},
|
|
79
|
-
{LSM_MATHML_FONT_CMEX10, "!"}
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"{",
|
|
84
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
85
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
86
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
87
|
-
{LSM_MATHML_FONT_CMEX10, "8"},
|
|
88
|
-
{LSM_MATHML_FONT_CMEX10, "<"},
|
|
89
|
-
{LSM_MATHML_FONT_CMEX10, ":"},
|
|
90
|
-
{LSM_MATHML_FONT_CMEX10, ">"},
|
|
91
|
-
5,
|
|
92
|
-
{
|
|
93
|
-
{LSM_MATHML_FONT_CMSY10, "f"},
|
|
94
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xa9"},
|
|
95
|
-
{LSM_MATHML_FONT_CMEX10, "n"},
|
|
96
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xbd"},
|
|
97
|
-
{LSM_MATHML_FONT_CMEX10, "("}
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"}",
|
|
102
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
103
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
104
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
105
|
-
{LSM_MATHML_FONT_CMEX10, "9"},
|
|
106
|
-
{LSM_MATHML_FONT_CMEX10, "="},
|
|
107
|
-
{LSM_MATHML_FONT_CMEX10, ";"},
|
|
108
|
-
{LSM_MATHML_FONT_CMEX10, ">"},
|
|
109
|
-
5,
|
|
110
|
-
{
|
|
111
|
-
{LSM_MATHML_FONT_CMSY10, "g"},
|
|
112
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xaa"},
|
|
113
|
-
{LSM_MATHML_FONT_CMEX10, "o"},
|
|
114
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xbe"},
|
|
115
|
-
{LSM_MATHML_FONT_CMEX10, ")"}
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
"[",
|
|
120
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
121
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
122
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
123
|
-
{LSM_MATHML_FONT_CMEX10, "2"},
|
|
124
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
125
|
-
{LSM_MATHML_FONT_CMEX10, "4"},
|
|
126
|
-
{LSM_MATHML_FONT_CMEX10, "6"},
|
|
127
|
-
3,
|
|
128
|
-
{
|
|
129
|
-
{LSM_MATHML_FONT_CMR10, "["},
|
|
130
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xa3"},
|
|
131
|
-
{LSM_MATHML_FONT_CMEX10, "h"},
|
|
132
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
133
|
-
{LSM_MATHML_FONT_ERROR, ""}
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
"]",
|
|
138
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
139
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
140
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
141
|
-
{LSM_MATHML_FONT_CMEX10, "3"},
|
|
142
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
143
|
-
{LSM_MATHML_FONT_CMEX10, "5"},
|
|
144
|
-
{LSM_MATHML_FONT_CMEX10, "7"},
|
|
145
|
-
3,
|
|
146
|
-
{
|
|
147
|
-
{LSM_MATHML_FONT_CMR10, "]"},
|
|
148
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xa4"},
|
|
149
|
-
{LSM_MATHML_FONT_CMEX10, "i"},
|
|
150
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
151
|
-
{LSM_MATHML_FONT_ERROR, ""}
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
"\xe2\x8c\xa9", /* 〈 */
|
|
156
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
157
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
158
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
159
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
160
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
161
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
162
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
163
|
-
3,
|
|
164
|
-
{
|
|
165
|
-
{LSM_MATHML_FONT_CMEX10, "D"},
|
|
166
|
-
{LSM_MATHML_FONT_CMEX10, "\xc2\xbf"},
|
|
167
|
-
{LSM_MATHML_FONT_CMEX10, "*"},
|
|
168
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
169
|
-
{LSM_MATHML_FONT_ERROR, ""}
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
"\xe2\x8c\xaa", /* 〉 */
|
|
174
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
175
|
-
LSM_MATHML_GLYPH_FLAG_TYPE_SIZED |
|
|
176
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS,
|
|
177
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
178
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
179
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
180
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
181
|
-
3,
|
|
182
|
-
{
|
|
183
|
-
{LSM_MATHML_FONT_CMEX10, "E"},
|
|
184
|
-
{LSM_MATHML_FONT_CMEX10, "\xc3\x80"},
|
|
185
|
-
{LSM_MATHML_FONT_CMEX10, "+"},
|
|
186
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
187
|
-
{LSM_MATHML_FONT_ERROR, ""}
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
"\xe2\x88\x91" /* ∑ */,
|
|
192
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
193
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
194
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
195
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
196
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
197
|
-
2,
|
|
198
|
-
{
|
|
199
|
-
{LSM_MATHML_FONT_CMEX10, "P"},
|
|
200
|
-
{LSM_MATHML_FONT_CMEX10, "X"}
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"\xe2\x88\x8f" /* ∏ */,
|
|
205
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
206
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
207
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
208
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
209
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
210
|
-
2,
|
|
211
|
-
{
|
|
212
|
-
{LSM_MATHML_FONT_CMEX10, "Q"},
|
|
213
|
-
{LSM_MATHML_FONT_CMEX10, "Y"}
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
"\xe2\x88\x90" /* ∐ */,
|
|
218
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
219
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
220
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
221
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
222
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
223
|
-
2,
|
|
224
|
-
{
|
|
225
|
-
{LSM_MATHML_FONT_CMEX10, "`"},
|
|
226
|
-
{LSM_MATHML_FONT_CMEX10, "a"}
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
"\xe2\x8b\x81" /* ∨ - bigvee */,
|
|
231
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
232
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
233
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
234
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
235
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
236
|
-
2,
|
|
237
|
-
{
|
|
238
|
-
{LSM_MATHML_FONT_CMSY10, "_"},
|
|
239
|
-
{LSM_MATHML_FONT_CMEX10, "W"}
|
|
240
|
-
}
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
"\xe2\x8b\x80" /* ∧ - bigwedge */,
|
|
244
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
245
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
246
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
247
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
248
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
249
|
-
2,
|
|
250
|
-
{
|
|
251
|
-
{LSM_MATHML_FONT_CMSY10, "^"},
|
|
252
|
-
{LSM_MATHML_FONT_CMEX10, "V"}
|
|
253
|
-
}
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
"\xe2\x88\xa8" /* ∨ */,
|
|
257
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
258
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
259
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
260
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
261
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
262
|
-
2,
|
|
263
|
-
{
|
|
264
|
-
{LSM_MATHML_FONT_CMSY10, "_"},
|
|
265
|
-
{LSM_MATHML_FONT_CMEX10, "W"}
|
|
266
|
-
}
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
"\xe2\x88\xa7" /* ∧ */,
|
|
270
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
271
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
272
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
273
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
274
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
275
|
-
2,
|
|
276
|
-
{
|
|
277
|
-
{LSM_MATHML_FONT_CMSY10, "^"},
|
|
278
|
-
{LSM_MATHML_FONT_CMEX10, "V"}
|
|
279
|
-
}
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
"\xe2\x88\xa9" /* ⋂ - cap*/,
|
|
283
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
284
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
285
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
286
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
287
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
288
|
-
2,
|
|
289
|
-
{
|
|
290
|
-
{LSM_MATHML_FONT_CMSY10, "\\"},
|
|
291
|
-
{LSM_MATHML_FONT_CMEX10, "\\"}
|
|
292
|
-
}
|
|
293
|
-
},
|
|
294
|
-
{
|
|
295
|
-
"\xe2\x88\xaa" /* ⋃ - cup */,
|
|
296
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
297
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
298
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
299
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
300
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
301
|
-
2,
|
|
302
|
-
{
|
|
303
|
-
{LSM_MATHML_FONT_CMSY10, "["},
|
|
304
|
-
{LSM_MATHML_FONT_CMEX10, "["}
|
|
305
|
-
}
|
|
306
|
-
},
|
|
307
|
-
{
|
|
308
|
-
"\xe2\x8b\x82" /* ⋂ - bigcap */,
|
|
309
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
310
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
311
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
312
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
313
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
314
|
-
2,
|
|
315
|
-
{
|
|
316
|
-
{LSM_MATHML_FONT_CMSY10, "\\"},
|
|
317
|
-
{LSM_MATHML_FONT_CMEX10, "\\"}
|
|
318
|
-
}
|
|
319
|
-
},
|
|
320
|
-
{
|
|
321
|
-
"\xe2\x8b\x83" /* ⋃ - bigcup */,
|
|
322
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION,
|
|
323
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
324
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
325
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
326
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
327
|
-
2,
|
|
328
|
-
{
|
|
329
|
-
{LSM_MATHML_FONT_CMSY10, "["},
|
|
330
|
-
{LSM_MATHML_FONT_CMEX10, "["}
|
|
331
|
-
}
|
|
332
|
-
},
|
|
333
|
-
{
|
|
334
|
-
"\xe2\x88\xab" /* ∫ */,
|
|
335
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION |
|
|
336
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL |
|
|
337
|
-
LSM_MATHML_GLYPH_FLAG_INTEGRAL_SLANT,
|
|
338
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
339
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
340
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
341
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
342
|
-
2,
|
|
343
|
-
{
|
|
344
|
-
{LSM_MATHML_FONT_CMEX10, "R"},
|
|
345
|
-
{LSM_MATHML_FONT_CMEX10, "Z"}
|
|
346
|
-
}
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
"\xe2\x88\xac" /* ∬ */,
|
|
350
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION |
|
|
351
|
-
LSM_MATHML_GLYPH_FLAG_INTEGRAL_SLANT,
|
|
352
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
353
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
354
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
355
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
356
|
-
2,
|
|
357
|
-
{
|
|
358
|
-
{LSM_MATHML_FONT_CMEX10, "RR"},
|
|
359
|
-
{LSM_MATHML_FONT_CMEX10, "ZZ"}
|
|
360
|
-
}
|
|
361
|
-
},
|
|
362
|
-
{
|
|
363
|
-
"\xe2\x88\xad" /* ∭ */,
|
|
364
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION |
|
|
365
|
-
LSM_MATHML_GLYPH_FLAG_INTEGRAL_SLANT,
|
|
366
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
367
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
368
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
369
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
370
|
-
2,
|
|
371
|
-
{
|
|
372
|
-
{LSM_MATHML_FONT_CMEX10, "RRR"},
|
|
373
|
-
{LSM_MATHML_FONT_CMEX10, "ZZZ"}
|
|
374
|
-
}
|
|
375
|
-
},
|
|
376
|
-
{
|
|
377
|
-
"\xe2\x88\xae" /* ∮ */,
|
|
378
|
-
LSM_MATHML_GLYPH_FLAG_ALIGN_AXIS | LSM_MATHML_GLYPH_FLAG_HAS_LARGE_VERSION |
|
|
379
|
-
LSM_MATHML_GLYPH_FLAG_INTEGRAL_SLANT,
|
|
380
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
381
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
382
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
383
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
384
|
-
2,
|
|
385
|
-
{
|
|
386
|
-
{LSM_MATHML_FONT_CMEX10, "H"},
|
|
387
|
-
{LSM_MATHML_FONT_CMEX10, "I"}
|
|
388
|
-
}
|
|
389
|
-
},
|
|
390
|
-
{
|
|
391
|
-
"\xe2\x85\x86" /* d */,
|
|
392
|
-
0,
|
|
393
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
394
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
395
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
396
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
397
|
-
1,
|
|
398
|
-
{
|
|
399
|
-
{LSM_MATHML_FONT_CMMI10, "d"}
|
|
400
|
-
}
|
|
401
|
-
},
|
|
402
|
-
{
|
|
403
|
-
"\xe2\x85\x88" /* i */,
|
|
404
|
-
0,
|
|
405
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
406
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
407
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
408
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
409
|
-
1,
|
|
410
|
-
{
|
|
411
|
-
{LSM_MATHML_FONT_CMMI10, "i"}
|
|
412
|
-
}
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
"\xf0\x9d\x95\x9b" /* j */,
|
|
416
|
-
0,
|
|
417
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
418
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
419
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
420
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
421
|
-
1,
|
|
422
|
-
{
|
|
423
|
-
{LSM_MATHML_FONT_CMMI10, "j"}
|
|
424
|
-
}
|
|
425
|
-
},
|
|
426
|
-
{
|
|
427
|
-
"\xcc\xb2" /* _ */,
|
|
428
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_HORIZONTAL,
|
|
429
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
430
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
431
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
432
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
433
|
-
1,
|
|
434
|
-
{
|
|
435
|
-
{LSM_MATHML_FONT_DEFAULT, "\xcc\xb2"}
|
|
436
|
-
}
|
|
437
|
-
},
|
|
438
|
-
{
|
|
439
|
-
"\xc2\xaf" /* hor */,
|
|
440
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_HORIZONTAL,
|
|
441
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
442
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
443
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
444
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
445
|
-
1,
|
|
446
|
-
{
|
|
447
|
-
{LSM_MATHML_FONT_DEFAULT, "\xc2\xaf"}
|
|
448
|
-
}
|
|
449
|
-
},
|
|
450
|
-
{
|
|
451
|
-
"\xef\xb8\xb8" /* ︸ */,
|
|
452
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_HORIZONTAL,
|
|
453
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
454
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
455
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
456
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
457
|
-
1,
|
|
458
|
-
{
|
|
459
|
-
{LSM_MATHML_FONT_DEFAULT, "\xef\xb8\xb8"}
|
|
460
|
-
}
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
"\xef\xb8\xb7" /* ︷ */,
|
|
464
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_HORIZONTAL,
|
|
465
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
466
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
467
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
468
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
469
|
-
1,
|
|
470
|
-
{
|
|
471
|
-
{LSM_MATHML_FONT_DEFAULT, "\xef\xb8\xb7"}
|
|
472
|
-
}
|
|
473
|
-
},
|
|
474
|
-
{
|
|
475
|
-
"\xcd\x9c" /* ˜ */,
|
|
476
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_HORIZONTAL,
|
|
477
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
478
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
479
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
480
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
481
|
-
3,
|
|
482
|
-
{
|
|
483
|
-
{LSM_MATHML_FONT_CMEX10, "e"},
|
|
484
|
-
{LSM_MATHML_FONT_CMEX10, "f"},
|
|
485
|
-
{LSM_MATHML_FONT_CMEX10, "g"}
|
|
486
|
-
}
|
|
487
|
-
},
|
|
488
|
-
{
|
|
489
|
-
"\xe2\x86\x92", /* → */
|
|
490
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_HORIZONTAL,
|
|
491
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
492
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
493
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
494
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
495
|
-
1,
|
|
496
|
-
{
|
|
497
|
-
{LSM_MATHML_FONT_DEFAULT, "\xe2\x86\x92"}
|
|
498
|
-
}
|
|
499
|
-
},
|
|
500
|
-
{
|
|
501
|
-
"\xe2\x86\x90", /* ← */
|
|
502
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_HORIZONTAL,
|
|
503
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
504
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
505
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
506
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
507
|
-
1,
|
|
508
|
-
{
|
|
509
|
-
{LSM_MATHML_FONT_DEFAULT, "\xe2\x86\x90"}
|
|
510
|
-
}
|
|
511
|
-
},
|
|
512
|
-
{
|
|
513
|
-
"\xe2\x86\x91", /* ↑ */
|
|
514
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL,
|
|
515
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
516
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
517
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
518
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
519
|
-
1,
|
|
520
|
-
{
|
|
521
|
-
{LSM_MATHML_FONT_DEFAULT, "\xe2\x86\x91"}
|
|
522
|
-
}
|
|
523
|
-
},
|
|
524
|
-
{
|
|
525
|
-
"\xe2\x86\x93", /* ↓ */
|
|
526
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL,
|
|
527
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
528
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
529
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
530
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
531
|
-
1,
|
|
532
|
-
{
|
|
533
|
-
{LSM_MATHML_FONT_DEFAULT, "\xe2\x86\x93"}
|
|
534
|
-
}
|
|
535
|
-
},
|
|
536
|
-
{
|
|
537
|
-
"-",
|
|
538
|
-
0,
|
|
539
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
540
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
541
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
542
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
543
|
-
1,
|
|
544
|
-
{
|
|
545
|
-
{LSM_MATHML_FONT_DEFAULT, "\xe2\x88\x92"}
|
|
546
|
-
}
|
|
547
|
-
},
|
|
548
|
-
{
|
|
549
|
-
"|",
|
|
550
|
-
LSM_MATHML_GLYPH_FLAG_STRETCH_VERTICAL,
|
|
551
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
552
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
553
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
554
|
-
{LSM_MATHML_FONT_ERROR, ""},
|
|
555
|
-
1,
|
|
556
|
-
{
|
|
557
|
-
{LSM_MATHML_FONT_DEFAULT, "|"}
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
};
|
|
561
|
-
|
|
562
|
-
static GHashTable *
|
|
563
|
-
_get_glyph_table (void)
|
|
564
|
-
{
|
|
565
|
-
static GHashTable *glyph_table = NULL;
|
|
566
|
-
unsigned int i;
|
|
567
|
-
|
|
568
|
-
if (glyph_table != NULL)
|
|
569
|
-
return glyph_table;
|
|
570
|
-
|
|
571
|
-
glyph_table = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, NULL);
|
|
572
|
-
|
|
573
|
-
for (i = 0; i < G_N_ELEMENTS (AMS_table); i++)
|
|
574
|
-
g_hash_table_insert (glyph_table, (void *) AMS_table[i].utf8, (void *) &AMS_table[i]);
|
|
575
|
-
|
|
576
|
-
return glyph_table;
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
const LsmMathmlOperatorGlyph *
|
|
580
|
-
lsm_mathml_glyph_table_find_operator_glyph (const char *text)
|
|
581
|
-
{
|
|
582
|
-
return g_hash_table_lookup (_get_glyph_table (), text);
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
double
|
|
586
|
-
lsm_mathml_glyph_table_get_operator_slant (const char *text)
|
|
587
|
-
{
|
|
588
|
-
const LsmMathmlOperatorGlyph *glyph;
|
|
589
|
-
|
|
590
|
-
glyph = g_hash_table_lookup (_get_glyph_table (), text);
|
|
591
|
-
|
|
592
|
-
if (glyph != NULL)
|
|
593
|
-
if (glyph->flags & LSM_MATHML_GLYPH_FLAG_INTEGRAL_SLANT)
|
|
594
|
-
return -12.0 / 180.0 * M_PI;
|
|
595
|
-
|
|
596
|
-
return 0.0;
|
|
597
|
-
}
|