[dev-context] MetaPost beta 1.110

Taco Hoekwater taco at elvenkind.com
Thu Nov 27 15:34:42 CET 2008


Hi all,

Immediately following the release of the stable MetaPost version 1.100,
I can also announce the very first test version of the new development
cycle.

As some of you know already, in the past month I have been working
on a SVG backend for MetaPost. SVG stands for Scalable Vector Graphics,
a language for describing two-dimensional graphics and graphical
applications in XML. It is a W3C Recommendation, see

  http://www.w3.org/Graphics/SVG/

for more details.

This new backend was requested by Dave Crossland, who also provided
the funding to make it possible.  Dave, thank you again!

================
How does it work?

* There is a new internal string variable, "outputformat". Its default
  value is "eps", but when you assign "svg" you will get SVG output.

* You may want to set the internal string variable "outputtemplate" to
  something like "%c%j.svg".

* If you use text labels, you will definately want to set

    prologues:=3

  With this setting, MetaPost will convert the font into curves
  (of course you also need a correct font map line, just as for
  PostScript output).

  With any other value of prologues you will simply get the SVG
  default text font in a system-dependant encoding. This is unlikely
  to be what you want!

================
A simple example:

  outputformat := "svg";
  outputtemplate := "%j-%c.svg";
  beginfig(1);
  fill fullcircle scaled 100 withcolor .4red;
  endfig;
  end.

==============
Other news

* The new internal string variable "outputtemplate" replaces
  "filenametemplate". The big difference is that "outputtemplate"
  is a true 'internal', so that you need a proper assignment.
  On the positive side, this means that you can use its (and
  "outputformat"s) current value with e.g. show and message.

  I am planning to make it possible for users to create their
  own internal string variables too (cf. newinternal).

* The source code itself is not yet in its final form (and there
  is also no lua binding yet), but the output is more or less
  finalized unless I get requests for changes from you.

* This new backend will not be the only new feature in MP 1.200,
  more new features are planned. One such feature will be direct
  access to the glyph->path conversion from the MetaPost input.


==============
Files

The MetaPost development project is currently hosted at Supelec,

  https://foundry.supelec.fr/projects/metapost

I have uploaded the sources as well as linux-i386 and mingw windows
binaries.


Have fun,
Taco


More information about the dev-context mailing list