Click here for table of contents, but only after reading the license.
LICENSE
Font Collector is Copyright (c) 2004-2005 Alexander R. Pruss,
with portions
copyright (C) 2004 Kenny Song (the application icon).
Font Collector is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
Font Collector is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Font Collector (COPYING); if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Make a backup!
You should make a full backup before using this program.
Table of contents
Quick tutorial for FontSmoother/Fonts4OS5/FontSubst
If you want to do this with smooth FontSmoother fonts, also see below.
The instructions here work best with non-smooth fonts.
The basic idea is that a Fonts4OS5/FontSubst/FontSmoother font package contains four slots: standard, bold,
large and large-bold. Fill each slot with a font, and save to create a Fonts4OS5 package.
A FontHackV package is just a single font, so instead of filling four slots
and saving, you need to fill one. You will need to go to the
Menu and choose "Options" and "Preferences" to set the output type to the desired type
(FontSmoother, Fonts4OS5, FontSubst). For FontSmoother, this example works best for non-smooth fonts,
though smooth fonts can also be converted, as long as you do not delete the original font package
(the antialiasing resources stay in the original package).
Here are two examples of use. One is geared towards lo-res (Treo 600) users and
the other towards hi-res users (everybody else). If you want to use this with FontSubst,
first go to the menu, choose "Options" and "Preferences" and set the output type as FontSubst.
Lo-res example: Alpha Book font
-
Download the free
Alpha Fonts.
-
Unzip to some directory.
-
Hotsync Alpha-Bk.pdb, Alpha-Bd.pdb, Alpha-Lg.pdb and Alpha-LB.pdb. (You can
hotsync more of them if you want.)
- Run Font Collector.
- Tap on "Alpha-Bk Std". You will see a preview of the font. Tap on the first of the four arrow/hand icons
at the top of the screen. You will see "Alpha-Bk Std" jump into its slot (the "standard font slot").
- Tap on "Alpha-Bd Std". Tap on the second arrow/hand icon.
- Tap on "Alpha-Lg Std". Tap on the third arrow/hand icon.
- Tap on "Alpha-LB Std". Tap on the fourth arrow/hand icon.
- Tap on "SAVE". When prompted for a name, enter "Alpha Book" or something like that.
- Exit Font Collector (tap on PDA's HOME button) and run Fonts4OS5/FontSubst. You can now select the "Alpha Book"
font for any applications you want.
Hi-res example: Times New Roman (also works on lo-res)
Note: Whether you are legally allowed to do this depends on details of licensing agreements
and copyright laws.
We're going to make two Times New Roman font packages out of your Windows Times New Roman font
in this example. One will be a smaller size than the other.
- Download and install the free iSiloX utility on your
Windows system.
- Run iSiloX.
- Go to the "Tools" menu and choose "Make font".
- In the drop-down list, choose "Times New Roman" (or whatever font you want). Then select your
device. (If your PDA is not listed, put 144 for Screen DPI for hi-res devices and 72 for lo-res
ones.) Click on "Next".
- By default you get four sizes of the font: 8pt, 10pt, 12pt and 14pt, in plain (not bold and not
italic). You can remove some of these or add more. For this example, add bold versions of these
four fonts: Click on "Bold", and then enter 8 in the "Size box", and click on "Add", and do
this again for 10, 12 and 14.
- Click on "Queue for HotSync. Wait for the "Successfully saved font" message.
- HotSync your PDA.
- Run Font Collector.
- We will start by making the smaller font. Select the smallest "Times New Roman 8 iS" (the "iS"
standard for "iSilo") font in the bottom list.
Then tap on the first hand/arrow icon at the top of the screen to put it in one of the four slots
of a Fonts4OS5/FontSubst fonts. Then select the
"Times New Roman 8 bold iS" font, and then tap on the
second hand/arrow icon, the one with the bold "A". Repeat for a somewhat larger non-bold font
("Times New Roman 12 iS" in my test), putting it in the third slot, and a matching-size bold font
("Times New Roman 12 bold iS").
- Tap on "SAVE". When prompted for a name, enter something like "TR small". You can now
exit Font Collector, go into Fonts4OS5/FontSubst, and enable the "TR small" font.
- Or you can make a somewhat larger sized font package given that you have eight fonts in the
iSilo Font package. Just put larger "Times New Roman"
fonts into the four slots.
Instructions
This is a companion to FontSmoother, Lubak's Fonts4OS5, the FontSubst program and the free
(but harder to use) FontHackV, as well as PalmBible+,
Plucker and any programs using the standard FontHack 123 font packages (e.g., eReader, iSilo and, in V2 mode,
Mobipocket). (Fonts4OS5, FontSubst and FontHackV are OS 5 programs and not supported by Font Collector
on OS versions prior to 5.0 as output formats, though they are supported as input formats.)
Font Collector scans through your RAM (or Program Memory) and finds fonts that it can convert to these
formats.
To install, hotsync "FontCollector.prc" to your PDA (either
RAM, Program Memory, Internal Drive or flash card). OS 3.5 is required.
As mentioned in the tutorial above, the basic idea is
that Fonts4OS5 font packages contain four slots: standard, bold, large and
large-bold. Fill each slot with a font, and save to create a Fonts4OS5 package. If
you want to convert to a different output format, go to the Menu, choose "Options" and "Preferences"
and set the output type appropriately. Here are all the output types and what the
different slots mean in sequence:
- Fonts4OS5: standard, bold, large and large bold (must fill all slots). (OS 5 only)
- FontHackV: one slot only per font. (OS 5 only)
- FontSubst: standard, bold, large and large bold (must fill all slots). (OS 5 only)
- PalmBible+: standard, bold and thin (can fill as many slots as you wish--others go to the defaults). (OS 5 and lo-res pre-OS 5 only)
- Plucker: standard, bold, large, large bold, small, fixed, italic standard, italic bold, italic large, italic large bold, italic small, italic fixed (can fill as many slots as you wish--others go to the defaults)
- Standard (Fonthack 123 file, compatible with eReader and iSilo): 20 slots, no special meanings for different slots, can fill as many in whatever way you want.
- Mobipocket ('Font'/'Font' database compatible with Mobipocket): 20 slots, no special meanings for different slots, can fill as many in whatever way you want.
- iSilo: 20 slots, no special meanings for different slots, can fill as many in whatever way you want. However, you should tap on the icon to the right of the font to define which fonts in the package count as bold and which count as italic (or both). There is some autodetection of this, but except in the case of Font Silo fonts, this does not always work.
At the bottom is a list of
all available "input fonts". The input fonts are gleaned from font databases, applications,
etc. Tap on an input font name to see a quick preview. To copy that font into a slot
in the output font package, tap on the hand (hi-res devices) or arrow (Treo 600) icon
for the appropriate slot. When you have filled all slots at the top, tap on "Save" to save
the font package (and clear it so you can make a new one). You can then install the
font package with Fonts4OS5 or whatever program uses this particular font type (note that for
PalmBible+, you must go to the "Options" menu and choose "Skins & Plugins" to enable the
generated "font skin").
Font Collector gets its input fonts from a number of different sources. For speed
and simplicity, the sources must be in RAM (or Program Memory). Currently,
Font Collector supports the following input font package formats:
- FontHack (this is a pre-OS5 format)
- eReader
- Fonts4OS5 (conversion of Fonts4OS5 fonts to other formats is disabled)
- FontSubst (conversion of FontSubst fonts to other formats is disabled)
- FontHackV
- Fonts inside all applications' main .prc files and overlays
- Plucker
- iSilo
- PalmBible+
- VersaMail fonts
- FontBucket
- Built-in Sony NX fonts
- Built-in Palm OS fonts on many devices
If you would like to use fonts in an unsupported font package, please contact the
developer (ideally including information on whether the font package is a
resource or record database, and its creator and type IDs) at
arpruss@gmail.com.
There are a few additional options. In the PREFERENCES menu, you can choose to stop fonts
of some of the supported types from displaying to conserve space in the input list.
You can also choose whether Font Collector should look at the low-resolution or
high-resolution component of those fonts that contain both components. Hi-res PDA users
who choose to look at the low-resolution components will be thereby enabled to make font
packages containing very small fonts. Lo-res PDA users choosing to look at the high-resolution
components will be able to make font packages containing very large fonts. Tapping on most
PREFERENCES settings will clear the output font list.
Finally, if your output mode is
"Standard" and you have a Sony OS4 hi-res device, you will have a "Paired resolution outputs"
option. This produces standard "Fonthack" files with font entries (memory allowing) arranged
in pairs--a low resolution version followed by a high resolution version. Using Fonthack123
for Sony hi-res, map the standard font to the low resolution version and the "HR" version of
it to the high resolution version in each pair for best performance. The low resolution fonts
are automatically downscaled and hence will be ugly in any applications in which they actually
show up unless you are converting from a hand-tweaked OS5 multi-resolution font (e.g.,
the Fonts4OS5 fonts) in which case the low resolution font will be taken from it.
After you have put a font in an output slot, you can adjust its vertical spacing, generate a synthetic bolding, and set whether
you want to extract the high or low resolution component of a multi-resolution font
by tapping
on the icon to the right of the font name. You cannot increase the vertical spacing, but
you can decrease it. This is particularly useful with FontBucket fonts which have too much vertical
spacing. If you are generating iSilo fonts, you can also tell iSilo whether the font is a bold or
italic one by selecting the right "is bold" and "is italic" buttons (note that selecting "force bold"
does not set the "is bold" automatically because you might just want a thicker text font
for all Font Collector knows).
Note that occasionally the horizontal spacing after some letters on hi-res devices will
be off slightly (one pixel) after the font is converted. This is because the input font
was not designed for use as a Palm OS hi-res font (144DPI component of FontTypeV2 font,
to be precise), and hence its character widths were not optimized for it (the way the
widths in Lubak's own fonts were). There is really
no sure way of doing this optimization automatically. Similarly, any applications using
low resolution components of fonts may not look very good if Font Collector has to generate
the low resolution component by itself (which it does except when converting a multi-resolution
input).
Hints for advanced users
- Type or draw with graffiti the first letter of the font you want to navigate the
list faster.
- Unless a font is inside an application or application overlay or a system file, you can delete the
whole database containing the font by going to the Menu and choosing "File" and "Delete DB with font".
Doing this will clear all the slots.
- For font database types that do not require all slots to be filled, and with the exception of
applications, their overlays or system files, you can also use the "Delete this font" option to
delete just one font. Doing this will also clear all the slots.
- The "File" menu also has a "Fill from here" option that starts with the currently selected font
in the bottom list, and uses fonts from there on in sequence to fill in all the blank slots.
- To clear a slot, tap on the adjustment button to the right and choose "Clear slot".
- By default only fonts that have a space character, 0-9, A-Z and a-z are shown. To show all
fonts, go to the "Options" menu's "Preferences" dialog, and unselected the "Require space, a-z, A-Z and
0-9" option.
- You can hide some categories of fonts via "Options" menu's "Preferences" dialog. For instance
you can "Hide generated fonts", i.e., all fonts produced by Font Collector.
FontSmoother notes
Font Collector is designed for standard non-smooth (i.e., aliased) fonts. However,
it will also work with FontSmoother smooth fonts, subject to some notes:
- FontSmoother font packages contain a standard-format PalmOS font together with additional
smooth font data. Font Collector only copies the standard-format PalmOS font, which
includes a reference to the smooth font data. This means that you cannot delete the original
font package, because the smooth font data will still be accessed from it--only a reference
to it is included in the copy. This actually is an advantage because it means you can create
a number of FontSmoother packages that reshuffle fonts without having multiple copies of the
smooth font data which takes up a lot of memory.
- Font spacing adjustment may have unpredictable results with smooth fonts. Don't do it.
LEGAL WARNING
I understand that in the U.S., bitmapped fonts are not copyrightable (though
scaled fonts, e.g., TrueType, are), but I am not a lawyer. They are
copyrightable, however, in some other countries. Make sure you obey copyright
law when copying and converting fonts. Moreover, some fonts may be protected in
other ways, e.g., by trademark law or by any licensing contracts you agreed to
when you purchased or downloaded them. Thus, even though a font is not
copyrighted, a font within an application may be protected from copying and
conversion by a license agreement you agreed to when you installed the
application. IT IS YOUR RESPONSIBILITY TO ENSURE YOUR USE OF FONT COLLECTOR IS
LEGAL.
Free fonts and font generators
Here are some sources of free pre-built fonts:
If you'd like to create your own fonts from TrueType fonts on a desktop system, there are three
free utilities to let you do that:
- EasyConvert. A utility to convert TrueType
fonts to FontSmoother, Plucker, PalmBible+ and other formats. EasyConvert is aimed at
hi-res smooth fonts, but the FontSmoother packages it generates also have non-smooth components.
- iSiloX. Go to the TOOLS menu to generate
fonts in iSilo format. This is the best font generator I know of for fonts compatible
with Font Collector.
- FontBucket. This can be used on a desktop to
generate FontBucket fonts from TrueType sources.
- PalmFontConv. This can be used to directly generate
FontSmoother/Fonts4OS5/FontSubst/FontHackV fonts from either TrueType or Adobe Type 1 sources or from a bunch of other
formats. The conversion quality is, I think, somewhat lower than for some of the other tools,
but it is more flexible. And it should compile under Linux.
Uninstall Font Collector
To uninstall Font Collector just delete it.
Contact information
The author can be contacted by email at
arpruss@gmail.com.
History
- 1.52: Hi-res+ bug-fix, workaround for OS FntDefineFont() bug.
- 1.50: NVFS update, FontSmoother support.
- 1.40: GPL release. Removed alethe icons for clean GPL build.
- 1.36: Trimming works now on all OS versions.
- 1.35:
Show font sample in list (a very useful feature!) Improve trimming user interface. Some OS 3.5 fixes.
- 1.32:
Another trim bug fixed. Reliability testing led to fixing crash-severity bugs when deleting font database and when
trimming fonts.
- 1.31:
Better widescreen layout. Fix preview and tweak bugs in Fill function. Fix a trim bug and extend trim to work for all output types.
- 1.30:
Added "Fill from here", "Delete this font" and "Clear slot" functions. Remove double spaces from font names. Various bug fixes.
- 1.29:
Fix preview with lots of fonts. Allow 20 slots for standard, Mobipocket and iSilo outputs.
Allow setting of output font family for iSilo output. Improved the Alethe fonts.
- 1.28:
Fix major font downscaling and V2 font generation bugs.
- 1.27:
Fix trimming bug.
- 1.26 release 2:
Include Alethe hi-res font packages. (See font-copyright.txt for more
information.)
- 1.26:
Auto-generate bold fonts.
- 1.25:
iSilo output support (free: no dots over 's' glyphs even in free version!). Handera hi-res+ support and built-in fonts recognized.
Change icons for paging through slot list and show page number.
- 1.21:
Added support for personal-use export of FontSubst fonts for registered FontSubst users.
By default hide fonts that lack space, a-z, A-Z and/or 0-9. Include overlays for applications. Find internal fonts on more devices.
Fix an iSilo input bug. Skip Fish Tycoon when scanning apps to get around problem.
- 1.20:
Should now work on all devices starting with OS 3.5 through OS 5.4 (some output formats only for OS 5 devices,
some features not available without OS 5,
but all input formats should work on all devices). Font Silo fonts have style and point size identification
in display now.
- 1.16:
Support standard FontHack 123 (eReader, iSilo) and Mobipocket outputs. Allow individual fonts to be toggled between high and low resolution components. Support for registered Fonts4OS5 (3.1+) detection.
- 1.15:
Support Plucker input/output (also as freeware--no s-dots in unregistered version). A number of changes under hood to support formats with more than four slots.
New icon set courtesy of Kenny Song. Show output mode in title bar.
- 1.12:
Support PalmBible+ (and without the s-dots!) input/output.
- 1.11:
Support FontSubst.
- 1.10:
Support FontHackV fonts as both input or output.
- 1.05:
FontBucket compatibility fix. Display actual name and style of FontBucket font.
- 1.02:
Accept fonts of type 0x9001 and 0x9201 (not Palm standard).
- 1.01:
Bug fix: Load fonts with 256 glyphs.
- 1.00:
Public release.