FontHackV For PalmOS5

1. Instroduction

2. Requirements

3. Installation

4. Operation

5. Obtaining Fonts

6. Release History

7. For Developers

Instroduction

Copyright © Yang Zhiqiang
All rights reserved
*Shareware*
Website: http://www.yzqsoft.com
Support: yang_zhiqiang@hotmail.com
Current Version: v2.35

FontHackV is a font substitution tool for Palm OS5.x. It is intended to provide the same functionality of the good old FontHack123 on OS5, because FontHack123 only works for OS4 and below.

FontHackV is a shareware, you can use it free. But if you wish to express your appreciation for my work, and hope I can continue developing and supporting it over the years, please buy it.

Thanks!

Main Features:

1. Support antialiased fonts;
2. Substitute any system fonts and custom fonts to what you like;
3. Change fonts in app at any time;
4. Build-in font convertor, support convert Fonts4OS5 and FontSubst fonts.


Notes:

1. Please disable the FontHackV and delete the old FontHackV database(FontHackV_DB.pdb) before install the 2.0 version.
2. You should install YAHM(Yet Another Hack Master) to activate FontHackV, because FontHackV is a arm native hack.(URL: http://www.palmgear.com/?xyz=45126)
3. To support antialiased fonts, you should install FontSmoother. (URL: http://www.palmgear.com/?xyz=90288)
4. To suuport change fonts in app at any time, you should install FontHackV DA, and use a da launcher to launch it.

Snapshots:

FontHackV main form
FontHackV details form
FontHackV details form 2
FontHackV Font Convertor
FontHackV select font form
FontHackV DA form
iSilo with FontSmoother + FontHackV
MemoPad + FontHackV with Tahoma standard font
YAHM manage form

Back to top

Requirements

FontHackV works ONLY on Palm OS5 devices. No other Palm OS versions are supported at this point. FontHackV must be managed using YAHM (Yet Another Hack Master, http://yahm.palmoid.com). It is not compatible with other hack managers such as TealMaster. For more information about OS5 native hack APIs, please visit the YAHM website.

Back to top

Installation

Install FontHackV.prc and the font database files to your Palm device. Please deactivate and remove previous versions of FontHackV before installing the new version!!!

Note: If you delete FontHackV in YAHM, the fonts for FontHackV will also be removed, so I suggest that you use a file manager (e.g., McFile or FileZ) to remove only FontHackV.prc and FontHackV_DB.pdb when upgrading to a new version.

Back to top

Operation

Configuring:
Open the hack configuration screen in YAHM(click the "+" button beside FontHackV, or select FontHackV first, then click the "Config" button at the bottom.

Activating:
Activate the hack in YAHM by checking the checkbox on the left of FontHackV.

Back to top

Obtaining Fonts

I haven't written any tools to create FontHackV fonts, but it's easy to obtain font files by either converting the fonts for FontHack123, FontBucket, Font4OS5, FontSubst and any PalmOS5 font database or generating them with PalmFontConv(A free open source Palm font converter. More details below).

(1) Converting existing fonts for FontHack123, FontBucket, Font4OS5, FontSubst
This section is contributed by tian100 on TomPDA.com.
If you have the fonts for FontHack123, FontBucket, Font4OS5, FontSubst, you can easily create fonts for FontHackV using two free programs:
Palm Font Extractor (Download Website1, Download Website2)
PilRC (Website: http://sourceforge.net/projects/pilrc)

First, extract the fonts into .pfn files (A pfn file is a text file that defines Palm font data. It can be modified using any text editor, e.g., notepad). For example, fextract will output two files from Handera22b.pdb: a-11x11.pfn and a-22x22.pfn for low and high resolutions respectively.
All you need to do is type in the command console:
c:\>fextract handera22b.pdb
Note: fextract also creates two pft files of the same name. They are binary font files. We will only use the pfn files for the subsequent steps. Please open all of *.pfn files with any text editor, change the first line to "fontType 36864" if it IS NOT.

Second, create a project file for PilRC(you can get a demonstration at Fonts/FontDemo directory in FontHackV package). The project file is a text file with the extension ".rcp". For example, we can name it handera22b.rcp. In the RCP file, type the following:
FONTFAMILY ID 8888 FONTID 200 LOCALE "enUS"
BEGIN
FONT "a-11x11.pfn" DENSITY 72
FONT "a-22x22.pfn" DENSITY 144
END
STRING ID 9000 "Your Font About String"
The first line defines the FontFamilyID and FontID. This line will be the same for all fonts. The density values for lowres and hires should also stay the same. When creating your own rcp files, use the same format and change the name of the pfn files in the example.

Note: your high density glyphs should have exactly twice the width and height of their low density counterparts. The pfn files created by fextract always satisfy this requirement, but if you are manually creating your own fonts or modifying the font files, make sure they have the correct dimensions, otherwise PilRC will not be able to compile them.

Third, use PilRC to create the prc file. Here is how you do it:
c:\>pilrc -ro -creator fHKv -type Font -LE32 handera22b.rcp handera22Bold.prc

(2) Using PalmFontConv to create fonts from Windows fonts.
This section is contributed by locutus on TomPDA.com.
PalmFontConv (Website: http://sourceforge.net/projects/palmfontconv) is a collection of free open source font generation tools written by Alexander Pruss. You can download it from its SourceForge website or PalmGear:
http://www.palmgear.com/?xyz=52361

PalmFontConv needs the ActiveTcl runtime(Website: http://www.activestate.com/Products/ActiveTcl) for its graphical frontend. Download ActiveTcl from the ActiveState website. The latest version at the time of writing is 8.4.5 (direct download link for the setup file):
http://downloads.activestate.com/ActiveTcl/Windows/8.4.5/ActiveTcl8.4.5.0-win32-ix86-83642.exe

Install ActiveTcl and PalmFontConv, go to the PalmFontConv directory, and double click toFontHackV.tcl to run. The interface is very simple and intuitive, so I won't elaborate here. :)

(3) Using Font Collector to create fonts on Palm device.
Font Collector (Download: http://www.palmgear.com/?xyz=81547)is a freeware on Palm device, please read the read me file of Font Collector to learn how to create font for FontHackV.

(4) Using par(Palm database archiver) to convert Fonts4OS5 or FontSubst fonts.
1. Get Palm database archiver:
Palm database archiver (Download Website1,Download Website2)

2. Use the following command to extract Fonts4OS5 or FontSubst fonts:
c:>par -x "Handera 16.prc"

3. The afnx*.bin is the font resource, rename a afnxXXXX.bin to afnx22b8.bin, then use the following command to create FontHackV font database:
c:>par c -a "resource|backup" "FHV Handera 16.prc" "FHV Handera 16" Font fHKv afnx22b8.bin

4. If successfully, the "FHV Handera 16.prc" will be created.

(5) Using build-in font convertor to convert Fonts4OS5 or FontSubst fonts.

In FontHackV 2.35 or above version, it provides a build-in font convertor that can convert Fonts4OS5 and FontSubst fonts to FontHackV fonts. You only need install the Fonts4OS5 and FontSubst fonts to your palm memory card, then use font convertor to convert them. very easy!

Back to top

Release History

v2.35 - Jul 14, 2005
1. Add a build-in font convertor, supports convert Fonts4OS5 and FontSubst fonts to FontHackV fonts;
2. Add a Font Manager to manage FontHackV fonts;
3. BUGFIX: PalmOS menu white space problem, Fixed.

v2.3 - May 30, 2005
Please delete the old version before install this version.
1. Save font name to database instead of font id, then you can restore all settings after hard-reset;
2. Support font on card(Font directory: /Palm/Programs/FontHackV/);
3. Add font menu into "Select Form", support "Move font to ram/card", "Rename Font";
4. Update "FontHackV DA" to 1.1 version.
5. BUGFIX: Some applications can not display correct font(display symbol), Fixed.

v2.21 - Apr 02, 2005
1. Support delete font in font form;
2. Add some antialiased fonts;
2. Add a new way for converting FontHackV fonts in readme file;
3. Minor modification.

v2.2 - Mar 7, 2005
1. Add a "FontHackV DA" da, let you change fonts immediatelly in app;
2. Supports application on card(/Palm/Launcher);
3. Add a "Slow Mode" option.

v2.12 - Feb 12, 2005
BUGFIX:
1. Doesn't set correct font in some apps on some devices(e.g: TH55), fixed;
2. Doesn't set correct font when the app does not run with sysAppLaunchCmdNormalLaunch launch code, fixed.
3. Crash on Zire71, fixed.

v2.1 - Feb 10, 2005
NEW:
1. Support Font Smoother(Need Font Smoother Hack 1.15 or above, get it from http://www.palmgear.com/index.cfm?xyz=90288 or zlthemes.com);
2. New Georgia22Std font.
BUGFIX:
1. Doesn't set correct font sometimes(e.g: back to the previous app after un-lock device), fixed.

v2.0 - Feb 02, 2005
NEW:
1. New user interface;
2. Support font preview;
3. Support 4 custom fonts substitution, you can substitue any fonts by this function;
4. New read me file;
5. Add 6 new fonts(Batang, Comic, Times New Roman) to package;
6. Some bugs fixed;
7. Become to shareware.

v1.03 - May 04, 2004
NEW:
1. Support applications on card by shortcut(e.g: PowerRun and ZLanucher's shortcut).

v1.02 - Mar 03, 2004
BUGFIX: 
1. FntGetFont() will return incorrect font id when FontHackV is active. fixed.

v1.01 - Jan 08, 2004
BUGFIX:
1. Changing the font mapping for "All Applications" had no effect to the applications with custom font settings. fixed.

v1.0 - Jan 07, 2004
Initial release.

Back to top

For Developers

FontHackV has used from 200 to 211 font ids, if your application needs use custom font, please don't use these font ids. Thanks!

Back to top