Giter Club home page Giter Club logo

designwithfontforge.com's Introduction

FontForge CI Build status Coverity Scan Build Status

FontForge Logo

FontForge is a free (libre) font editor for Windows, Mac OS X and GNU+Linux. Use it to create, edit and convert fonts in OpenType, TrueType, UFO, CID-keyed, Multiple Master, and many other formats.

fontforge.org — homepage

designwithfontforge.com — font creation manual

Getting help

The bug tracker is for reporting bugs, not for asking questions. Please direct questions to one of the following:

Installation & contributing

INSTALL.md — developer instructions to build from source

setup_linux_deps.sh — a list of installation dependencies

CONTRIBUTING.md — contributing guidelines

designwithfontforge.com's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

designwithfontforge.com's Issues

What_Is_a_Font.html weighs in at over 8MB

I recommend resampling the images used on this page at their final size/resolution to reduce the download size of this page. It may be that the author is not quite done finalizing this page.

Also, is there a shared space for the "working source" for images used on the site? This might be useful for making revisions later, allowing any contributor to use the original file to update an illustration or diagram rather than re-create from scratch.

Chapter 6.5 Introduction to the interface

It currently jumps directly from installing it to how to use the drawing tools.

I think novice users would benefit from a more general introduction to the interface.

Add a Mac Crash reporting HOW TO

Add a Mac Crash reporting HOW TO like a comic:

Educard: Hi! I worked in fontforge and I had some problems

FontForge: oh? whats the error?

Eduardo: I did X, and then the program quit.

FF: Okay! Do you have XCode installed?

Eduardo: No

FF: Go to the App Store and install it, its a huge download but gratis

Edu: Okay!

FF: Then in terminal, you can do this:

/Applications/FontForge.app/Contents/MacOS/FontForge --debug

Then make it crash, and in Terminal type

bt

then type

q

(press enter after each command)

Then there appears a file 'FontForge-Debug-Output.txt' in your Home

Eduardo: ok :-)

FF: Then go to https://github.com/fontforge/fontforge/issues/new and paste the file contents, with the steps you took to make the crash

Eduardo: OK, thanks

Add links to examples of high quality FontForge font files

This would be very useful, to see high quality FontForge source files. First ones I quickly found, with the help of usemodify.com are:

Foundries / Collections:

Typefaces and Fonts:

Not sure about the quality (e.g. completeness, features and diacritics?) of all of these.

Edit * accidentally closed the issue *

Add description of absolute basics for people unfamiliar with Illustrator

All the online information about fontforge (docs, tutorials, videos) makes huge assumptions about users' familiarity with the GUIs of vector graphics software. The GIMP had the same problem in the early 2000s.

Please consider adding the following points:

  • how to fill in a closed contour. Some of the tutorials and videos suggest pressing the grave/backtick character, but that does nothing (or opens the glyph corresponding to that keystroke) on my setup
  • whether the curves described are supposed to be stroked (indeed, explain what that means) into a thicker shape, or whether they represent the boundary of that shape
  • how to alternate between different kinds of points (corners, tangents, etc) when creating the edges of a shape
  • how to close a contour and check that you've done this right
  • whether it's possible to remove some of the points on a shape and have the system automatically adjust; alternatively if you can connect two disjoint lines into a single one, and if so how

Showing update status for each section

For someone who already read or will read the entire set of tutorials, it can be quite difficult to catch up when and what was edited, added, removed, etc.

I guess adding some kind of a notice in each section to show what's updated would be great.

Q: How can I improve some of the UI text?

Question: How can I improve some of the UI text?

Answer:

In September 2013 Ben Crowder said on the users mailing list,

In preferences dialog, just putting a space in between each word instead of camel case would be great. "Undo Redo Limit To Save" instead of "UndoRedoLimitToSave", for example.

You don't need to be a C programmer to make such a change, just know web development and a little UNIX :)

