Logo by DBAlex (anonymous IP: 3.147.68.201,2258) | ||||||||||||||
| ||||||||||||||
Audio (343) Datatype (51) Demo (203) Development (602) Document (24) Driver (97) Emulation (149) Game (1011) Graphics (500) Library (118) Network (234) Office (66) Utility (932) Video (69) Total files: 4399 Full index file Recent index file
Amigans.net OpenAmiga Aminet IntuitionBase
Support the site
|
_____ ___ ___ ________ ______ ________ ______ /###" \ |##"\ |##"| |####" \ /###" \ |####" \ /####" \ /#" _ \|#" | |#" | |## ____| /#" __ \|## _ |/#" _ \ |#" | \ |# | |# | |#" |__ |#" / \__/|#" | \" |#" / \" | |# |_| |# | |# | |# \ |# |______|# |_/" |# | | | |# _ |# | |# | |# __| |# | |# /|# | | | |" | | |" |_____|" |_____|" |_____|" \\_| |" |\# \|" \_/" | | | | | \ \ \ " | | \" \\ / |___| |___|_________|_________|_________|\_______/_|___|__\___\\______/ |####" \ /####" \|###"\ |##"|####" \ |## ____|/#" _ |## \ |#" \____ ____| |#" |__ |#" / \" |#" \ |# | |#" | |# \ |# | | |# \# \|# | |# | |# __| |# | | |# |\# \" | |# | |" | |" \_/" |" | \# | |" | | | \ | | \" | | | _______|___/_____ \______/|___/___\____/____|___/_______ |####" \|####" \ |###"\/####" \/####" \|####" \ |## ____||## _ \|## |____ ____/#" _ |## _ | |#" |__ |#" | \ |#" | |#" | |#" / \" |#" | \" | |# \ |# | | |# | |# | |# | | |# |_/" | |# __| |# | | |# | |# | |# | | |# / |" |_____|" |__| |" | |" | |" \_/" |" |\# \ | \ / | | | \ | | \" \ |_________|________/|____| |___/ \______/|___| \___\ ------------------------------------ Allegro Font Editor version 1.19b ------------------------------------ Copyright (c) 2005 Miran Amon August 25, 2005 ______________________________________________________________________________ \________________________________INTRODUCTION_________________________________\ Allegro Font Editor is a simple bitmap editor specialized for editing bitmap fonts used in computer video games. It can import fonts from many popular font formats and save files ready to be imported by the Grabber utility into an Allegro datafile. It provides all the basic bitmap edit- ing functions and a few effect filters. This package contains a MS Windows executable and full source code. See the 'compiling' section of this document for instructions on compiling the program for different platforms. Allegro Font Editor is free which means you can copy, upload and distri- bute it as much as you like. The only limitation is that you don't charge any money for it and you keep all the files in the distribution package intact. If you wish to modify the source or use it or a part of it in your own project then plese let me know by sending me an e-mail (see contact information at the end of this document). ______________________________________________________________________________ \_________________________________FILE_LIST___________________________________\ This package should contain these files: FontEd.exe - MS Windows executable FontEd.cfg - program configuration file info.txt - short description of the package readme.txt - this document src.zip - the source code skins\*.* - various skin specific files ______________________________________________________________________________ \_________________________________INSTALLING__________________________________\ To install the Allegro Font Editor simply extract the contents of this package to a new directory. Optionally you can move the alleg40.dll file to your windows\system32 directory. To run the program run FontEd.exe directly or create a desktop shortcut to it. This version should run on all versions of Windows from Windows 95 to WindowsXP. ______________________________________________________________________________ \_______________________________CONFIGURATION_________________________________\ Allegro Font Editor should run without problems out of the box. If how- ever you do experience problems or just wish to change the configuration of the program you can do so by editing the 'FontEd.cfg' file. This is a normal text file containing various settings for the program: skinPath = 'path' - full or relative path to the MASkinG skin you want the program to use; leave empty if you want the default skin screenWidth = 640 - the screen resolution or window size; you shouldn't screenHeight = 480 change this as the program was written specifically for the 640x480 resolution colorDepth = 16 - the color depth of the screen; if you run the editor in a window this should match your desktop color depth; possible values are 15, 16, 24 and 32 refreshRate = 60 - the refresh rate of your monitor in Hz; if the frequency can't be set the default value of 60 Hz will be used; note: this has no meaning in windowed mode gfxMode = 0 - the graphics mode the program will try to use; DXAC selects DirectX fullscreen mode, DXWN selects windowed mode; see the Allegro documentation for the full list of all supported modes; change this only if the program is having problems setting the gfx mode fullscreen = 0 - should the program run in a window or fullscreen? There may be other settings but aren'r very important of have no effect at all on this program. ______________________________________________________________________________ \__________________________________COMPILING__________________________________\ The entire source code for the program is included in the package. If you want to compile it yourself though you will need a few libraries. First of all you will need Allegro. This version was successfully compiled with Allegro 4.0.3 and 4.2.0 beta 3. I haven't tested any other version. Secondly you will need MASkinG which is an Allegro add-on library I wrote for making graphical user interfaces with Allegro. MASkinG also requires another library called AllegroFont for loading some formats of fonts. You can get these libraries from these sites: - Allegro: http://alleg.sourceforge.net/ - AllegroFont: http://nekros.freeshell.org/delirium/alfont.php - MASkinG: http://ferisrv5.uni-mb.si/~ma0747 After you've downloaded and installed Allegro, AllegroFont and MASkinG (in that order) you can compile the program itself. I've included makefiles for MinGW and Linux. If you have problems compiling just edit the makefile to match your system configuration. Note: It is possible that you will have to get the latest WIP of MASkinG off SourceForge CVS! ______________________________________________________________________________ \________________________________MAKING_FONTS_________________________________\ To make fonts and use them in an Allegro game you first need to know what exactly a font is in Allegro. Allegro can only work with so called bitmap fonts. Bitmap fonts are nothing but 8 bpp bitmaps containing images of the characters (also called glyphs) arranged in a certain predefined way. The thing that makes fonts different from other bitmaps is the way they are organized. Open a bitmap font in your favourite bitmap editor and look at the palette. You will see that color #255 (i.e. the last color) is used for the background (usually this color is bright yellow although this is not really required) and on this background is a grid of boxes each containing one character. If you look closely at one of the little boxes you see that color #0 (i.e. the first color) is used for the background of the character (usually this color is magenta or bright pink but again this isn't nece- ssary) and other colors are used for the character itself. In some fonts only one color is used for the characters. These fonts are called monochrome fonts. You can make Allegro color the text printed with a monochrome font in any color you want like this: textout(screen, monoFont, "Hello, world!", x, y, fontColor); The other type of fonts are so called colored fonts. In these fonts the individual characters are painted with more than 1 color. If you print text in Allegro with the above line the character won't look like they were originally painted but will be colored with the 'fontColor' passed to the function. If you want Allegro to use the 'real' colors in a colored font you have to pass -1 for the color argument of the textout functions: textout(screen, colorFont, "Hello, world!", x, y, -1); Another thing you should know about fonts is the difference between fixed width and variable width fonts. In a fixed width font all the characters have the same width (and height), for example the default Allegro font has characters that are all 8x8 pixels big. In variable width fonts on the other hand each character can have a different width (height still has to be the same). ______________________________________________________________________________ \_________________________USING_ALLEGRO_FONT_EDITOR___________________________\ The way you use the Allegro Font Editor program depends on what kind of you would like to make. Usually you will either create a new font form scratch and hand edit each inidividual character or you will convert an existing font to the bitmap font format Allegro can use. Either way your final product will be a bitmap (usually in PCX format) that you can import into a datafile by the Allegro Grabber tool. This step is necessary becau- se Allegro doesn't yet have a function that loads a bitmap font from a file on disk so you must use the datafile system. The program window is separated in roughly 5 different areas: the charac- ter and character range selection lists, the character editor, the palette panel, the preview panel and the menu. The character selection list: ------------------------------ This is a list containing all characters in the currently selected range. By default only the 7 bit ASCII range of characters is enabled (characters with ASCII codes between 32 and 127). You can add any UNICODE or extended ASCII range by selecting "Edit/Add Range" in the menu. The character editor: ---------------------- The editor displays the currently selected character as a grid of pixels zoomed in as much as possible. If you wish you can turn the gridlines on and off with the checkbox just right of the editor. If the background of the characters is palette color #0 (bright pink) it is painted as gray. Drawing is done with the mouse. The left mouse button paints the primary color (see below) while the right mouse button paints with the secondary color. If your mouse has a third button you can use it to clear the pixels to the background color otherwise just use the secondary color for painting color #0. By default, clicking the mouse will paint single pixels but if you press and hold the shift key while clicking you can also draw lines. To draw a line between points A and B just click on point A, press and hold the shift key and click on point B. By holding the control key on the keyboard the floodfill tool is activated. The floodfill tool will fill the entire area where you click with the selected color. The palette panel: ------------------- This tool is used for selecting the primary and secondary colors and for changing the palette. To select your primary color click on it with the left mouse button and for selecting the secondary color click with the right mouse button. To edit a colour double click it with either the left or the right button. A little red rectangle is drawn around the selected primary color and a blue rectangle is drawn around the secondary color. You cannot select color #255 as this is reserved for the final font bitmap and you cannot edit colors #255 and #0 (color #0 is always bright pink). The preview panel: ------------------- Use the preview panel to see how the font will look like when used to printout actual text. You can edit the text you want to use for the preview in the text edit box just above the panel. By default the preview will be updated whenever the font is edited but you can disable this behaviour on slow computers by deselecting the checkbox just above the palette panel. In that mode you can manually force the preview to update by pressing the enter key on the keyboard. Note: the preview panel currently works only with ASCII characters. If you enter any other character the preview may display wrong text and the program may even crash. The menu: ---------- The menu is used to access most functions of the editor. Each menu item may also have a keayboard shortcut associated with it. This is printed on the right side of each menu item. The menu is divided in these sections: file, edit, glyph, palette, effects, help. file/new: Starts a new font and discards the old one. You have to enter the size of the characters in pixels. The default is 8x8. The secondary color is used for the background of the font so you may want to select your preferred color in the pallete panel before chosing this function. file/open: Allows you to browse the local filesystem to select a font you want to import. You can import any font the Grabber tool can (i.e. bitmap fonts, BIOS fonts and GRX fonts) and lots of other fonts such as True Type Fonts and Type 1 fonts. Again the secondary color will be used as the background color. This is especially important if you want to import a True Type font or a Type 1 font using antialiasing. In this case the background color will be used to do the antialiasing effect. If the backround color is color #0 (bright pink) the antialiasing will not work. Note: be carefull when loading bitmap fonts. If the file you're opening is a bitmap but is not a valid font the program has no way of knowing that and will probably die a slow and agonizing death. The same may apply for one or two other supported formats. file/save: Quick-saves the selected font. If you haven't saved the font yet it will popup the Save As dialog. file/save as: Opens a save as dialog which allows you to browse the local file system to select the path and the filename for your font. You can save in any bitmap format Allegro natively supports (PCX, BMP, TGA and LBM). If the font contains more than one range a script with the same name as the name you choose but with the .txt extension will also be saved. You can then load this script with the Grabber tool. file/quit: Exits the program. edit/cut: edit/copy: edit/paste: Use these functions for manipulating the characters in the same way as in most GUI programs. edit/add range Adds another range of characters to the font. You must enter the codes of the first and last characters in decimal format. edit/canvas size Changes the canvas size of all the characters in the font. You may enter the sizes of the left, right, top and bottom borders. The sizes are in pixels and may be positive or negative. Positive values grow the glyphs while negative values shrink them. glyph/clear: Deletes the contents of the currently selected glyph. glyph/next: glyph/previous: Use these to select the next or the previous glyph in the character list. glyph/resize: Opens a small dialog that allows you to resize the currently selected character. You may enter both the new width and height. glyph/canvas size: The same as edit/canvas size except that this function changes only the currently selected character. glyph/push/up: glyph/push/down: glyph/push/left: glyph/push/right: Use this to change the position of the character in the character box by one pixel in each direction. glyph/import: glyph/export: Use these command to import and export individual glyphs to and from the font. You can for example edit the glyphs with your favourite bitmap editor and then import them into the font. palette/default palette: Generates the default palette. palette/load: Allows you grab the palette from a bitmap. palette/gradient: Generates a gradient in the palette between the colors that are selected as primary and secondary. The program will ask you to select two colors and interpolate the palette entries between primary and secondary to create a nice looking gradient. effects/gradient: Fills the characters with a gradient between the primary and secondary colors. To use this tool first select both colors in the palette panel then select this function. Usually you will need to use the palette/gradient tool to define a gradient before using this effect. effects/outline: Draws a one pixel outline with the primary color around all characters. To use this effect first select the primary color in the palette panel then select this function. effects/smooth: effects/blur: These effects apply a simple filter which blurs the characters a bit. They both use the secondary color instead of bright pink for transparent pixels. If the secondary color is also bright pink then transparent pixels are ignored. As these two effects apply a 3x3 convolution matrix to the glyph data, every character needs to be resized by 1 pixel in each direction. If this is not what you want you may manually change the sizes of the glyphs back by selecting edit/canvas size and entering -1 in all input fields. effects/add noise: Adds a little random noise to the characters. You have to select the level of noise you want in the range between 0 and 255. effects/cutout: This is basically the opposite effect from outline. It leaves the outline and changes the insides of the characters to the primary color. effects/make wave: Separates each character in two parts with a sine wave pattern filling the top part with the primary colour and the bottom part with the secon- dary colour. ______________________________________________________________________________ \_______________________________KNOWN_PROBLEMS________________________________\ The program still has a few bugs that I know of and some commonly used functions/effects aren't implemented yet: - the user interface is not very user friendly as the program doesn't yet have an undo function, - some of the effects don't yet work the way they're supposed, - loading some fonts doesn't work and may even crash or freeze the program; also when loading ttf fonts some characters may be too big or too small, - after loading some variable size fonts (i.e. True Type fonts, Type 1 fonts, Windows fonts, etc.) the program may crash on exit, - the preview panel doesn't work with UNICODE fonts and may crash the program if not used properly, - some elements of the GUI have some small issues: the character list sometimes can't be scrolled all the way (arrow keys work though), the menus sometimes draw over one another and the file selector doesn't work properly all the time If you find any bugs or other problems with the program don't hesitate to contact me (see below for contact information). ______________________________________________________________________________ \___________________________________CREDITS___________________________________\ I would like to say thank you to the following people who made this program possible: - Shawn Hargreaves and everybody else who made or helped make the Allegro programming library, - David Turner, Robert Wilhelm and Werner Lemberg for making the FreeType project (www.freetype.org), - Javier Gonzalez for making the AlegroFont library, - evryone else who offered assistance and support either by reporting bugs, suggesting program features, providing solutions to problems or in any other way helping develop this program. ______________________________________________________________________________ \________________________________CONTACT_INFO_________________________________\ You can get the latest version of this program at my homepage: http://ferisrv5.uni-mb.si/~ma0747 If you want to contact me for any reason you can reach me at this address: miran.amon()gmail.com ______________________________________________________________________________ \_____________________________________EOF_____________________________________\ |
Copyright © 2004-2024 by Björn Hagström All Rights Reserved |