Skip to content

Commit

Permalink
Add detailed instructions to README.
Browse files Browse the repository at this point in the history
Part of #2
  • Loading branch information
jamesgk committed Apr 20, 2015
1 parent a3038a5 commit 1af9399
Showing 1 changed file with 144 additions and 3 deletions.
147 changes: 144 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,145 @@
# Setup

#### Create a clean directory for roboto:

```
mkdir -p $HOME/roboto-src
cd $HOME/roboto-src
```

#### Download the code and dependencies:

```
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

This comment has been minimized.

Copy link
@roozbehp

roozbehp Apr 22, 2015

Contributor

Cython can also be installed using apt-get. Mention that.

the current directory.

##### For OTF generation:

```
git clone https://github.com/typesupply/ufo2fdk.git
```

To build the FDK yourself:

```
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:

```
sudo apt-get install fontforge python-fontforge
```

##### For post-production:

```
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.

This comment has been minimized.

Copy link
@roozbehp

roozbehp Apr 22, 2015

Contributor

Mention the "git clone" alternative for HarfBuzz.


#### Install dependencies:

This comment has been minimized.

Copy link
@roozbehp

roozbehp Apr 22, 2015

Contributor

Provide alternatives to installation by updating PYTHONPATH and PATH.


```
cd fonttools
sudo python setup.py install
cd ../robofab
sudo python setup.py install
cd ../feaTools
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:

```
cd ufo2fdk
sudo python setup.py install
cd ..
```

If building the FDK yourself, follow the instructions in `afdko/FDK/FDK Build Notes.txt`:

```
cd Python-2.7
# -- TODO necessary? --
mv Modules/Setup.dist Modules/Setup
# edit Modules/Setup to enable zlib, and readlines for osx and windows
# --
./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:

```
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:

```
cd harfbuzz
./configure
make
sudo make install
cd ../noto
sudo python setup.py install

This comment has been minimized.

Copy link
@roozbehp

roozbehp Apr 22, 2015

Contributor

Same here (PATH/PYTHONPATH instead of install).

cd ../freetype-py
sudo python setup.py install
cd ..
```

#### Running the toolchain:

```
cd roboto
make
```

## Dependencies
The Roboto build toolchain depends on:

- FontTools (https://github.com/behdad/fonttools)
Expand All @@ -10,7 +151,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)
Expand All @@ -22,15 +163,15 @@ 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)

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:

Expand Down

0 comments on commit 1af9399

Please sign in to comment.