/metapolator

Web based parametric font editor

Primary LanguagePython

Metapolator

Please refer to this short introduction until the new version is ready.

Requirements:

Installation

Ubuntu or Debian

$ sudo apt-get install -y unzip git texlive-metapost mysql-client mysql-server libmysqlclient-dev t1utils libffi-dev libevent-dev libxml2-dev libxslt-dev;
# Note your mysql root password
$ mkdir src;
$ cd src;
$ wget http://mirrors.ctan.org/support/mf2pt1.zip;
$ unzip mf2pt1.zip;
$ mkdir sfnt2woff;
$ cd sfnt2woff;
$ wget http://people.mozilla.org/~jkew/woff/woff-code-latest.zip;
$ unzip woff-code-latest.zip;
$ make;
$ sudo cp sfnt2woff /usr/local/bin/;
$ cd ..;
$ sudo apt-get install -y build-essential autoconf libtool python-dev;
# TODO: how to install fontforge and fontforge-python from source
# git clone https://github.com/fontforge/fontforge.git;
$ sudo apt-get install -y fontforge python-fontforge;
$ git clone https://github.com/metapolator/metapolator.git;
$ cd metapolator;
$ easy_install -U distribute pip;
$ sudo apt-get install -y python-virtualenv;
$ virtualenv .venv;
$ source .venv/bin/activate ; pip install -r requirements.txt

Mac OS X

# Install Homebrew
$ brew install mysql t1utils libffi libevent libxml2 libxslt;
$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
$ mkdir src;
$ cd src;
$ wget http://mirrors.ctan.org/support/mf2pt1.zip;
$ unzip mf2pt1.zip;
$ mkdir sfnt2woff;
$ cd sfnt2woff;
$ wget http://people.mozilla.org/~jkew/woff/woff-code-latest.zip;
$ unzip woff-code-latest.zip;
$ make;
$ sudo cp sfnt2woff /usr/local/bin/;
$ cd ..;
$ brew install autoconf automake libtool python;
$ brew install fontforge --with-x --HEAD;
$ git clone https://github.com/metapolator/metapolator.git;
$ cd metapolator;
$ easy_install -U distribute pip;
$ pip install virtualenv;
$ virtualenv .venv;
$ source .venv/bin/activate ; pip install -r requirements.txt

Login to your mysql database as root. You could also change these settings on line 6 in model.py.

$ mysql -uroot -p

Create new database:

mysql> CREATE DATABASE metapolatordev;

Load the preset database:

$ .venv/bin/python metapolator/models.py

Start web.py application:

$ .venv/bin/python run.py

This should give you a local web server you can visit with Chrome:

[http://0.0.0.0:8080/](http://0.0.0.0:8080/)

Deployment

Install supervisor and nginx

sudo apt-get install nginx
sudo apt-get install supervisor

Create symlinks for configuration file. Notice that your project directory is not different from configs

sudo ln -s /var/www/webpy-app/metapolator/webapp_configs/supervisor.conf /etc/supervisor/conf.d/metapolator.conf;
sudo ln -s /var/www/webpy-app/metapolator/webapp_configs/nginx.conf /etc/nginx/sites-enabled/metapolator.conf;

License

This project is licensed under the GNU General Public License v3.0.

Credits

Authors: Simon Egli, Vitaly Volkov

Contributors: Walter Egli, Nicolas Pauly, Wei Huang

Thanks to Dave Crossland for inspiring this project!