[EVO 4G Themes and Apps] JsChiSurf:
[MOD] Custom Black HTC Dialer & Phone w/ability to set custom font (new colors added)

I originally set out to recreate the black HTC Dialer I had running on my Hero, for my EVO, as I really liked the look (see thread here). Note, this is based off of Fresh 3.3.0.1.

EDIT: See this post for additional font/button color options AFTER reading the instructions for how to apply referenced below.

EDIT 2: 10/28/2010: Modified ALL linked files in this thread to also include the "in call" keypad which is part of Phone.apk. If you've already applied, just re-download both files and re-apply. I realized after initially publishing this mod that I forgot to include the in call keypad as well.

As many of you may know, HTC changed the dialer pretty significantly with 2.2, making it a little more difficult to theme / change up the dialer. Most notably, the number buttons are no longer images, but rather, background images for the actual buttons, with actual font / text overlaying the button. However, since the numbers and letters are now actual fonts, rather than images, we can use this to our advantage for greater customization (keep reading).

So, in ripping apart the 2.2 HtcDialer, I was able to modify code and XML to get the dialer to a point where it looks pretty darn similar to the black dialer I was running previously, including moving the letters and numbers up to the same line (stock is vertical, numbers on top of letters), adjust spacing, font colors, font sizes, etc.

Following is a screen capture comparing the previous stock dialer for 2.2, to the black dialer MOD attached to this thread:

However, what makes this mod even cooler is that I was able to hack in the ability to allow the user (you), to specify your own custom font to use exclusively for the dialer, without affecting any other system level fonts, etc. The default font I am specifying in this mod is the SAME as the default / original system font, or DroidSans.ttf.

The way this works, however, is, when you flash the provided zip below, in the first step, it will apply the modified HtcDialer.apk, Phone.apk, AND install a font named 'dialer.ttf' in your /system/fonts folder. Again, this default font, named 'dialer.ttf' is just the DroidSans.ttf copied to dialer.ttf.

So, should you want to use a different font for your dialer ONLY, simply grab a font you like (see here), rename it to 'dialer.ttf', and push it to your /system/fonts/ folder on your phone.

EDIT: Here are detailed instructions for using a font from the nice fonts thread linked above:

1. After downloading the specific font pack, open the zip file, navigate to /system/fonts/, and extract the font named 'DroidSans.ttf'.

2. Rename the 'DroidSans.ttf' file you just extracted to 'dialer.ttf'

3. Use 'adb' to push to file to your phone (assuming the dialer.ttf file is in the same folder where you are running the adb commands):

adb remount
adb push dialer.ttf /system/fonts/
adb reboot

Once your phone comes up, your new font should appear in your dialer.

Alternately, if you use Root Explorer, drop the dialer.ttf on your sdcard, navigate to it using root explorer, long press to copy to your clipboard, navigate to your /system/fonts/ folder, click 'Mount r/w', and paste.

Here is an example of me replacing the 'dialer.ttf' font, on the fly, for a few others, just to show you how it works (note: a reboot is required after changing a font):

Cool, huh?

It is imperative when using this mod to NEVER remove the 'dialer.ttf' file that gets placed in the /system/fonts/ folder, as the apk is expecting this file to be present.

Now, applying this mod is a 2 step process. First, you MUST flash the update zip, which installs the 'dialer.ttf' font AND the newly modified HtcDialer.apk and Phone.apk.

Download HTC Dialer & Font <---Flash via recovery.

After flashing the above via recovery, when your phone comes up, the mod is only half applied, so do not panic if you view your dialer. You must now applying the MetaMorph file, which swaps out the applicable graphics in your 'com.htc.resources.apk' framework. This has to be a MetaMorph to prevent changing any other themes / mods you may already have in place.

Download com.htc.resources MetaMorph for black dialer <---Apply using MetaMorph.

When applying using MetaMorph, you phone will force close on a bunch of apps, LET IT FINISH. Once the phone appears to freeze, you can issue a reboot via adb, pull the battery, etc. Whatever it takes to reboot. Again though, let the MetaMorph finish. Also, since you are MM'ing a framework file, you may need to re-login to your various sync accounts, etc. You may loose your sync data as a result of replacing a framework file while running.

NOTE: if your phone did NOT freeze when applying the MetaMorph, ironically, it probably didn't work and you'll want to try again. MetaMorph does not always succeed when trying to apply changes, live, to a framework file.

Finally, play with different fonts. Some will work well, other won't, as there is variability in font size, spacing, padding, etc, and some will not fit correctly in the space allocated on the buttons.

Note: If after applying any of the mods, if you wish to also change the top and bottom header/footer bars on the dialer and keypad to black, use the MetaMorph provided here.