Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readme instructions #8

Merged
merged 4 commits into from
Apr 22, 2015
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 139 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -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)
Expand All @@ -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)
Expand All @@ -22,15 +158,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