Added a graphical viewset editor which allows to modify the
viewset while Gemse is running. This is especially useful for authors
of notation definitions.
Revised options. They can now be set locally for a single equation
or globally for all equations. (This makes everything more complicated
and exposes internals, sorry.)
The chosen viewset is now also determined by options, which means
that it can be chosen for different equations independently.
Added support for writing notation definitions
Updated documentation, including tutorial
Support for newer versions of Mozilla
Java based features are not available in Mozilla 16 and
higher. (Sorry)
1.0.15
Support for external notations
Added a section to the tutorial about external notations
Fixed command :help installation-directory
Loading via XPointer should now work also if it contains
escaped characters
Various internal changes
1.0.14
Support for Mozilla 2 (Firefox 4, XULRunner 2)
Fixed wrong licence information for the library log4
Added alternative commands for inserting munderover elements
The enter key now is a dummy command in the edit mode and does
nothing
Fixed a problem occuring when one opens a formula via contextmenu in
Firefox
1.0.13
Support for OpenMath
Support for equations which have an arbitrary element as root
element
The above changes are accompanied with various additions in the
documentation: Look at the tutorial, the commands for loading and
creating new equations and especially the content insert mode.
1.0.12
Changed default value of option
SourceView.showAttributes to on.
A command creating a mphantom element has been added
to the trivial and ucd insert modes.
Added commands in the content insert mode for elements
bind and bvar. Furthermore, a command that
creates a lambda expression (fns1#lambda) has been
added.
Performance of NTNView: Do not rerender with JOMDoc if only the
cursor has been moved.
Performance improvement: If Gemse can not keep up with the user,
the views are no longer reconstructed after every single command.
New command :goto: It jumps to the equation with the
given number.
The OthersView now shows numbers along the equations. Like this,
one can see empty equations and the number can be used with the
command :goto.
Gemse can now be called from the command line: Use the flag
-gemse to start Gemse with an empty equation.
-gemse-load URI opens Gemse and loads URI as
equation. -gemse-do COMMANDS opens Gemse and executes the
given commands. If there is already running an instance of Gemse, then
no new instance is started but the running one is informed which then
does what is requested.
The backspace character is now shown in a human friendly way
(using U+232B ⌫) in the documentation.
Now, if an error is thrown, the input buffer is cleared. This
prevents unexpected stuff from happening when the user types new
commands after an error occured.
A new equation no longer has an id attribute on its
math element.
SourceView no longer shows attributes whose names begin with a
dash. Such attribute names are not well formed XML and are only used
internally by the MathML rendering code of Mozilla. They should not be
visible in the DOM but they are anyway because of a
bug in Mozilla.
1.0.11
Files in the java directory no longer need to have specific names.
Viewsets now have names.
:help installation-directory&enter; reveals the
location where Gemse is installed.
The new command :example loads examples shipped with
Gemse.
NTNView works with (and requires) at least JOMDoc 0.1.4.
NTNView shows the cursor. (Thanks to Christoph Lange for giving me
a hint how to implement it.)
The OthersView, that shows all open equations, now allows to
switch to another equations with a mouse click in certain
situations.
If more than one message is issued at once, all of them are now
shown to the user. As soon as the user enters another command, all
messages are removed.
Loading and saving has been completely redesigned.
A lot of documentation has been written and updated.
1.0.10
Fixed the trivial insert mode
Added a the killPrevious command to all insert modes.
It removes the last inserted element. It is by default bound to the
backspace key. As a result, you no longer need to exit the insert mode
just because you hit a wrong command.
Insert modes are now allowed to change any element, not only the
descendants of the element the cursor was contained in when the insert
mode was called.
Increased the maximal version of XULRunner to 1.9.* and of Firefox
to 3.6.*
Added the NTNView which uses JOMDoc to render Content MathML as
Presentation MathML in real-time. It is part of viewset 5. In order to
use it, you have to download JOMDoc and drop it somewhere in Gemse's
installation directory. You find more information about that in the
documentation about the views.
Gemse is now licenced under the GNU GPL3 or later.
1.0.9
A system for handling options has been introduced.
Some options have been added and documented. The tutorial contains
a section about options as well.
Errors are now reported to the user inside a view. Before, they
have only been reported in the error console, leaving the user in the
dark.
The source view has been reimplemented. It has some options which
can be used to adapt its behaviour. They are documented in the options
page of the help and some of them are discussed in the tutorial.
The register * can now be used to copy to/from the
system clipboard.
1.0.8
When loading an equation at startup, the unnecessairy empty
equation is no longer created.
New commands for saving and closing have been added. They make it
easier to deal with multiple equations. The most useful are
ZZ and ZA.
The command unwrap has been added. It removes an element and puts
its children at its old place.
The input box no longer moves below the window. A scrollbar is
added, if the views use more space than available.
A bug in the input substitution has been corrected: It was not
possible to use entites whose value contain some special character
(>, & and so on), since they were
decoded only once but this has to be done twice.
The EquationView has been added. It shows the rendered equation
with some visual additions. Most notably, it transforms Content MathML
to Presentation MathML. Viewset 4 uses this new view.
1.0.7
Added the content insert mode which allows one to write Content MathML
Added an edit mode command to follow an xref.
The command of the edit mode that creates an mrow around the
selection now creates an apply element instead, if the
first element of the selection is a Content MathML element.
Implemented better strategy for updating views.
1.0.6
The user interface changed drastically: Views and viewsets have been introduced. As
a side effect, the XHTML interface has been replaced by a XUL interface. Now
editor.xul has to be used instead of
editor.xhtml.
The tutorial has been updated.
The equation turning up when starting Gemse is now the empty one.
The old one can be loaded from doc/example02.xml.
Element descriptions in elementDescriptors.js have
been updated. They now correspond to the Presentation MathML part of
the working draft
http://www.w3.org/TR/2009/WD-MathML3-20090604/.
Updated documentation on how to install and run Gemse.
1.0.5
Gemse is now available as Firefox extension, XUL application and
as a Minimal edition for use outside of the Firefox chrome. Of course
a source package which contains a script which creates the packages is
also available.
Some documentation for developers has been added, which introduces
the basic ideas of Gemse. Most of it has still to be written. However,
detailed documentation can be found in the sourcecode itself and can
be extracted using the JsDoc toolkit.
The stylesheet is now structured more readable and contains
comments.
When more than one equations are open, only the one you are
currently editing is shown in full size. This behaviour can be changed
by editing the stylesheet.
1.0.4
The UCD insert mode now treats combining characters in a special
way.
The processing of commands has been completely revised. A new
class CommandHandler is used by the modes to process commands. This
saves a lot of code replication and all features are available to all
modes. The modes can further process input if no command have been
found or if an error occured. As a side effect, the documentation of
the commands has changed.
The default insert mode is now the UCD insert mode. The insert
mode can be changed by pressing the tabulator key while in edit
mode.
The default register is now called ". Change and delete commands
now put a copy of the removed elements into the default register. Copy
commands also put a second copy the the yanked elements onto the
default register. So the behaviour now equals vim's behaviour in this
regard.
A lot of documentation in the source code has been added. The
code has been improved in many places.
More commands and bugfixes.
1.0.3
An operator dictionary has been added. Up to now, it is only used
by the attribute mode. There you can set attributes according to a
dictionary entry. The dictoinary is based on the operator dictionary
provided by the MathML 2 specification.
The input substitution has been changed fundamentally. The
sequences that get substituted look now like XML entities.
One can insert characters by their codepoint: For example
α gets substituted with α. Characters can also
be inserted by name: For example α gives α as
well. The names are taken from
the w3c's
collection of entities. In this release, input substitution is on
by default.
A new UCD-based input mode has been added. UCD-based means that
the mode queries the unicode character database to find out whether a
character is an operator, an identifier or a digit. This means that
you do not need to hit o before an operator or i before an identifier.
The old input mode is the default, you can change this by hitting the
tab key.
Unicode characters that do not reside in the BMP (for example 𝕂),
can now be used everywhere: As name of commands in all modes, as names
of registers and as operators or identifiers in the insert modes.
The problematic part about that is that JavaScript stores unicode
characters with 16 bits per character. Since characters outside the BMP
can not be represented by 16 bits, a pair of surrogate characters is
used, that is, they are represented by two characters. So everywhere
Gemse expects one character, it has to check whether it is a surrogate
and in this case has to take two characters!
The command :export has been added to the edit mode. It
allows you to translate your equation into LaTeX. At the moment,
however, you need to download the additional library that is needed
for this feature yourself. More information you can find in the
documentation of this command.
1.0.2
The surround feature has been added to the insert mode. It allows
you for examlpe to first write the base of a potency and then hit
^ later on.
Sometimes it happened that inserting a wrong
command screwed up the whole editor since it was no longer possible to
clear the input box. Now clearing the input box using &esc;
should always work.
Some commands have been added and the documentation
has been improved.
1.0.1
Many commands have been added. The insert mode supports more
elements. More documentation, including a short introcution to
Presentation MathML has been added. This is still a development
release tought to get feedback from users.
1.0.0
This first release shows the idea behind Gemse. It is still missing
many features. It is not a production release but thought for
collecting feedback from potential users.