> If a font is a program created to draw outlines, and therefore is a
> software program that must be free, then what differentiates a font
> file from a .ogg audio file, or a .jpg image? Would they not be
> software, too? At first I scoffed, but it really got me thinking.

There are some differences:

- most fonts are "information for practical purpose", so you need the
  free software freedoms for it (e.g. to fix bugs or hinting, add special
  characters for use in your work, add support for a minority language;
  there are less practical reasons to change art)

- outline fonts (.ttf, .otf, .pfb) are like vector graphics, unlike .ogg
  and .jpg, they are legally considered programs to draw bitmaps

- there are separate formats for editing fonts (e.g. .sfd for
  FontForge), while you can edit the above outline font files (you can
  distribute GIMP .xcf sources of a .jpg too)

- TrueType fonts (.ttf) include programs in a "real" programming
  language for hinting (grid-fitting), these are sometimes generated
  from different sources

I do consider the first point sufficient to require a license that
allows modification of the font.  Third and fourth point might be good
enough reasons to require inclusion of font sources, while no distro
that I know requires this even when they know that the font has separate
sources (some people write articles about the usefulness of such
sources, but distribute binaries only).

(I have written
http://b.mtjm.eu/source-code-data-fonts-free-distros.html with some more
cases of a similar issue.  I would consider meta-fonts a much greater
reason for requiring fonts to be free if there were more of them.)

> A font file (.ttf or .otf) is a set of numbers that describe
> outlines. The system's font-rendering program reads those numbers,
> draws the outlines accordingly, and creates a rasterized version of
> the outlines. That rasterized image is then displayed to the screen.

Why not "A .class file is a sequence of numbers that describe a Java
class.  The system's Java interpreter reads these numbers, generates
some code and runs it.  There is no execution of the .class file"?  (I
don't know any JIT compiler for a font rasterizer, while it clearly
doesn't affect softwareness nor freedom of Java or Python programs.)

Font files as descriptions aren't trivial (the descriptions can be
copyrighted, hence they need to be freely licensed), they can be made
From different "preferred form[s] [...] for making modifications" (as
what the GNU GPL calls "the source"; so source inclusion might be
needed) and they can contain programs in a Turing-complete programming
language (so there is more need for the source if it's not hand-written
assembly?).

> At no point in that process are the fonts executed. Fonts aren't even
> executable! Why, then, are they considered software? Why are they not
> considered an aggregate of vector images?

Aggregates of vector images can be software-like too, I believe it's
intentional that
https://www.gnu.org/distros/free-system-distribution-guidelines.html in
Non-functional Data section refers explicitly to "fictional world
map[s]", so real world maps are required to be free.

I don't believe there is a significance of programs being executable
here: clearly nonsoftware works like LaTeX or PostScript documents are
written in real (but unusual) programming languages.

Attachment: pgp_t59ihkVap.pgp
Description: PGP signature

Reply via email to