Here are comments about a number of Javascript Libraries I use/intend to use.
Compiler compilers
I started using ANTLR, but the javascript support is not very strong, so I turned to PEGJS, which seems to do what I need. PEGJS is full Javascript, even the generator.
Graphics
Lots of choices around. Not yet tested. I list the points which are important to me for writing hieroglyphic software, so your milleage may vary a lot.
FabricJS
- svg support: yes
- constructive geometry: can tell if two shapes intersect (with a very simple algorithm: transform them into polygons, and check lines intersect). Note that it doesn't tell if a shape is contained in another one.
- compute size of svg picture:
D3
- svg support:
- compute size of svg picture:
Raphaël
- svg support: can't load svg pictures
Snap.svg
Made by the original author of Raphaël, taking advantage of modern browsers SVG support.
- svg support: can load SVG pictures
- constructive geometry: can use shapes as masks for other shapes.
- compute size of svg picture:
Kevin Lindsey website
Kevin Lindsey has a great site on SVG, with much javascript code, and in particular a huge list of intersection routines.
OpenType JS
A nice opentype/truetype font library. It can do many things, such as interpreting ligatures correctly (which java/Swing doesn't do in the general case, for instance).
International Image Interoperability Framework
Huge framework for displaying and processing pictures on the Web. Manages very high resolution pictures.
Clients are usually using javascript, but servers are available in a number of languages.
A number of examples are available to browse.
Open layers
Rich Library (one among many others) for Map manipulation and annotations.
Natural Language Processing and text-related stuff
Annotator
Generic annotation framework... looks cool. I need to test it someday.
Cléa
Another annotation tool, from the University of Caen.
Marginalia
Side-margin annotation tool library.
Varia
CodeMirror
Javascript library for implementing inline code editors.