[HowTo] Change the font in SpringBoard for the 2.0 firmware. Also, other firmwares.

Discussion in 'iOS Jailbreak & Cydia' started by SkylarEC, Jul 23, 2008.

  1. SkylarEC

    SkylarEC Super Moderator Emeritus Staff Member

    Joined:
    Sep 19, 2007
    Messages:
    6,642
    Likes Received:
    129

    Please Register or Log in to view images




    DO NOT ATTEMP THIS unless you are comfortable using a hex editor. You WILL get a SWoD 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.

    Please Register or Log in to view images


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


    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.



    Enjoy,
    Skylar
  2. ocademi

    ocademi New Member

    Joined:
    Mar 4, 2008
    Messages:
    22
    Likes Received:
    1
  3. h_picko

    h_picko New Member

    Joined:
    Mar 30, 2008
    Messages:
    417
    Likes Received:
    3
  4. mukler

    mukler New Member

    Joined:
    Jul 23, 2008
    Messages:
    4
    Likes Received:
    0
    doesnt work. ssh restart is enough or must reboot?

    mukler

    edit:
    work my fault right for 777 forget..
  5. fatty matty

    fatty matty New Member

    Joined:
    Feb 24, 2008
    Messages:
    282
    Likes Received:
    1
    I cant find ldid in cydia and when i type apt-get install ldid into the command line it comes up with an error message
  6. rileyman

    rileyman Banned

    Joined:
    Jan 26, 2008
    Messages:
    1,239
    Likes Received:
    0
    Device:
    3G iPod touch
    what fonts are supported?
  7. ubunix

    ubunix Member

    Joined:
    Aug 6, 2008
    Messages:
    637
    Likes Received:
    1
    Device:
    iPhone 5 (Black)
    nice work skylar
  8. fatty matty

    fatty matty New Member

    Joined:
    Feb 24, 2008
    Messages:
    282
    Likes Received:
    1
    do i have to add a certain source to get Idid
    can put one of your own fonts that isnt in the ipod into the ipod and use that
  9. SkylarEC

    SkylarEC Super Moderator Emeritus Staff Member

    Joined:
    Sep 19, 2007
    Messages:
    6,642
    Likes Received:
    129
    This is outdated. Please ignore these steps and use WinterBoard.
  10. Clownassasin

    Clownassasin New Member

    Joined:
    Feb 17, 2008
    Messages:
    2,546
    Likes Received:
    13
    Device:
    2G iPod touch
    wow, i didnt even notice the date, lol im fine with the current font, i guess im just used to it

Share This Page