All right, some of you may have noticed the CPU errors we've been getting at MoGu--growing pains for a growing site! I have recoded the whole site to straight code instead of using the CMS I was using--not because it was a buggy CMS, but because I can't afford my own server, which is what the CMS deserved! Bottom line is you should notice a much quicker site, and no more errors! Thanks--stick around, we're growing like crazy!
This guide will show you how to create your own font. Please note this will involve pixel editing which is a very slow and
painstaking task. The guide was made whilst I was creating the Arial font - this took around 7-8 hours. Try to split this over a few days so
you don't lose concentration and make mistakes.
Thanks go to Tonyayo and particulary Dark Preacher
who's site was invaluable.
Ok lets begin:
The first thing you need to do is find a suitable language pack to build on - many can be downloaded
from the V3 Firmware Download Page. This needs to be
a language pack using the standard or "stock" font for reasons explained later. You need to extract the languages
using SHXCodec.
First open SHXCodec and click on the following button:
Now browse to your chosen languagepack:
Click on the "Split Source SHX File" button, you will get something like the following:
Now close SHXCodec and run Binary Editor program, make sure to use the version linked here as it contains a couple of
extra files you will need that other downloads may not have.
Splitting the shx file using SHXCodec will have
created two new files in the same folder as your original languagepack. One of these will end in CG4.smg
Open
this file in binary editor (go to file, open langpack)
You will see a square containing "noise" - this is normal, just ignore it for now.
Go to the bookmarks menu and click "auto make bookmarks".
You need to add bookmarks for the clock on the outer LCD and for phone number input manually.
To do this go to the search menu and click on "find bitmap". Browse to
the StandartSymbol folder and select 2_outerclock_176x220.bmp
Click open. In the next
screen click "Find Next", this step will not work if you are not using a language pack with the stock fonts. When a
matching symbol is found it will be displayed.
Click on "Go to found"
Now right click on the list of bookmarks on the righthand side of the
screen and click on "Add Comment", enter "Outer LCD Clock"
Now
press the Page Up key on your keypad twice. The small 2 in the centre of the screen should have become a 0.
Right click on the
bookmarks list again and click on "Add". Enter 0 for the name.
You will see 0 added to the bottom of the list of bookmarks
underneath your Outer LCD Clock comment (you may need to scroll down)
Now press page down and you will see 1 displayed in the center of
the screen. Add this to your bookmarks as well. Repeat this till you have added all the numbers 0-9.
Now you also
need a colon and the letters A M and P
Click on the colon under "Small Figures For Screensaver" in your
bookmark list.
Add this to your bookmark list with the name :
Click on the "a" in the bookmark list below the : you
previously clicked on.
Add this to your bookmarks list as well. Press page down and add the M to your bookmarks list and again and add the
P.
Now go to the search menu again and "Find Bitmap". This time look for the file
2_phone_input_176x220.bmp. Add the comment "Phone input" to your bookmark list.
This
time when the 2 has been found go up to the # symbol and add this to your bookmarks. Repeat pressing page down and add to
bookmarks until all the symbols # ( ) * + , - 0 1 2 3 4 5 6 7 8 9 : ; n p w are all added
Now go to the bookmarks
menu and click "Save" to save the list to a filename and location of your choice.
Then right click on the
bookmarks list and choose select all, go to the Font Map menu and click on "Generate Font Map" again enter a
filename and location of your choice.
Close binary editor down. and browse to the location you saved the font
map. As well as the .rft file you will see a file of the same name with a .bmp extension. This is the standard font.
Now you need to open this file using your chosen image editing software and edit all those symbols. Personally I use
paint for pixel editing but there are probably better tools. This is the long part of the process.
Some tips:
What I did was keep two paint windows open - in one type the needed characters in your selected font and copy
and paste this over the target character in the map (you need to be on full magnification for this).
Do not go outside the
rectangular area covered by the original font. Use the biggest point size of your chosen font that will fit in the boundaries.
Take lots of breaks before you eyes go funny.
Make sure that you use the same point size for capitals and lower
case letters in the same "group"
Remember to do all the symbols - including the non-alphanumeric ones
li>
Make regular backups
To open the font in Binary Editor run the program again (the languagepack and
bookmarks will automatically reload), now make sure that you save the file you want to load in the same folder and with the same
name as the rft file you made earlier.
Go to the Font Map menu and click "Import Font Map"
You can just
import a selection of characters, but normally you would click select all (if they are not already all selected).
Click "Import Font
Map" and yes in the message box that pops up. Close that screen and go back to the main window. Now click on each of
the bookmarks and make sure that each character is displayed correctly - look out for any stray pixels!
Your
language pack code group has now been updated - close Binary Editor. IMPORTANT - Make a copy now of the language
pack CG4.smg file you have been editing.
Run SHXCodec again and repeat the file opening steps and click
"Split SHX Source File" again. Highlight the language pack entry.
Click on "Replace". Browse to the
copy of the CG4.smg file you just made.
Ok the message, then click on "Compile SHX". Save the new languagepack. I
recommend you keep the original filename which has all the necessary information in the name but add _ (underscore) then your
font name.
Thats it - you made your own fontpack!!!
Flash it to your phone and fully test it before
sharing!
If you don't like it just flash with another language pack.