First, make a fork of FontForge (https://github.com/fontforge/fontforge) in the usual Github way, and download your fork.

Then search the codebase for the text you want to fix:

$ grep -r UndoRedoLimitToSave *
fontforge/prefs.c:extern int UndoRedoLimitToSave;  /* sfd.c */
fontforge/prefs.c:    { N_("UndoRedoLimitToSave"), pr_int, &UndoRedoLimitToSave, NULL, NULL, '\0', NULL, 0, N_( "The number of undo and redo operations which will be saved in sfd files.\nIf you set this to 0 undo/redo information is not saved to sfd files.\nIf set to -1 then all available undo/redo information is saved without limit.") },
fontforge/sfd.c:int UndoRedoLimitToSave = 0;
fontforge/sfd.c:        if( saveUndoes && UndoRedoLimitToSave > 0) {
fontforge/sfd.c:                for( limit = UndoRedoLimitToSave;
fontforge/sfd.c:                limit = UndoRedoLimitToSave;
fontforge/sfd.c:                for( limit = UndoRedoLimitToSave;
fontforge/sfd.c:    if( !UndoRedoLimitToSave )
po/ja.po:msgid "UndoRedoLimitToSave"
po/pl.po:msgid "UndoRedoLimitToSave"
po/ru.po:msgid "UndoRedoLimitToSave"
po/uk.po:msgid "UndoRedoLimitToSave"
$

From this we can see that the prefs.c file has a part that is a translatable 'msgid' - N_("UndoRedoLimitToSave") - and there are translation source files as *.po with the msgid.

  1. Open prefs.c and change N_("UndoRedoLimitToSave") to N_("Undo Redo Limit ToSave")
  2. Open the po files and change msgid "UndoRedoLimitToSave" to msgid "Undo Redo Limit To Save"
  3. Save these files, and test them. The easiest way to do this on Mac OS X is to commit the changes and push them to your repo, then edit the Homebrew formula :)
$ brew edit fontforge

Then replace what is currently line 8,

  head 'https://github.com/fontforge/fontforge.git'

with your github url, save the file, and

brew uninstall fontforge; 
brew install fontforge --HEAD --with-x
  1. When you are happy with your changes, make a pull request in the normal Github way.

language filter for index page

Now we have multilanguages since zh-TW contents added.
Index will list all pages including zh-TW pages.

I think that we can use custum lang variables in front matter to filter what the lang we would like to be listed in Index. For example, "zh_TW: true" for zh-TW pages (pages under zh-TW directory) while "en_US:true" for en-US pages (pages under en-US pages).

Then we add if-expression to select zh-TW pages or en-US pages,

{% for weight in (1..100) %}
{% for p in site.pages %}

  • {% if p.zh_TW == true %}

{% if p.weight > 0 %}
{% if p.weight == weight %}
...

  • {% endif %}
    

or

  • {% if p.en_US == true %}

Is this solution acceptable for you guys? Any feedback welcome. ;)

Page–to–Page navigation

As it stands for most pages, a reader needs to scroll up to the top in order to navigate to the next chapter. (or any chapter for that matter)

To ease the reading experience, it'd be beneficial to add chapter-to-chapter navigation at the bottom of the various pages.

Just a small thought!

Missing image

hoohooo1.pngis missing from the section "Spacing, Metrics and Kerning".

bad practices encouraged in Diacritics_and_Accents.md

This report pretty much covers things I emphasized in the French FontForge book sprint.

Diacritics_and_Accents uses the 'acute' and 'grave', according to AGL and AGLFN these are U+00B4 = 'acute' and U+0060 = 'grave'.
U+00B4 and U+0060 are in the Unicode category "Symbols, modifier", they are spacing characters, meaning that they have their own advance width. They are in Unicode for compatibility with legacy encodings. They are notably used in some programming languages. They should not be used to build accented glyphs (=bad practice, pre-Unicode design) and must not have anchors (=big mistake, breaks Unicode support).

The proper diacritics are U+0300 = 'gravecomb' and U+0301 = 'acutecomb'. U+0300 and U+0301 are in the Unicode category "Mark, non-spacing", they are non-spacing characters, meaning they have no advance width and use the width of the previous base character/glyph.

The bad practice in Diacritics_and_Accents is to talk about U+00B4 and U+0060 as if they were always the right glyphs. The big mistake is to add anchors those spacing characters.

  1. In some fonts U+00B4 and U+0060 have a specific glyph that might not be appropriate for accented letters (too steep, to wide, etc.). That's mostly the case with 'asciicircum' U+005E, which causes some to use 'circumflex' U+02C6, another bad practice since U+02C6 is in the Unicode category "Letter, modifier" and is therefore a spacing character with its own advance width.
    For fool and future proof design, the proper non-spacing combining diacritics should be used. They are in the Combining Diacriticals Marks block, U+0300 'gravecomb', U+0301 'acutecomb', etc.
  2. Diacritics_and_Accents says to add anchors to 'acute' and 'grave', this is obviously wrong since these are spacing characters with their own advance width. Having anchors in them renders non sense, where 'a + acute' (U+0061 + U+00B4) is rendered as an aacute (U+00E1) with the 'acute' hanging above the 'a' followed by the now empty advance width of 'acute'.
    Instead U+0301 should be the one with the anchor, it has no advance width, where 'a + acutecomb' (U+0061 + U+0301) is rendered correctly as an aacute.
    To build aacute automatically, with the anchors, the PrefSpacingAccents must be off (it's on by default as in https://github.com/fontforge/designwithfontforge.com/blob/gh-pages/en-US/images/preferences_accents.png).

Contributing page/section

I think it would be valuable to have a page for contributors to the "book" to follow. It should outline:

  1. specifications for images (figures),
  2. style for said figures,
  3. what to do with the source files so that others can more easily edit and build upon the work.

Any other items?

Highlight Find Glyph feature

Mention "Find glyph" is one of the key features of the Font View. Its "View, Go To" and the hotkey in Font View is CTRL-SHIFT-. and in Glyph View this is simply .

PDF version of the ebook missing Devanagari texts

The PDF output of the ebook is not rendered any Devanagari texts. The missing texts are vital information for the context of the book. As you can see in this example.

Devanagari texts missing

Some possible workarounds are

  • embedding those text blocks as images in the page
    or
  • using a different kind of PDF generate engine to render the Devanagari text.

Thanks.

Add Webfonts section

  • Design Considerations
  • Font formats
  • How to generate different formats
  • Hinting
  • ttfautohint

Trouble installing grunt

@chakler Hmm, I can't install grunt :( Any tips? :)

designwithfontforge.com$ npm install
npm WARN package.json [email protected] No repository field.
npm WARN engine [email protected]: wanted: {"node":">=0.10.0","npm":">=2.1.5"} (current: {"node":"0.10.32","npm":"2.1.4"})
/
> [email protected] postinstall /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin
> node lib/install.js

  ✔ optipng pre-build test passed successfully

> [email protected] postinstall /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-jpegtran/node_modules/jpegtran-bin
> node lib/install.js

  ✔ jpegtran pre-build test passed successfully

> [email protected] postinstall /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin
> node lib/install.js

  ✔ pngquant pre-build test passed successfully

> [email protected] postinstall /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-gifsicle/node_modules/gifsicle
> node lib/install.js

  ✔ gifsicle pre-build test passed successfully

npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-jpegtran/node_modules/jpegtran-bin/node_modules/bin-wrapper/node_modules/bin-check/node_modules/executable/node_modules/meow/node_modules/indent-string requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-tar/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-tarbz2/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-targz/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-unzip/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-version-check/node_modules/bin-version/node_modules/find-versions requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-tar/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-tarbz2/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-targz/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-unzip/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-tar/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-tarbz2/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-targz/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-build/node_modules/download/node_modules/decompress-unzip/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-wrapper/node_modules/bin-version-check/node_modules/bin-version/node_modules/find-versions requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-tar/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-tarbz2/node_modules/strip-dirs requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/chalk,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-targz/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress-unzip/node_modules/strip-dirs requires get-stdin@'^4.0.1' but will load
npm WARN unmet dependency /Users/dcrossland/src/github.com/fontforge/designwithfontforge.com/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/get-stdin,
npm WARN unmet dependency which is version 3.0.2
[email protected] node_modules/grunt-notify
├── [email protected]
├── [email protected]
└── [email protected]

[email protected] node_modules/grunt-contrib-imagemin
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
$

Add example python script for glyph names

This python script was made by me an Andrew Miller [[email protected]] and could be a nice example of python scripting; it renames all glyphs to the "AGL without afii" namelist:

import fontforge
font = fontforge.open("Font.sfd")
for glyph in font:
  if font[glyph].unicode != -1:
    font[glyph].glyphname = fontforge.nameFromUnicode (font[glyph].unicode, "AGL without afii")

Some images are distorted in mobile.

Some images in the Using the Fontforge Drawing Tools are distorted when viewing in mobile. Probably because widths and heights are declared in the <img>.

Typos and missing words in "What Is A Font?"

In the second paragraph:

These compomises mean that we can best think about typeface design as the creation a wonderful collection of letters but not as a collection of wonderful letters.

This should probably read:

These compromises mean that we can best think about typeface design as the creation of a wonderful collection of letters but not as a collection of wonderful letters.

Fifth paragraph:

they sometimes help detemine the technological contexts for which a font is suitable

This should probably read:

they sometimes help determine the technological contexts for which a font is suitable

Under "ascender height":

In example above, the x-heights have been matched in order to illustrate the relative difference in ascender heights.

This should probably read:

In the example above, the x-heights have been matched in order to illustrate the relative difference in ascender heights.

Contribute to Chinese (Taiwan) translation

Hi everyone,

I am learning fontforge to build my own CJK font based on some existing open fonts and find out that "design with fontforge" is a good resource to learn almost the knowledge of typography and font-making.

I would like to help translate the content into Chinese (Taiwan) language, zh-TW, to spread those knowledge to wider audience.

If it is OK, I could create a branch to make a new "zh-TW" directory and copy "en-US" content into there, then translate little by little. I am not familiar with git workflow enough yet, hope what I write here makes sense though. :P

Ensure all contributors are credited

In addition to those at the book sprint, @mskala and Martin B Brilliant and myself contributed to the review of the first edition on piratepad :) We should be credited on the homepage as part of the call for more contributions :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.