Home

Awesome

<!--- See [gh-branch](https://github.com/fontforge/designwithfontforge.com/tree/gh-pages/) for project files. -->

DesignWithFontforge.com

This is a book project, about how to design new typefaces with FontForge.

How To Contribute

If you wish to contribute to this website, you are very welcome to! Here are a few ways you can do so:

  1. Report an issue for someone else to resolve, by clicking the ‘Issues’ button at the top of this page, in the main navigation bar.

  2. 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).

  3. Discuss general topics on the fontforge-devel email discussion list

License

The book and this site are licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.

How This Site Is Made

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.

Directory Layout

File Formats

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:

Example:

    ---
    published: true
    layout: bookpage
    category: Workflow
    weight: 3
    title: Page Title
    ---

Weight list

Weight lists are used to help contributors determine and document the weight of all pages. Please follow the following rules:

  1. Please update the according list if any chapter/page is added or removed.
  2. If the new chapter is in between existing chapters, Just add a weight between existing weights.
  3. If the new chapter is after any existing chapters, Add the weight number by 3.
  4. If no more full numbers can be added between the existing weights, start using decimals.
  5. Only edit the weight list for your chapter's language.

Example:

WeightPage
0Index
1Introduction
3What Is a Font

How to build the site

For Linux, ensure that ruby-dev is installed on your system: e.g. for Ubuntu 24.04:

sudo apt-get install ruby-dev

Next, install Jekyll:

sudo install jekyll

To see the site as it will appear after processing by Jekyll and review your edits live in a browser layout, first enter into designforfontforge.com root directory where _config.yml is located, and then run:

jekyll serve --watch
# or
jekyll serve --livereload

Now browse http://localhost:4000/.

How to compress images with Grunt

Put all the raw images inside en-US/images/precompressed/

Make sure npm is already installed on 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/

How to create ebooks

sudo apt-get install calibre ghostscript
cd ebook
npm install
./create_books.sh