This is a book project, about how to design new typefaces with FontForge.
If you wish to contribute to this website, you are very welcome to! Here are a few ways you can do so:
-
Report an issue for someone else to resolve, by clicking the ‘Issues’ button at the top of this page, in the main navigation bar.
-
Contribute a change directly, by forking it on GitHub and editing the plain text files, then send a pull request. (If that sounds unfamiliar, learn how with GitHub’s excellent interactive introduction).
-
Discuss general topics on the fontforge-devel email discussion list
The book and this site is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
This site is made with the Jekyll content management system, and hosted on GitHub pages.
If you’re not familiar with GitHub, they have excellent help pages.
_layouts/*.html
: HTML template files_includes/*.html
: snippets of HTML that are included in pages and templatesassets/
: CSS, JS and image files_config.yml
: Configuration for Jekyll (ignore this file)en-US/
: the site’s contents, in US Englishen-US/images/precompressed/
: Directory of the original, pre-compressed content images
Each page is in Markdown format, with a .md
file extension. These files are converted into corresponding .html
files by Jekyll when they start with these lines:
- published: if the page should not be published, set this to
false
- layout:
bookpage
is the default - weight: an integer value starts from 1 that effects the ordering of the page in the sidebar and homepage lists
- category: the category the page belongs in
- title: the page title used in the title tag and h1 of the page
Example:
---
published: true
layout: bookpage
category: Workflow
weight: 3
title: Page Title
---
Weight lists are used to help contributors determine and document the weight of all pages. Please follow the following rules:
- Please update the according list if any chapter/page is added or removed.
- If the new chapter is in between existing chapters, Just add a weight between existing weights.
- If the new chapter is after any exising chapters, Add the weight number by 3.
- If no more full numbers can be add between the exising weights, start using decimals.
- Only edit the weight list for your chapter's language.
Example:
Weight | Page |
---|---|
0 | Index |
1 | Introduction |
3 | What Is a Font |
For Linux, ensure that ruby-dev is installed on your system: e.g. for Ubuntu 14.04:
sudo apt-get install ruby-dev
First install Jekyll, with gem
:
sudo gem install jekyll
To see the site as it will appear after processing by Jekyll and review your edits live in a browser layout, run:
jekyll serve --watch
Now browse http://localhost:4000/.
Put all the raw images inside en-US/images/precompressed/
Make sure npm is already installed in your computer, then install all the dependencies with:
npm install
Once the installations are done, you can go ahead to minify all the images with this Grunt command:
grunt
Wait for Grunt to notify you, and all the compressed images will be inside en-US/images/
sudo apt-get install calibre ghostscript
sudo npm install gitbook-cli svgexport -g
cd ebook
./create_books.sh en-US fr-FR zh-CN