Difference between revisions of "FreeTypeGX"

From WiiBrew
Jump to navigation Jump to search
(Update to 0.2.1)
Line 68: Line 68:
  
 
==License==
 
==License==
FreeTypeGX is distributed under the GNU Lesser General Public License.
+
Metaphrasis is distributed under the GNU Lesser General Public License.
  
 
[[Category:Libraries]]
 
[[Category:Libraries]]

Revision as of 22:04, 7 January 2009

FreeTypeGX
FreeTypeGX.png
General
Author(s)Armin Tamzarian
TypeDevelopment
Version0.2.1
Links
[[Here|Download]]


FreeTypeGX is a wrapper class for libFreeType which renders a compiled FreeType parsable font into a GX texture for Wii homebrew development. FreeTypeGX is written in C++ and makes use of a selectable pre-buffered or buffer-on-demand methodology to allow fast and efficient printing of text to the EFB.

Note: As of version 0.2.1 FreeTypeGX has forked into two disparate projects and now relies upon the Metaphrasis library.

This library was developed in-full by Armin Tamzarian with the support of developers in #wiibrew on EFnet, Chaosteil of libwiisprite, and DrTwox of GRRLIB.

Full Doxygen API documentation is included within the download archive for assistance with program integration.

Installation (Source Code)

  1. Ensure that you have the libFreeType Wii library installed in your development environment.
  2. Ensure that you have the Metaphrasis library installed in your development environment with the library added to your Makefile where appropriate.
  3. Extract the FreeTypeGX archive.
  4. Copy the contents of the src directory into your project's development path.
  5. Place a copy of the desired TrueType or OpenType font you wish to use in the FreeTypeGX/ttf directory.
  6. Modify the fontface.s file and change the value of the incbin variable to point to your font.
  7. Modify the fontface.s file and change the value of the fontsize variable to the byte-size of the font file.
  8. Include the FreeTypeGX header file in your code using syntax such as the following:
#include "FreeTypeGX.h" 

Installation (Library)

  1. Ensure that you have the libFreeType Wii library installed in your development environment.
  2. Ensure that you have the Metaphrasis library installed in your development environment with the library added to your Makefile where appropriate.
  3. Extract the FreeTypeGX archive.
  4. Copy the contents of the lib directory into your devKitPro/libogc directory.
  5. Include the FreeTypeGX header file in your code using syntax such as the following:
#include "FreeTypeGX.h" 

Usage

  • Within the file you included the FreeTypeGX.h file create an instance object of the FreeTypeGX class passing in the desired font point size:
FreeTypeGX *freeTypeGX = new FreeTypeGX(32);
Alternately you can specify a texture format you would like to which you would like to render the font characters.
FreeTypeGX *freeTypeGX = new FreeTypeGX(32, GX_TF_RGB565);
Furthermore you can also specify a third flag which will load and cache all available font glyphs immidiately. Note that on large font sets enabling this feature could take a significant amount of time.
FreeTypeGX *freeTypeGX = new FreeTypeGX(32, GX_TF_RGB565, true);
Currently supported textures are:
  • GX_TF_I4
  • GX_TF_I8
  • GX_TF_IA4
  • GX_TF_IA8
  • GX_TF_RGB565
  • GX_TF_RGB5A3
  • GX_TF_RGBA8
  • Using the allocated FreeTypeGX instance object call the drawText function to print a string at the specified screen X and Y coordinates to the current EFB:
freeTypeGX->drawText(10, 25, _TEXT("FreeTypeGX Rocks!"));
Alternately you can specify a GXColor object you would like to apply to the printed characters:
freeTypeGX->drawText(10, 25, _TEXT("FreeTypeGX Rocks!"), (GXColor){0xff, 0xee, 0xaa, 0xff});

License

Metaphrasis is distributed under the GNU Lesser General Public License.