1. SkylarEC's Avatar

    DO NOT ATTEMP THIS unless you are comfortable using a hex editor. You WILL get a Spinning Wheel of Death if you do this wrongly.

    1. Prepare
      • On your phone, set Auto-Lock to never.
      • On your phone, set your WiFi to always auto connect. You want this so you can recover from the SWoD, should it occur.
      • Install your hex editor of choice onto your computer.
      • On your phone, using Cydia, install the ldid tool. [alternate means of install: type apt-get install ldid onto your favorite SSH's client's command line]

    2. Backup
      1. On your phone, navigate to /System/Library/CoreServices
      2. Make a copy of SpringBoard.app and name it SpringBoard.app.orig. Make sure its permissions are still properly set to 755.
      3. Now, navigate to /System/Library/CoreServices/SpringBoard.app
        Make a copy of SpringBoard and name it SpringBoard.orig. Make sure the permissions are still set to 755.

      You probably notice that you just set up a redundant backup. The idea is that if you mess up along the way and get the SWoD, you can quickly just delete SpringBoard.app/SpringBoard and replace it with the SpringBoard.app/SpringBoard.orig backup you created. Should the worst case occur and that fails to work, just delete the SpringBoard.app directory and replace it with your backup, SpringBoard.app.orig.

    3. Get to work
      1. On your phone, navigate to /System/Library/Fonts and open up CGFontCache.plist. This will serve us as a list of fonts that the device supports.
      2. Read past the first part; and in the second section, find a font that you want to use. We'll use Georgia for this turorial.
      3. Navigate to /System/Library/CoreServices/SringBoard.app
      4. Copy SpringBoard to your computer's Desktop.
      5. Check SpringBoard's properties and write down the exact size in bits.
      6. While you are here, go ahead and rename _CodeSignature to CodeSignature.orig.
      7. On your computer, making sure that you have your "Insert" key set to overwrite, and NOT to actually insert, open SpringBoard with your favorite hex editor.
      8. Scan through, and find "Helvetica." This is the name of SpringBoard's standard font.
      9. Once found, start at the "H" and start typing in your font: Georgia. You'll notice that you have extra letters that the Georgia did not cover.
      10. Replace the extra letters with new lines. Do this by switching over to the left side of your computer screen, the side with all the letters and numbers. At where you left off, start replacing letter/number pairs with "00." That is two zeros. Do this until you finish off the rest of the word Helvetica and do nothing more.
      11. Compare your work to the picture included below.
      12. Save your work.
      13. Check SpringBoard's size in bits again. Make sure it is EXACTLY the same as it was before you started hex editing.
      14. Copy SpringBoard back into /System/Library/CoreServices/SpringBoard.app on your phone.
      15. Using your SSH client, navigate to /System/Library/CoreServices/SpringBoard.app
      16. Type this into the command line: ldid -S SpringBoard
      17. Reboot.
      18. Assuming you performed every step correctly, your phone should now be running the font of your choice.

    If, after rebooting, you get a SWoD, just replace SpringBoard with a backup of it and start over again.

    Note, not all fonts are all inclusive. That is, some fonts don't have bolds, italics, etc. Be careful when selecting a font.

    Hex edited.

    (right click, view image for a full sized view)

    I know what you're thinking, why would I do all this when I can just change fonts in CGFontCache.plist. Well, doing things that way changes every occurrence of Helvetica with the font you selected. Changing the font this way ensures that only SpringBoard's font will change.

    Last edited by SkylarEC; 2008-07-23 at 12:47 PM.
    2008-07-23 12:22 PM
  2. poroto's Avatar
    thanks a lot but one problem
    the size after I modified is different
    how I can adjust it to be what it was before I opened it?????
    2008-07-23 07:14 PM
  3. DerekL's Avatar
    After Pwnage and update from Cydia, all my icons font & top bar time font change to "Courier" !!! Pls anyone can help me to fix it ?
    2008-08-04 02:42 PM
  4. fayaman973's Avatar
    I want to know what is this font ?in the springboard picture
    2009-11-28 06:59 AM
  5. pwntbywombat's Avatar
    fontswap worked fine for me. changed the fonts in everything system wide.
    I made it ra1n...again

    'Reloading Data' - Ive spent the majority of my life seeing this
    2009-11-30 02:40 PM
  6. periperi's Avatar
    yea simpler way is to download fontswap on cydia

    if i helped don't forget to hit thanks
    2009-11-30 09:49 PM