09-28-2012, 04:56 AM | #1 |
Member
Posts: 19
Karma: 33225
Join Date: Aug 2012
Device: Kindle Touch
|
New version of OFFICIAL fonts on K5!
This is a little howto guide to getting the new fonts without owning a K3/K4 device. Because I used this post as a step thru and then found out things on the way read it thru before following it! Some steps are not needed or only needed to verify/find out information that I already put up here!
When looking at K3 and K4 changelogs one can see this: K4 Software Update Version 4.1.0 * Improved reading font that is higher contrast and crisper so that you can enjoy a paper-like reading experience. K3 Software Update Version 3.4 * Improved Font: We've improved the reading font to have more contrast and be more crisp. That got me wondering, they are most probably using a new version of the default font on it. Let's find out. Get 3.4 update from http://s3.amazonaws.com/G7G_Firmware...e_3.4_B008.bin Get 4.1.0 update from http://s3.amazonaws.com/G7G_Firmware...4.1.0_B00E.bin Use kindletool to extract them, get it from https://www.mobileread.com/forums/sho...d.php?t=187880 I'm using windows so I'm going with kindletool-v1.5.1.1-mingw.zip. Extract it and put the update files inside the directory (for easy access). Start>run>cmd for winxp or start>type cmd (newer than xp) Go to the kindletools directory for me it is "cd C:\Users\myusername\Downloads\kindletool-v1.5.1.1-mingw" For nice placement create K3 and/or K4 directory (you really only need one, I'm doing both to see that they contain THE SAME new font) enter "kindletool.exe extract Update_kindle_3.4_B008.bin k3" And you see information about the package and extraction of files. Look inside the k3 directory. We are interested in update-patches.tar.gz. Open it with WinRAR, 7-zip whatever archiveing program and extract the contents. It contains the binary patch files of: 074.Caecilia_LT_65_Medium.ttf.patch 075.Caecilia_LT_66_Medium_Italic.ttf.patch 076.Caecilia_LT_67_Cond_Medium.ttf.patch 077.Caecilia_LT_68_Cond_Medium_Italic.ttf.patch 078.Caecilia_LT_75_Bold.ttf.patch 079.Caecilia_LT_76_Bold_Italic.ttf.patch 080.Caecilia_LT_77_Cond_Bold.ttf.patch 081.Caecilia_LT_78_Cond_Bold_Italic.ttf.patch 082.KindleBlackboxBoldItalic.ttf.patch 083.KindleBlackboxBold.ttf.patch 084.KindleBlackboxItalic.ttf.patch 085.KindleBlackboxRegular.ttf.patch 086.Kindle_Symbol.ttf.patch Next open rootfs_md5_list.tar.gz and see that the rootfs_md5_list contains (I've sorted them for easy reading): 3954651ba10e35b11fe723b64749d1f0 /usr/java/lib/fonts/Caecilia_LT_65_Medium.ttf 0b776aa698b706eb077641d097ad0a9c /usr/java/lib/fonts/Caecilia_LT_66_Medium_Italic.ttf 38e3118b285f7715e4a082ead9bdb7a8 /usr/java/lib/fonts/Caecilia_LT_67_Cond_Medium.ttf 486ea032afdf97fd5022daecf957a7e2 /usr/java/lib/fonts/Caecilia_LT_68_Cond_Medium_Italic.ttf fa4778e2c28957ff0094299061c61ef8 /usr/java/lib/fonts/Caecilia_LT_75_Bold.ttf 5b0637b447bdb1a1648af7e41e89515d /usr/java/lib/fonts/Caecilia_LT_76_Bold_Italic.ttf 718f1ed0d34c7ef18f8b3b0e79f264f8 /usr/java/lib/fonts/Caecilia_LT_77_Cond_Bold.ttf 628198bf8826a3bb87ddb2c284d3a4bf /usr/java/lib/fonts/Caecilia_LT_78_Cond_Bold_Italic.ttf 23790fb3eae4a94a338af9b7864e4f7d /usr/java/lib/fonts/KindleBlackboxBoldItalic.ttf 5801dcd28d7ad9652defd6fa4225de13 /usr/java/lib/fonts/KindleBlackboxBold.ttf f5200f16fb7a91cb57958fcce40bcc87 /usr/java/lib/fonts/KindleBlackboxItalic.ttf 20d560961d0e6265138c5f491de2cb82 /usr/java/lib/fonts/KindleBlackboxRegular.ttf 2ba4944b309c0b3bd2c7989d5ce2d604 /usr/java/lib/fonts/Kindle_Symbol.ttf These are the MD5 checksums that should match after we have done binary patching. Disregard everything else, we only need the 13 ttf.patch files For K4 use the same extract command. kindletool.exe extract Update_kindle_4.1.0_B00E.bin k4 Now this is a newer version of patching so look inside K4 directory and there is mnt\us directory, there you'll find Update_payload.bin Move it to kindletool directory. Make a new directory for example k4_ext and extract it: kindletool.exe extract Update_payload.bin k4_ext. Now inside that k4_ext directory you'll find the same as in K3 update-patches.tar.gz. Extract it. Here the filenames are: 049.Caecilia_LT_65_Medium.ttf.patch 050.Caecilia_LT_66_Medium_Italic.ttf.patch 051.Caecilia_LT_67_Cond_Medium.ttf.patch 052.Caecilia_LT_68_Cond_Medium_Italic.ttf.patch 053.Caecilia_LT_75_Bold.ttf.patch 054.Caecilia_LT_76_Bold_Italic.ttf.patch 055.Caecilia_LT_77_Cond_Bold.ttf.patch 056.Caecilia_LT_78_Cond_Bold_Italic.ttf.patch 057.KindleBlackboxBoldItalic.ttf.patch 058.KindleBlackboxBold.ttf.patch 059.KindleBlackboxItalic.ttf.patch 060.KindleBlackboxRegular.ttf.patch K4 does not update Kindle_Symbol.ttf file as K3 does, there is no binary diff file for it. K4 has rootfs_md5_list.tar.gz but that is empty. So no MD5 hashes to check against there They are in fact "hidden" inside 1331440003-1615370055.ffs file. It's a mess to look at in Notepad (unix vs windows linebrake). But the hashes are as follows: _PATCH_MD5=`md5sum "patch/usr/java/lib/fonts/Caecilia_LT_65_Medium.ttf" | awk '{ print $1; }'` _EXPECTED_MD5=3954651ba10e35b11fe723b64749d1f0 I won't write them here, but the MD5 hashes ALL MATCH against those that are in more readable form in K3! So this is first great success! K3 and K4 use the same new version of the font! ### THIS IS FOR INFORMATION PURPOSE ONLY, IF YOU WANT TO UPDATE K5 FONTS DIRECTLY, SKIP THIS ### Now we have the files, next we need the original K3 or K4 fonts. The easiest way to get them is from the full restore archives. Look here https://www.mobileread.com/forums/sho...d.php?t=170929 under "Kindle "Debricking Repair" Images" You'll need the first partition and that is named mmcblk0p1. I'll go with K4 mmcblk0p1-k4-4.0.1.7z because that is only 82.5MB and the mirror seems up (github ones are all down). Extract it to the directory you have the patch files. Now there is a problem, it is EXT3 linux file system and I (and you in this guide ) need to open it. The easiest way to do that is to use http://www.chrysocome.net/explore2fs tool. I use 1.08beta9. download, extract and run it. In File>Open Image File... point it to mmcblk0p1.img. Now use the tree in left to go to: /usr/java/libs/fonts direcotry. Select all the Caecilia font files and Kindle blackbox files, right click, export files. Coose the directory where you have the binary patch files. And this is where I found out that K4 4.0.1 contains the same version of fonts that K5 5.1.2 I use http://support.microsoft.com/kb/841290 FCIV utility from microsoft, but you can use ANY MD5 checksumming tool. THESE MATCH BETWEEN K4 and K5! c02cc2bab69488643fdcc5934d182b9b k5\Caecilia_LT_65_Medium.ttf be8b8670d90fb35a95e9b14c19b29e54 k5\Caecilia_LT_66_Medium_Italic.ttf 5c178ca3538d301a71c34de8db84af92 k5\Caecilia_LT_67_Cond_Medium.ttf 4bf41675e2c9ab76dd9f67f0acf0aa91 k5\Caecilia_LT_68_Cond_Medium_Italic.ttf 105cbd5249051c2b121addfcdd4f2b24 k5\Caecilia_LT_75_Bold.ttf d62ff8d708895faddffffa22abba2891 k5\Caecilia_LT_76_Bold_Italic.ttf fa152a298398045808892038fb703275 k5\Caecilia_LT_77_Cond_Bold.ttf e2c07f4c165e2e6a2807b761d930afa0 k5\Caecilia_LT_78_Cond_Bold_Italic.ttf These don't 5801dcd28d7ad9652defd6fa4225de13 k5\KindleBlackboxBold.ttf 23790fb3eae4a94a338af9b7864e4f7d k5\KindleBlackboxBoldItalic.ttf f5200f16fb7a91cb57958fcce40bcc87 k5\KindleBlackboxItalic.ttf 20d560961d0e6265138c5f491de2cb82 k5\KindleBlackboxRegular.ttf 8f14367401e5e17ab7df5282a952b520 k5\Kindle_Symbol.ttf Now remember those MD5 hashes before? 23790fb3eae4a94a338af9b7864e4f7d /usr/java/lib/fonts/KindleBlackboxBoldItalic.ttf 5801dcd28d7ad9652defd6fa4225de13 /usr/java/lib/fonts/KindleBlackboxBold.ttf f5200f16fb7a91cb57958fcce40bcc87 /usr/java/lib/fonts/KindleBlackboxItalic.ttf 20d560961d0e6265138c5f491de2cb82 /usr/java/lib/fonts/KindleBlackboxRegular.ttf They are already at the same version that is in K5 5.1.2! This does not match, but it is not used in reading books anyway 2ba4944b309c0b3bd2c7989d5ce2d604 /usr/java/lib/fonts/Kindle_Symbol.ttf ### CONTINUE HERE ### Now that we know that the only files that have been changed in K4 newest version compared to K5 newest are the Caecilia fonts we only use those patches. 049.Caecilia_LT_65_Medium.ttf.patch 050.Caecilia_LT_66_Medium_Italic.ttf.patch 051.Caecilia_LT_67_Cond_Medium.ttf.patch 052.Caecilia_LT_68_Cond_Medium_Italic.ttf.patch 053.Caecilia_LT_75_Bold.ttf.patch 054.Caecilia_LT_76_Bold_Italic.ttf.patch 055.Caecilia_LT_77_Cond_Bold.ttf.patch 056.Caecilia_LT_78_Cond_Bold_Italic.ttf.patch If you already have the fonts from K4 image then no need to get them from your Touch. But if you skipped the middle part as I told you need the font files from your Touch. The easiest way is to use https://www.mobileread.com/forums/sho...&postcount=293 on your jailbroken device. It takes quite a long time to dump the main filesystem but you'll end up with mmcblk0p1.img.gz file in your Kindle root directory. Extract it to your working direcotry. Now there is a problem, it is EXT3 linux file system and I (and you in this guide ) need to open it. The easiest way to do that is to use http://www.chrysocome.net/explore2fs tool. I use 1.08beta9. download, extract and run it. In File>Open Image File... point it to mmcblk0p1.img. Now use the tree in left to go to: /usr/java/libs/fonts direcotry. Select all the Caecilia font files, right click, export files. Coose the directory where you have the binary patch files. Next we need bsdiff program for applying the binary patches. Get it here http://www.pokorra.de/coding/bsdiff.html Extract bspatch.exe and use it for every Caecilia file as follows: bspatch.exe Caecilia_LT_65_Medium.ttf Caecilia_LT_65_Medium_new.ttf 049.Caecilia_LT_65_Medium.ttf.patch Or better, use the same filename and you'll patch them in place! Now when you open Caecilia_LT_65_Medium_new.ttf you can see that it is at version 5.40, open the original and it is at version 5.00 beta. Repeat for all Caecilia files. You'll end up with all the patched files. Now let's verify them: 3954651ba10e35b11fe723b64749d1f0 k5new\Caecilia_LT_65_Medium_new.ttf 0b776aa698b706eb077641d097ad0a9c k5new\Caecilia_LT_66_Medium_Italic_new.ttf 38e3118b285f7715e4a082ead9bdb7a8 k5new\Caecilia_LT_67_Cond_Medium_new.ttf 486ea032afdf97fd5022daecf957a7e2 k5new\Caecilia_LT_68_Cond_Medium_Italic_new.ttf fa4778e2c28957ff0094299061c61ef8 k5new\Caecilia_LT_75_Bold_new.ttf 5b0637b447bdb1a1648af7e41e89515d k5new\Caecilia_LT_76_Bold_Italic_new.ttf 718f1ed0d34c7ef18f8b3b0e79f264f8 k5new\Caecilia_LT_77_Cond_Bold_new.ttf 628198bf8826a3bb87ddb2c284d3a4bf k5new\Caecilia_LT_78_Cond_Bold_Italic_new.ttf And these all match MD5 checksums in K3/K4 update file. Now hot to use them? Rename them to remove the _new if you used that bspatch command. Place the 8 files on your Kindle root to /fonts directory. Now unplug your Touch and in the search field write ";fc-cache" without the "" and return on the virtual keyboard. It seems to do nothing but in about 3 minutes or so the screen will go blank and then when everything reappears the new fonts are in use (look here https://www.mobileread.com/forums/sho...&postcount=738). And there you go! New fonts on K5. Credits: https://www.mobileread.com/forums/sho...&postcount=235 https://www.mobileread.com/forums/sho...&postcount=734 Last edited by MarvinO; 10-05-2012 at 08:18 AM. Reason: Add credit, fix formatting |
09-29-2012, 03:38 AM | #2 |
Tech Geek Forever
Posts: 230
Karma: 568824
Join Date: Jun 2012
Location: USA
Device: Kindle Touch hacked
|
dude that is great! but I have to reread it several times to do it. can you prepare a windows or kindle installer that can do this for me
|
09-29-2012, 04:16 AM | #3 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Týr
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
Ah Techie monkey, I was reading this thinking of you are there you are : )
Ah go on have a play, see if you can replicate the actions. Might be fun!!! Thanks Marvino |
09-30-2012, 01:15 AM | #4 |
Tech Geek Forever
Posts: 230
Karma: 568824
Join Date: Jun 2012
Location: USA
Device: Kindle Touch hacked
|
@twobob I am beginning to understand it. Tell me if I grasped the process (the necessary one)
|
09-30-2012, 02:11 AM | #5 |
Tech Geek Forever
Posts: 230
Karma: 568824
Join Date: Jun 2012
Location: USA
Device: Kindle Touch hacked
|
See if I got this right:
1. Get k4 update 2. Extract it using kindletool and extract the same to get the .ttf.patch files 3. Then dump the k5 firmware and extract 4. Then open using explore2fs and export the caecilia fonts to the directory where I have the .ttf.patch files. 5. Then patch the fonts using bspatch,rename them by removing the new 6. Delete all existing fonts in the /mnt/us/fonts directory and place these newly obtained 8 fonts in that directory 7.Use fc-cache,wait for some mins till the framework restarts and done Tell me if this is right pls |
09-30-2012, 08:12 AM | #6 |
Tech Geek Forever
Posts: 230
Karma: 568824
Join Date: Jun 2012
Location: USA
Device: Kindle Touch hacked
|
Woo hoo! Done! Now waiting for a paperwhite firmware so that I can get more dark fonts like palatino lino.
|
09-30-2012, 08:58 AM | #7 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Týr
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
nice work mate.
|
10-05-2012, 05:05 AM | #8 |
Member
Posts: 19
Karma: 33225
Join Date: Aug 2012
Device: Kindle Touch
|
Update:
From https://www.mobileread.com/forums/sho...d.php?t=170929 under Kindle "Debricking Repair" Images one can now find a link to Paperwhite image with the name pw_5.2.0-mmcblk0p1.img.gz. Using explore2fs one can see that /usr/java/lib/fonts/ is empty. But there is a file name fonts.cramfs.img in /usr/java/lib/ Extract it and then use 7-zip to extract it (WinRAR can not extract it). And you now have a list of new fonts to choose from (Baskerville, Futura etc.) And Caecilia is at version 6.01 or 6.02 in the PW. Use the same procedure to upade as before. To get the new fonts in use make a file named USE_ALT_FONTS in kindle usb drive root and use the ";fc-cache" command. After a few minutes when the new fonts can be selected when in font size selection. So happy new fonts! Edit: and here is a comparison between k3/k4 newest Caecilia vs Paperwhite http://i.imgur.com/qmMz1.gif Clearly more contrast but other than that this is not as great leap forwards as going from stock K5 to K3/K4 latest (many changes in letters etc). Last edited by MarvinO; 10-05-2012 at 05:20 AM. |
10-05-2012, 07:48 AM | #9 |
Evangelist
Posts: 404
Karma: 2200000
Join Date: May 2012
Device: kt
|
I compared Caecilia from PW with the one from KT. Very few glyphs are really changed. The main change is that truetype instructions (hinting) are added to all glyphs. Also kerning tables are added and lookup tables for alternates and ligatures.
I tried the font on my KT, but I like original version more. PW version seems too thick at small font sizes for me. Maybe it is adjusted for different screen resolution. Or it is a matter of habit. |
10-05-2012, 08:02 AM | #10 |
Member
Posts: 19
Karma: 33225
Join Date: Aug 2012
Device: Kindle Touch
|
It was really apparent going from old K5 to K3/K4 font. And it took me like a week not to notice the a and e were completely different than before. But I read a little with the PW font and I say that I rather like the more contrast it gives. I usually read at the 5th size of font so it's not the smallest anyways.
|
10-07-2012, 07:34 AM | #11 |
Tech Geek Forever
Posts: 230
Karma: 568824
Join Date: Jun 2012
Location: USA
Device: Kindle Touch hacked
|
i exported font.cramfs.img,then when i opened it with explore2fs it gives me an error superblock not found, pls help! and twobob i should be bowing to you,you have been very helpful to a newbie like me
|
10-07-2012, 07:40 AM | #12 |
Pest
Posts: 204
Karma: 239254
Join Date: Jan 2012
Location: Italy
Device: KT, PW3
|
|
10-07-2012, 07:51 AM | #13 |
Tech Geek Forever
Posts: 230
Karma: 568824
Join Date: Jun 2012
Location: USA
Device: Kindle Touch hacked
|
sorry for asking stupid questions but do you mean i have to use 7-zip to open the font.cramfs.img?
Edit: got it |
10-07-2012, 10:16 AM | #14 |
Junior Member
Posts: 6
Karma: 10
Join Date: Jun 2012
Location: Italy
Device: Kindle Touch
|
Here is an archive ready to be used with fonthack. I patched the k5 fonts with the k4 fonts.
Just add the folders to the fonthack directory. [Link to copyrighted material removed by moderator] Last edited by HarryT; 10-07-2012 at 12:10 PM. |
10-07-2012, 12:11 PM | #15 |
eBook Enthusiast
Posts: 85,544
Karma: 93383043
Join Date: Nov 2006
Location: UK
Device: Kindle Oasis 2, iPad Pro 10.5", iPhone 6
|
Moderator Notice
These are copyrighted fonts. Please do not post links to copyright-infringing material. Thank you. |
Tags |
k5 modifications |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to add alternate fonts without replacing system fonts.(this time this is a guide) | techiemonkey | Kindle Developer's Corner | 17 | 09-12-2012 04:55 PM |
An Observation on Fonts - Improving readability by using *bold* versions of fonts | nesler | General Discussions | 12 | 06-24-2012 12:33 PM |
need the fonts in /usr/java/lib/fonts of kindle touch5.0.0 | hanpal | Kindle Developer's Corner | 1 | 02-20-2012 10:40 AM |
Troubleshooting need the fonts in /usr/java/lib/fonts of kindle touch5.0.0 | hanpal | Amazon Kindle | 0 | 02-20-2012 08:51 AM |