mirror of
https://gitlab.winehq.org/wine/fontforge.git
synced 2025-05-08 07:46:28 +08:00
858 lines
32 KiB
HTML
Executable File
858 lines
32 KiB
HTML
Executable File
<HTML>
|
|
<HEAD>
|
|
<!-- Created with AOLpress/2.0 -->
|
|
<!-- AP: Created on: 27-Oct-2005 -->
|
|
<!-- AP: Last modified: 14-Jan-2006 -->
|
|
<TITLE>FontForge install procedures for macintosh</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<H1 ALIGN=Center>
|
|
FontForge install procedures<BR>
|
|
<SMALL>for the macintosh</SMALL>
|
|
</H1>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="#Installing">Installing from a pre-built mac package</A>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="#Before">Before you install</A>
|
|
<LI>
|
|
<A HREF="#Obtaining">Obtaining one of my pre-built packages</A>
|
|
<LI>
|
|
<A HREF="#install">Installing</A>
|
|
<LI>
|
|
<A HREF="#Notes">Notes</A>
|
|
</UL>
|
|
<LI>
|
|
<A HREF="#src-mac">Before you build (on a mac)</A>
|
|
<LI>
|
|
<A HREF="#src-source">Building and installing from source</A>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="#src-distribution">Obtaining a source distribution</A>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="#src-tarball">tarball</A>
|
|
<LI>
|
|
<A HREF="#src-cvs">from the cvs tree</A>
|
|
</UL>
|
|
<LI>
|
|
<A HREF="#src-Building">Building & installing it</A>
|
|
<LI>
|
|
<A HREF="#src-installs">More complicated installs</A>
|
|
</UL>
|
|
<LI>
|
|
<A HREF="#Dependencies">Dependencies (external libraries/helper programs)</A>
|
|
<LI>
|
|
<A HREF="#suggested-fonts">Suggested fonts</A>
|
|
<LI>
|
|
<A HREF="#Documentation">Installing documentation</A>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="#doc-tar">Installing a documentation tarball</A>
|
|
</UL>
|
|
<LI>
|
|
<A HREF="#PATH">Some notes on the PATH variable.</A>
|
|
<LI>
|
|
<A HREF="#run-mac">Running FontForge</A>
|
|
<LI>
|
|
<A HREF="#Bugs">Reporting Bugs</A>
|
|
</UL>
|
|
<H2>
|
|
<A NAME="Installing">Installing</A> from a pre-built package
|
|
</H2>
|
|
<H3>
|
|
<A NAME="Before">Before</A> you install
|
|
</H3>
|
|
<P>
|
|
You must ensure that you have the X11 server installed on your system.
|
|
<DL>
|
|
<DT>
|
|
10.5, 10.4
|
|
<DD>
|
|
<UL>
|
|
<LI>
|
|
Open the Install DVD that came with your system.
|
|
<LI>
|
|
Scroll down to "Optional Installs" and open it.
|
|
<LI>
|
|
Keep clicking <CODE>Continue</CODE> until you get to the pane "Custom Install
|
|
on "Macintosh HD""
|
|
<LI>
|
|
Press the arrow beside "Applications" so you get a list of them.
|
|
<LI>
|
|
Select X11
|
|
<LI>
|
|
Keep pressing <CODE>Continue</CODE>
|
|
<LI>
|
|
<TABLE BGCOLOR="#ffff00"><TR><TD>
|
|
Apple appears to have shipped a buggy version of X11 with 10.5. The problem
|
|
appears fixed in 10.5.6 (It may have been fixed earlier, but I don't have
|
|
a machine on which I can test).
|
|
<P>
|
|
The problem only affects fontforge it if uses pango or cairo.
|
|
<P>
|
|
This release of fontforge tries to check for a buggy system, and if it
|
|
thinks it is running on one, then it will refuse to use Pango and Cairo.
|
|
<P>
|
|
The problem does not affect Mac 10.4.*
|
|
<HR>
|
|
You may upgrade from 10.5 to 10.5.6 by going to the Apple Menu and selecting
|
|
the "Software Update" menu item, and then the "Mac OS X Update Combined".
|
|
<P>
|
|
You probably need to install X11 <STRONG>before</STRONG> you upgrade the
|
|
Operating System.
|
|
</TD></TR></TABLE>
|
|
</UL>
|
|
<DT>
|
|
10.3
|
|
<DD>
|
|
<UL>
|
|
<LI>
|
|
The X server lives in a package called X11User.pkg in the Packages folder
|
|
on the third install CD.
|
|
<LI>
|
|
Just double click on this file and follow its instructions to install X11
|
|
</UL>
|
|
</DL>
|
|
<P>
|
|
You may also want to install the
|
|
<A HREF="http://fink.sourceforge.net/">fink</A> package or the equivalent from
|
|
<A HREF="http://www.macports.org/">macports</A> which includes many
|
|
useful libraries (see the <A HREF="#Dependencies">dependencies</A> section
|
|
below for more info on this)
|
|
<H4>
|
|
<A NAME="Configuring-X11">Configuring</A> X11
|
|
</H4>
|
|
<P>
|
|
<CODE>X11->Preferences->Input</CODE>
|
|
<P>
|
|
FontForge is designed to make use of a three button mouse. It is also designed
|
|
to make use of modifier key modes on mouse clicks (so Control left click
|
|
can mean something different than left click). If you have a three (or two)
|
|
button mouse then use it (and turn off "<CODE>Emulate three button
|
|
mouse</CODE>" in the X11 preferences). If you have a standard one button
|
|
mouse then you have the option of having the mac simulate a three button
|
|
mouse (for instance Option mouse click behaves like clicking the middle mouse
|
|
button). Unfortunately this means you can no longer use the Option key to
|
|
change the behavior of the left (only) button click. So either choice means
|
|
you lose capabilities.
|
|
<P>
|
|
Normally X11 is configured so that the Command key (cloverleaf) is bound
|
|
to the X11 menu bar, and not to fontforge's. When fontforge starts it checks
|
|
this, and if X11 gets command then fontforge configures its menubar to use
|
|
Control rather than command. This isn't very mac-like. If you turn <B>off</B>
|
|
the "<CODE>Enable keyboard shortcuts under X11</CODE>" preference item then
|
|
fontforge will configure its menubar to make use of Command.
|
|
<P>
|
|
If type the following into a terminal (or xterm) window
|
|
<BLOCKQUOTE id="shell">
|
|
<PRE><FONT COLOR="Gray">$ </FONT>cat >~/.fonts.conf
|
|
<?xml version="1.0"?>
|
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
|
<!-- /etc/fonts/fonts.conf file to configure system font access -->
|
|
<fontconfig>
|
|
|
|
<!-- Font directory list -->
|
|
<!-- Add to system list -->
|
|
|
|
<dir>/System/Library/Fonts</dir>
|
|
<dir>/Library/Fonts</dir>
|
|
<dir>~/Library/Fonts</dir>
|
|
|
|
</fontconfig>
|
|
<b>^D</b>
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
then fontforge's UI will be able to use the fonts Apple supplies with the mac.
|
|
(You don't type the "$", and ^D means hold down the control key and press "D").
|
|
<H4>
|
|
Note:
|
|
</H4>
|
|
<P>
|
|
On the mac, the Option key is mapped to what fontforge calls "Alt" or "Meta".
|
|
<H3>
|
|
<A NAME="Obtaining">Obtaining</A> one of my pre-built packages
|
|
</H3>
|
|
<P>
|
|
I post mac install packages on
|
|
<A HREF="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=111040">sourceforge's
|
|
file release system</A>. There's a certain amount of pother involved in using
|
|
the file release system, but you get the file eventually.
|
|
<P>
|
|
I currently post builds for Mac 10.5 & 10.4 (I post different builds for the
|
|
two systems because they provide different python libraries).
|
|
<p>
|
|
<STRONG>Neither of
|
|
these builds will work on 10.3</STRONG>. If you wish a 10.3 you can build from
|
|
current source or find a build from 2006. If you wish a 10.2 or earlier build
|
|
the current sources will not work and you must delve more deeply into the past.
|
|
<UL>
|
|
<LI>
|
|
If you follow the
|
|
<A HREF="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=111040">link
|
|
above </A>you will end up on a page showing many releases of FontForge for
|
|
many systems<BR>
|
|
in most cases you will want the most recent release.
|
|
<LI>
|
|
Then click on the executable package you want to download:
|
|
<UL>
|
|
<LI>
|
|
The mac release will be called something like "FontForge-200xxxxx.pkg.sitx
|
|
</UL>
|
|
<LI>
|
|
Then you have the joy of choosing a mirror site (pick one that's on the same
|
|
continent you are) and click on the little icon in the download column
|
|
<LI>
|
|
Then you wait. After a bit you get another copy of this same page. After
|
|
an even longer time your browser notices that you've started a download.
|
|
</UL>
|
|
<H3>
|
|
<A NAME="install">Installing</A>
|
|
</H3>
|
|
<P>
|
|
Generally your browser will decompress the package after pulling it down,
|
|
and then start the install process itself.
|
|
<P>
|
|
If this doesn't happen, find the package (it's usually on the desktop) and
|
|
double-click on it.
|
|
<P>
|
|
The install will request your password (to make sure you have the right to
|
|
do an install on your machine, and then ask some innocuous questions, and
|
|
proceed to install.
|
|
<H3>
|
|
<A NAME="Notes">Notes</A>
|
|
</H3>
|
|
<P>
|
|
FontForge does not conform to Apple's Human Interface Guidelines. FontForge
|
|
never will. Don't expect it to look like a normal Mac Application. It doesn't.
|
|
<P>
|
|
<HR>
|
|
<H2>
|
|
Before you build (on a <A NAME="src-mac">mac</A>)
|
|
</H2>
|
|
<P>
|
|
You must ensure that you have the both the X11 server and the Developer's toolchain
|
|
installed on your system. This process is slightly different on OS/X 10.3
|
|
& 10.4
|
|
<DL>
|
|
<DT>
|
|
10.5, 10.4
|
|
<DD>
|
|
<UL>
|
|
<LI>
|
|
Open the Install DVD that came with your system.
|
|
<LI>
|
|
Scroll down to "Optional Installs" and open it.
|
|
<LI>
|
|
Keep clicking <CODE>Continue</CODE> until you get to the pane "Custom Install
|
|
on "Macintosh HD""
|
|
<LI>
|
|
Press the arrow beside "Applications" so you get a list of them.
|
|
<LI>
|
|
Select X11
|
|
<LI>
|
|
Keep pressing <CODE>Continue</CODE>
|
|
<HR>
|
|
<LI>
|
|
The Developer's toolchain is optional software on the install DVD. Simply insert
|
|
the disk and click on the XCode install icon.
|
|
</UL>
|
|
<DT>
|
|
10.3
|
|
<DT>
|
|
<UL>
|
|
<LI>
|
|
The X server lives in a package called X11User on the third install CD.
|
|
<LI>
|
|
You must also install the X11SDK package on the XCode CD
|
|
<LI>
|
|
And you must install the Developer's (XCode) tools themselves.
|
|
</UL>
|
|
</DL>
|
|
<P>
|
|
You may also want to install the
|
|
<A HREF="http://fink.sourceforge.net/">fink</A> package or the equivalent from
|
|
<A HREF="http://www.macports.org/">macports</A> which includes many
|
|
useful libraries (see the <A HREF="#Dependencies">dependencies</A> section
|
|
below for more info on this)
|
|
<P>
|
|
You must then start up a Terminal window (the Terminal Application also lives
|
|
in the Utilities sub-folder of the Applications folder) and be prepared to
|
|
type commands in that window (I know, it's very un-mac-like).
|
|
<H2>
|
|
Building and installing from <A NAME="src-source">source</A>
|
|
</H2>
|
|
<H3>
|
|
Obtaining a source <A NAME="src-distribution">distribution</A>
|
|
</H3>
|
|
<P>
|
|
There are two basic ways to obtain a source distribution. One is by downloading
|
|
an entire source tree from the web, and the other is by using the cvs utility
|
|
to maintain a source tree on your machine which will be as up to date as
|
|
possible. The former solution provides more stability, the latter provides
|
|
access to cutting edge bugs.
|
|
<H4>
|
|
<A NAME="src-tarball">tarball</A>
|
|
</H4>
|
|
<P>
|
|
<A HREF="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=114328">Sourceforge's
|
|
file release system </A>will contain a tarball (a file with the extension
|
|
for .tar.bz2).
|
|
<P>
|
|
After you have downloaded one of these packages, either copy the tarball
|
|
to where you are, or move to the directory containing the tarball (I can't
|
|
provide explicit instructions here, because I don't know where your browser
|
|
put the file) and type (<SMALL>The "$" or "#" are example prompts from the
|
|
computer. Do not type them yourself</SMALL>):
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>bunzip2 fontforge*.tar.bz2
|
|
<FONT COLOR="Gray">$ </FONT>tar xf fontforge*.tar
|
|
<FONT COLOR="Gray">$ </FONT>cd fontforge-*
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<H4>
|
|
from the <A NAME="src-cvs">cvs</A> tree
|
|
</H4>
|
|
<P>
|
|
cvs is a nifty set of utilities which allows concurrent access to a source
|
|
tree by many users. To set up your own (local) copy of the cvs tree (including
|
|
documentation), create a new directory, cd into it and type the following
|
|
(when it asks for a password, just hit return):
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>cvs -d:pserver:anonymous@cvs1.sourceforge.net:/cvsroot/fontforge login
|
|
CVS password:
|
|
<FONT COLOR="Gray">$ </FONT>cvs -d:pserver:anonymous@cvs1.sourceforge.net:/cvsroot/fontforge checkout fontforge
|
|
<FONT COLOR="Gray">$ </FONT>cd fontforge
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
Once you have established a directory you may update it to obtain the most
|
|
recent version of the source by typing:
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>cd fontforge
|
|
<FONT COLOR="Gray">$ </FONT>cvs -d:pserver:anonymous@cvs1.sourceforge.net:/cvsroot/fontforge login
|
|
CVS password:
|
|
<FONT COLOR="Gray">$ </FONT>cvs -d:pserver:anonymous@cvs1.sourceforge.net:/cvsroot/fontforge update
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
You can also
|
|
<A HREF="http://cvs.sourceforge.net/viewcvs.py/fontforge/fontforge/">browse
|
|
the CVS tree</A> online. Or see
|
|
<A HREF="http://sourceforge.net/cvs/?group_id=103338">sourceforge's description
|
|
</A>for more information (their information is out of date, the correct server
|
|
is cvs1.sf.net not cvs.sf.net), or read the
|
|
<A HREF="http://www.cvshome.org/docs/manual/">CVS manual</A>.
|
|
<H3>
|
|
<A NAME="src-Building">Building</A> & installing it
|
|
</H3>
|
|
<P>
|
|
Now you have the source installed on your system and you should be positioned
|
|
at the top directory of that tree. You need to configure your package (this
|
|
is a little program that figures out how to use your system), and then build
|
|
it (do not type "$"):
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>./configure
|
|
<FONT COLOR="Gray">$ </FONT>make
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
<A NAME="su">Having</A> done this you will probably want to install what
|
|
you have built. This should be done as root:
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>sudo make install
|
|
password: ******
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<H3>
|
|
More complicated <A NAME="src-installs">installs</A>
|
|
</H3>
|
|
<P>
|
|
The configure script allows you to turn off and on various features of fontforge
|
|
that might not be appropriate for your system. Type
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>configure --help
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
for a complete list of options. Some of the most useful are described below.
|
|
<H4>
|
|
Building fontforge without X
|
|
</H4>
|
|
<P>
|
|
If you don't want to install X11 on your system, you can use fontforge as
|
|
a command line tool which can execute scripts to manipulate fonts. FontForge
|
|
supports <A HREF="http://fontforge.sf.net/python.html">python scripting</A>
|
|
and a legacy scripting language unique to ff which is described in detail
|
|
<A HREF="http://fontforge.sf.net/scripting.html">in the section on
|
|
scripting.</A>
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>configure --without-x
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<H4>
|
|
Building fontforge to edit type3 fonts
|
|
</H4>
|
|
<P>
|
|
If you do want to edit PostScript type3 fonts, you can configure fontforge
|
|
to give you access to more drawing modes than are generally available in
|
|
fonts.
|
|
<P>
|
|
(This also lets you create more complex SVG fonts).
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>configure --enable-type3
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<H4>
|
|
Building fontforge to edit device tables
|
|
</H4>
|
|
<P>
|
|
If you do want to create device tables (which allow you to fix up kerning
|
|
data at a specific pixel size) in OpenType fonts
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>configure --enable-devicetables
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<H4>
|
|
Installing FontForge somewhere other than <CODE>/usr/local</CODE>
|
|
</H4>
|
|
<P>
|
|
If you want to install fontforge in a different directory (say in /usr/bin)
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>configure --prefix=/usr
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<H4>
|
|
Installing <A NAME="installing-documentation-cvs">documentation</A> from
|
|
the cvs tree
|
|
</H4>
|
|
<P>
|
|
If you have a copy of the cvs tree on your system then you should be able
|
|
to type
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>sudo make install_docs
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<H2>
|
|
<A NAME="Dependencies">Dependencies</A> (external libraries/helper programs)
|
|
</H2>
|
|
<P>
|
|
FontForge tries to avoid hard dependencies. If a library is missing then
|
|
fontforge will (in most cases) be able to continue to run, it will just lack
|
|
whatever functionality the library provides. So if you don't need to import
|
|
tiff images, you don't need libtiff. If you don't need to handle SVG fonts
|
|
you don't need libxml2, etc.
|
|
<P>
|
|
With the appropriate libraries, FontForge can import png, tiff, and gif images
|
|
to act as character backgrounds for tracing purposes (FontForge can import
|
|
bmp and xbm formats without external libraries). With libxml2 FontForge can
|
|
read SVG fonts. With the freetype library FontForge will do a better job
|
|
making bitmap characters for you. libuninameslist provides standard unicode
|
|
names and annotations for unicode characters (it has been localized into
|
|
English and French)
|
|
<P>
|
|
None is required for the proper compilation/execution of FontForge, if the
|
|
libraries are not present they will not be used. (If the machine on which
|
|
your executable was build didn't have them, then you must not only install
|
|
the libraries, but <A HREF="#source">rebuild fontforge from source</A>) If
|
|
your machine doesn't have them and you want them they are available from:
|
|
<UL>
|
|
<LI>
|
|
Image Libraries (to allow FontForge to import images in those formats)
|
|
<UL>
|
|
<LI>
|
|
<A HREF="http://www.libpng.org/pub/png/libpng.html">libpng</A> (and required
|
|
helper <A HREF="http://www.gzip.org/zlib/">zlib</A>)
|
|
<LI>
|
|
<A HREF="http://www.libtiff.org/">libtiff</A>
|
|
<LI>
|
|
<A HREF="http://gnuwin32.sourceforge.net/packages/libungif.htm">libungif</A>
|
|
<LI>
|
|
<A HREF="http://www.ijg.org/">libjpeg</A>
|
|
</UL>
|
|
<LI>
|
|
<A HREF="http://xmlsoft.org/">libxml2</A><BR>
|
|
To parse SVG files and fonts
|
|
<LI>
|
|
<A HREF="http://libuninameslist.sf.net">libuninameslist</A><BR>
|
|
To display unicode names and annotations.
|
|
<LI>
|
|
<A HREF="http://www.gnu.org/software/libiconv/">libiconv</A><BR>
|
|
Only important for systems with no built-in iconv(). If not present FontForge
|
|
contains a minimal version of the library which allows it to work. But if
|
|
you want to use libiconv you must configure it with
|
|
<CODE>--enable-extra-encodings</CODE>, as FontForge requires Shift-JIS.
|
|
<LI>
|
|
<A HREF="http://freetype.sf.net/">freetype</A><BR>
|
|
To do a better job rasterizing bitmaps, and to enable the truetype debugger
|
|
<TABLE BORDER CELLPADDING="6" WIDTH="50%" ALIGN=CENTER>
|
|
<TR>
|
|
<TD BGCOLOR="#ffff00">Some of FontForge's commands depend on your compiling
|
|
freetype with the byte code interpreter enabled. This is disabled by default
|
|
because it infringes on certain
|
|
<A HREF="http://freetype.sourceforge.net/patents.html">patents granted to
|
|
Apple</A>. If you have a license from Apple (or live in a country where these
|
|
patents do not apply) then you may enable the interpreter by setting the
|
|
appropriate macro in .../include/freetype/config/ftoption.h before you build
|
|
the library (see the README.UNX file on the top level of the freetype
|
|
distribution).
|
|
<P>
|
|
To enable the truetype debugger, FontForge needs to have the freetype source
|
|
directories available when it is built (there are some include files there
|
|
which it depends on)</TD>
|
|
</TR>
|
|
</TABLE>
|
|
<LI>
|
|
libintl<BR>
|
|
Is standard on most unixes. It is part of the fink package on the mac. Handles
|
|
UI localization.
|
|
<LI>
|
|
<A HREF="http://www.python.org/">libpython</A><BR>
|
|
If present when FontForge is compiled, allows the user to execute python
|
|
scripts within fontforge (and you can configure fontforge so that fontforge's
|
|
functionality can be imported into python -- that is fontforge both
|
|
<I>extends</I> and <I>embeds</I> python)
|
|
<P>
|
|
This is one library that fontforge does not try to load at run time.
|
|
<LI>
|
|
<A HREF="http://x.org/">libX</A><BR>
|
|
Normally FontForge depends on the X11 windowing system, but if you are just
|
|
interested in the scripting engines (with no user interface), it may be built
|
|
on systems without X (the configure script should figure this out).
|
|
<LI>
|
|
<A HREF="http://www.cairographics.org/">libcairo</A><BR>
|
|
Cairo handles drawing anti-aliased splines in the outline glyph view. It
|
|
is dependent on libfontconfig, libXft and perhaps other libraries.
|
|
<LI>
|
|
<A HREF="http://www.pango.org/">libpango</A><BR>
|
|
Pango draws text for complex scripts. It depends on glib-2.0, libfontconfig,
|
|
libfreetype, libXft, and perhaps other libraries.
|
|
<LI>
|
|
Under Mac OS/X these libraries are available from the
|
|
<A HREF="http://fink.sourceforge.net/">fink project</A> and from
|
|
<A HREF="http://www.macports.org/">macports</A>.
|
|
<HR>
|
|
<STRONG>Sadly one important library is missing from fink's distributions for
|
|
Mac X.5 (it is present in the X.4 distributions). I have bundled up all the
|
|
(fink) libraries used by fontforge and provide them in a
|
|
<a href="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=302003&release_id=645772">
|
|
package of my own</a>.</STRONG>
|
|
</UL>
|
|
<P>
|
|
If you want to do autotracing around character images you should also download
|
|
either
|
|
<UL>
|
|
<LI>
|
|
Peter Selinger's <A HREF="http://potrace.sf.net/">potrace</A>
|
|
<LI>
|
|
Martin Weber's <A HREF="http://sourceforge.net/projects/autotrace/">autotrace
|
|
program.</A>
|
|
</UL>
|
|
<P>
|
|
Normally FontForge depends on the X11 windowing system, but if you are just
|
|
interested in the scripting engine (with no user interface), it may be built
|
|
on systems without X (the configure script should figure this out).
|
|
<P>
|
|
<A NAME="suggested-fonts">Once</A> upon a time, fontforge only used X11 bitmap
|
|
fonts, on most systems in now uses fontconfig.
|
|
<P>
|
|
There seem plenty of good unicode outline fonts, so I shan't provide any
|
|
suggestions. To install them you simply create a subfolder called .fonts in
|
|
your home folder, and then copy the font file into that subdirectory.
|
|
<FONT COLOR="RED"><STRONG>Warning:</STRONG> pango uses opentype to
|
|
layout complex scripts. Most fonts on your macintosh are in a different
|
|
format -- glyphs from them will display fine (so they work for latin, greek
|
|
cyrillic, japanese, chinese, etc.) but more complex features will probably
|
|
not work (so Arabic and Indic scripts may not be displayed properly).</FONT>
|
|
<P>
|
|
In the old days there weren't
|
|
many bitmap fonts with good unicode coverage so I provided a list of suggested
|
|
fonts. That's not nearly as important now. If fontconfig isn't available for
|
|
you, you might want to pull down some old unicode bitmap fonts.
|
|
<UL>
|
|
<LI>
|
|
<A HREF="http://khdd.net/kanou/fonts/ff/fontviewfont-en.html">Kanou's fontview
|
|
fonts</A>
|
|
<A HREF="http://khdd.net/kanou/fonts/ff/fontviewfont.html"><IMG SRC="flags/Nisshoki-Japan.png"
|
|
WIDTH="39" HEIGHT="26" ALIGN="Middle"></A>
|
|
<LI>
|
|
<A HREF="http://czyborra.com/unifont/">The unifont</A>
|
|
<LI>
|
|
<A HREF="http://clr.nmsu.edu/~mleisher/cu.html">ClearlyU's font</A>
|
|
<LI>
|
|
<A HREF="http://www.nongnu.org/freefont/">The FreeFont project</A>
|
|
<LI>
|
|
<A HREF="http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html">X fixed</A>
|
|
<LI>
|
|
<A HREF="http://canopus.iacp.dvo.ru/~panov/cm-unicode/">Computer Modern Unicode
|
|
fonts</A>
|
|
<LI>
|
|
<A HREF="http://eyegene.ophthy.med.umich.edu/unicode/fontguide/">Unicode
|
|
Font Guide for Free/Libre Open Source Operating Systems</A>
|
|
<HR>
|
|
<LI>
|
|
<A HREF="nonBMP/index.html">FontForge's conventions for non-BMP unicode bitmap
|
|
fonts</A>
|
|
</UL>
|
|
<P>
|
|
To install these, put them in a directory, and in that directory type:
|
|
<BLOCKQUOTE>
|
|
<PRE> <FONT COLOR="Gray">$ </FONT>mkfontdir
|
|
<FONT COLOR="Gray">$ </FONT>xset fp+ `pwd`
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
You should make sure that the xset line happens whenever X is started on
|
|
your machine (put it in your .xsession file).
|
|
<H2>
|
|
<A NAME="Documentation">Documentation</A>
|
|
</H2>
|
|
<P>
|
|
<A HREF="http://fontforge.sf.net/overview.html">The complete fontforge manual
|
|
is available online.</A>
|
|
<UL>
|
|
<LI>
|
|
There is a shorter tutorial which
|
|
<UL>
|
|
<LI>
|
|
<A HREF="http://fontforge.sf.net/editexample.html">Is available online</A>
|
|
<LI>
|
|
<A HREF="http://fontforge.sf.net/fontforge-tutorial.pdf">Can be downloaded
|
|
as pdf</A>
|
|
<LI>
|
|
<A HREF="http://fontforge.sf.net/tutorial.tgz">example files </A>(to work
|
|
through the tutorial yourself)
|
|
</UL>
|
|
<LI>
|
|
A documentation tarball can be retrieved from the
|
|
<A HREF="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=114329">file
|
|
release system</A>
|
|
<LI>
|
|
The cvs tree contains a sub-directory called htdocs containing the manual
|
|
<UL>
|
|
<LI>
|
|
The cvs tree contains a sub-sub-directory called htdocs/ja containing the
|
|
Japanese translation of the manual
|
|
</UL>
|
|
<LI>
|
|
See the general comments on the <A HREF="#src-cvs">cvs tree </A>to see how
|
|
to access this.<BR>
|
|
See the section on <A HREF="#installing-documentation-cvs">installing cvs
|
|
documentation </A>to see how to install the docs from the cvs tree
|
|
</UL>
|
|
<H3>
|
|
<A NAME="doc-tar">Installing a documentation tarball</A>
|
|
</H3>
|
|
<P>
|
|
Once you have downloaded the documentation tarball as described above, you
|
|
should move to the directory containing it, and type:
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>sudo sh
|
|
password: ******
|
|
# mkdir -p /usr/local/share/doc/fontforge
|
|
# mv fontforge_htdocs*.tgz /usr/local/share/doc/fontforge
|
|
# tar xfz fontforge_htdocs*.tgz
|
|
# rm fontforge_htdocs*.tgz
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
After doing this fontforge will be able to find the docs on your system when
|
|
you press the [F1] (or [Help]) key. If you don't do this fontforge will attempt
|
|
to find documentation online.
|
|
<P>
|
|
<HR>
|
|
<H2>
|
|
Starting FontForge
|
|
</H2>
|
|
<H3>
|
|
On the <A NAME="run-mac">mac</A>
|
|
</H3>
|
|
FontForge now installs itself as a mac application in the Applications folder.
|
|
You can start FontForge the way you start any other application, double clicking
|
|
on it, dragging files to it, etc.
|
|
<P>
|
|
<FONT COLOR="Red"><STRONG>Caveat: </STRONG></FONT><CODE>FontForge</CODE>
|
|
and <CODE>Font Book</CODE> may fight over which will open standard fonts
|
|
if you double click on the font file. Both claim they can open these files,
|
|
neither claims to be the prefered application for them. If an .otf file shows
|
|
a fontforge
|
|
icon
|
|
it will be opened by fontforge, if a font book icon it will be opened by
|
|
font book. Dragging a font file to the desired application will always
|
|
work. Or you
|
|
can select the font, and invoke <CODE>File->Get Info</CODE> (in the Finder's
|
|
menu) and use the "Open with" control to select an application.
|
|
<P>
|
|
On the mac the Option key is used to invoke the functionality that fontforge's
|
|
docs call "Alt" or "Meta". (See the section on
|
|
<A HREF=#Configuring-X11">X11 configuration</A> for notes
|
|
on three button mice and the command key).
|
|
<HR>
|
|
<P>
|
|
You can also start fontforge using traditional unix methods
|
|
<P>
|
|
Before you start fontforge on the mac you must start the X11 server. You
|
|
can do this by opening the Applications folder, and then opening the Utilities
|
|
folder, and then double-clicking on "X11". (If you don't have X11 there then
|
|
refer back to the <A HREF="#Before">instructions for installing it</A>)
|
|
<P>
|
|
Having done that there should be a menubar with a menu labeled "Applications".
|
|
Click on this. There should be a "FontForge" entry in it. Selection FontForge
|
|
will start fontforge and bring up a dialog allowing you to open a font or
|
|
create a new one.
|
|
<P>
|
|
<FONT COLOR="Red"><STRONG>Caveat: </STRONG></FONT>FontForge does not normally
|
|
show mac resource fonts in this dialog -- however it can still open one even
|
|
it it isn't displayed. Simply type in the name of the file containing it.
|
|
(or change the Filter field to "All Files").
|
|
<P>
|
|
<FONT COLOR="Red"><STRONG>Caveat: </STRONG></FONT>Normally FontForge will
|
|
never see the command key shortcuts. X11 intercepts these and uses them itself.
|
|
If you would like to be able to use Command-Q to quit FontForge then
|
|
<UL>
|
|
<LI>
|
|
Make sure the X11 menu bar is visible
|
|
<LI>
|
|
Select the menu item <CODE>X11->Preferences->Input</CODE>
|
|
<LI>
|
|
turn off (uncheck) <CODE>[] Enable keyboard shortcuts under X11</CODE>
|
|
</UL>
|
|
<P>
|
|
<FONT COLOR="Red"><STRONG>Caveat: </STRONG></FONT>FontForge was written assuming
|
|
the availability of a three button mouse. Under 10.4 X11 simulates this by
|
|
creating a virtual three button mouse where the middle button is invoked
|
|
by Option-Mouse click and the right button by Command-Mouse click. (You can
|
|
also control this from X11->Preferences).
|
|
<P>
|
|
If the Applications menu does not contain a "FontForge" entry, you can add
|
|
one yourself:
|
|
<UL>
|
|
<LI>
|
|
Select Applications->Customize Menu
|
|
<LI>
|
|
Then press the (Add) button in the dialog that appears
|
|
<LI>
|
|
Double click in the left-most section of the blank line which just appeared
|
|
and then type "FontForge"
|
|
<LI>
|
|
Press the [Tab] key and type "/usr/local/bin/fontforge"
|
|
<LI>
|
|
Press the [Tab] key again and type "f"
|
|
<LI>
|
|
Then press (Done)
|
|
</UL>
|
|
<P>
|
|
(You may also start fontforge from the command line here. Go to the Applications
|
|
menu and select Terminal or xterm, and look at <A HREF="README-Mac.html#Starting">the
|
|
section after the next</A>.
|
|
<H3>
|
|
Notes on the <A NAME="PATH">PATH</A> variable
|
|
</H3>
|
|
<P>
|
|
On most systems fontforge will install itself into <KBD>/usr/local/bin</KBD>
|
|
(that's the standard place for optional software), and this is not always
|
|
in the default search path for commands (grrrr). Which means you might have
|
|
everything properly installed, but nothing actually works from the command
|
|
line. If you see messages like <KBD>"fontforge: command not found."</KBD>
|
|
this has (probably) happened to you.
|
|
<P>
|
|
So what do you do?
|
|
<P>
|
|
You need to set the PATH environment variable so that it includes /usr/local/bin.
|
|
The value of the PATH variable is a set of directories separated by colons.
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>echo $PATH
|
|
/home/gww/bin:/usr/bin:/bin:/usr/X11R6/bin:/sbin
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
Unfortunately there are several ways of doing this because there are two different
|
|
conventions used by unix shells. And the mac has yet a third way which only works
|
|
sometimes. Type:
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>echo $SHELL
|
|
/bin/bash
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
If the name of your shell is <KBD>bash</KBD> (as above), <KBD>ksh</KBD> or
|
|
<KBD>sh</KBD> then you want to type
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>PATH=/usr/local/bin:$PATH ; export PATH
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
If the name of your shell is <KBD>tcsh</KBD> or <KBD>csh</KBD> then you say
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>setenv PATH /usr/local/bin:$PATH
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
But you'd have to do that every time you logged in. Instead you want this
|
|
included in the shell's initialization. Again there are two cases, for the
|
|
<KBD>bash</KBD> family of shells you want to edit the file
|
|
<KBD>~/.bashrc</KBD> while for the <KBD>csh</KBD> family you want to edit
|
|
the file <KBD>~/.cshrc</KBD>. On a bash system the following command is generally
|
|
sufficient:
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>cat >>~/.bashrc
|
|
PATH=/usr/local/bin:$PATH ; export PATH
|
|
^D
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
(where <KBD>^D</KBD> represents control-D, obtained by holding down the control
|
|
key while depressing <KBD>d</KBD>. <BR>
|
|
And for the csh family you would type:
|
|
<BLOCKQUOTE>
|
|
<PRE><FONT COLOR="Gray">$ </FONT>cat >>~/.cshrc
|
|
setenv PATH /usr/local/bin:$PATH
|
|
^D
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
On the mac you may also want to download the <a href="http://www.apple.com/downloads/macosx/system_disk_utilities/environmentvariablepreferencepane.html">environment
|
|
preference plugin</a> and install the environment variable there. Note if you
|
|
ssh into your mac this setting will not be noticed.
|
|
<H3>
|
|
<A NAME="Starting">Starting</A> fontforge from the command line
|
|
</H3>
|
|
<BLOCKQUOTE>
|
|
<KBD><FONT COLOR="Gray">$ </FONT>fontforge font.pfa font2.sfd font3.ttf font4.otf
|
|
</KBD>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
will start fontforge looking at the fonts you specify on the command line.
|
|
It can read either pfb or pfa fonts, and some ps fonts (type 0 fonts based
|
|
on a type 1 dictionary) as well as truetype fonts, open type fonts and many
|
|
other formats.
|
|
<BLOCKQUOTE>
|
|
<KBD><FONT COLOR="Gray">$ </FONT>fontforge -new</KBD>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
will cause fontforge to create a new font (in iso-8859-1 encoding)
|
|
<BLOCKQUOTE>
|
|
<KBD><FONT COLOR="Gray">$ </FONT>fontforge</KBD>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
will open up a file picker dialog and allow you to browse till you've found
|
|
a font file (or have created a new one).
|
|
<BLOCKQUOTE>
|
|
<KBD><FONT COLOR="Gray">$ </FONT>fontforge -script script.pe fonts...</KBD>
|
|
</BLOCKQUOTE>
|
|
<P>
|
|
This will invoke fontforge in a non-interactive mode, and have it run the
|
|
named script. Any further arguments on the command line will be passed as
|
|
arguments to the script and processed (or not) by it.
|
|
<P>
|
|
<HR>
|
|
<H2>
|
|
Reporting <A NAME="Bugs">Bugs</A>
|
|
</H2>
|
|
<P>
|
|
Please report bugs by sending an e-mail to
|
|
<A HREF="mailto:fontforge-devel@lists.sourceforge.net">fontforge-devel@lists.sourceforge.net</A>
|
|
</BODY></HTML>
|