diff --git a/README.md b/README.md index 11f084fe4d..7081b06753 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,140 @@ # Setup + +#### Create a clean directory for roboto: + +```bash +mkdir -p $HOME/roboto-src +cd $HOME/roboto-src +``` + +#### Download the code and dependencies: + +```bash +git clone https://github.com/google/roboto.git +git clone https://github.com/behdad/fonttools.git +git clone https://github.com/robofab-developers/robofab.git +git clone https://github.com/jamesgk/feaTools.git +git clone https://github.com/typemytype/booleanOperations.git +``` + +download [Cython](http://cython.org/#download) and extract it into +the current directory. + +##### For OTF generation: + +```bash +git clone https://github.com/typesupply/ufo2fdk.git +``` + +To build the FDK yourself: + +```bash +git clone https://github.com/adobe-type-tools/afdko.git +``` + +download the latest version of Python 2.7 +[here](https://www.python.org/downloads/) and extract it into the current +directory. + +If you're not building the FDK yourself, download the pre-built version +[here](http://www.adobe.com/devnet/opentype/afdko.html) and unzip it into the +current directory. + +##### For TTF generation, on Ubuntu: + +```bash +sudo apt-get install fontforge python-fontforge +``` + +##### For post-production: + +```bash +git clone https://code.google.com/p/noto/ +git clone https://github.com/rougier/freetype-py.git +``` + +download the latest tarball release of HarfBuzz [here](http://www.freedesktop.org/wiki/Software/HarfBuzz/) and extract it into the current directory. + +#### Install dependencies: + +```bash +cd fonttools +sudo python setup.py install +cd ../robofab +sudo python setup.py install +cd ../feaTools +git checkout expanded +sudo python setup.py install +cd ../Cython-0.22 +sudo python setup.py install +cd ../booleanOperations/cppWrapper +sudo python setup.py build_ext --inplace +cp pyClipper.so ../Lib/booleanOperations +cd .. +sudo python setup.py install +cd .. +``` + +##### For OTF generation: + +```bash +cd ufo2fdk +sudo python setup.py install +cd .. +``` + +If building the FDK yourself, follow the instructions in `afdko/FDK/FDK Build Notes.txt`: + +```bash +cd Python-2.7 +./configure --prefix=AFDKOPythonBuild +make install +mv AFDKOPythonBuild ../afdko/FDK/Tools/osx/Python +cd ../fonttools +sudo ../afdko/FDK/Tools/osx/Python/bin/python setup.py install +cd ../afdko/FDK/Tools/Programs +./BuildAll.sh +cd ../.. +./FinishInstallOSX +cd ../.. +``` + +Otherwise: + +```bash +cd FDK +./FinishInstallOSX +cd .. +``` + +In either case, use whatever install scripts and directory +(`FinishInstall[OSX|Linux|Windows.cmd]`, +`BuildAll[.sh|Linux.sh|.cmd]`, +`FDK/Tools/[osx|linux|win]`) are appropriate for your platform (more +detailed information can be found in `FDK/Read_Me_First.html`). + +##### For post-production: + +```bash +cd harfbuzz +./configure +make +sudo make install +cd ../noto +sudo python setup.py install +cd ../freetype-py +sudo python setup.py install +cd .. +``` + +#### Running the toolchain: + +```bash +cd roboto +make +``` + +## Dependencies The Roboto build toolchain depends on: - FontTools (https://github.com/behdad/fonttools) @@ -10,7 +146,7 @@ The Roboto build toolchain depends on: glyph overlap removal. - (requires Cython to install: http://cython.org/) -### OTF Generation +## OTF Generation OTF generation depends on: - ufo2fdk (https://github.com/typesupply/ufo2fdk) @@ -22,7 +158,7 @@ the variety which includes closed-source tools (http://www.adobe.com/devnet/opentype/afdko.html), though these closed-source portions are not used to build Roboto. -### TTF Generation +## TTF Generation TTF generation depends on: - FontForge (https://github.com/fontforge/fontforge) @@ -30,7 +166,7 @@ TTF generation depends on: Whose Python interface should be availabe on Ubuntu by default via `apt-get install fontforge python-fontforge`. -# Post-Production +## Post-Production Post-production scripts (most of the code outside of the `fontbuild` directory, e.g. for testing output) depend on: