Outils pour utilisateurs

Outils du site


allegro:addon_fonts

**Ceci est une ancienne révision du document !** ----

A PCRE internal error occured. This might be caused by a faulty plugin

===== Chargement des fontes Bitmap ===== Dans cet exemple, on va utiliser [[http://mrhide.eu/f/font.png|cette fonte]].\\ Une fonte Bitmap doit respecter un certain format : * On doit avoir une couleur de fond sur tout le bitmap (par exemple le rose bonbon (FF, 00, FF) * Toutes glyphes (lettre) doivent avoir la même hauteur (mais pas forcément la même largeur) * Chaque glyphe est séparée des autres par au moins 1px de la couleur de fond (rose) * Chaque glyphe est représentée en couleurs sur fond transparent * Vos glyphes doivent avoir la taille que vous souhaitez utiliser dans votre jeu (sinon dessinez dans un bitmap que vous agrandirez) * Vos glyphes doivent comporter les pixels d'espacement entre les lettre (en général ou on une bande transparente à droite et sous le glyphe) * à cause du fond des glyphes transparent, on préfèrera le format TGA ou PNG (sinon utilisez un masque et passez-le en alpha avec **al_convert_mask_to_alpha**). <code c> #include <allegro5/allegro.h> #include <allegro5/allegro_font.h> ALLEGRO_FONT * init_font(void) { ALLEGRO_PATH *path; ALLEGRO_FONT *font; ALLEGRO_BITMAP *bmp; int ranges[] = {' ', '~'}; al_init_font_addon(); /* initialize the font addon */ path = al_get_standard_path(ALLEGRO_RESOURCES_PATH); al_append_path_component(path, "resources"); al_set_path_filename(path, "font.tga"); if ((bmp = al_load_bitmap(al_path_cstr(path, '/'))) == NULL) return NULL; al_destroy_path(path); font = al_grab_font_from_bitmap(bmp, 1, ranges); /* load the font */ al_destroy_bitmap(bmp); /* now you can destroy the bitmap */ return font; } </code> Cette fonction renvoie une fonte prête à l'emploi ou NULL en cas d'échec. ===== Chargement des fontes TTF ===== Ce greffon permet de charger des fontes TTF pour les utiliser avec les fonctions du greffon Font : celui-ci doit donc être initialisé en premier. Ce greffon est dépendant de la bibliothèque logicielle FreeType2, ce qui ne pose pas de problème sous Linux où est est généralement disponible, elle doit être packagée avec votre jeu dans pour pouvoir le redistribuer sous Windows. Des builds sont disponibles à cette adresse : http://gnuwin32.sourceforge.net/packages/freetype.htm L'avantage est que le greffon gère tous les formats supportés par cette lib, c'est à dire la plupart ! <code c> #include <allegro5/allegro.h> #include <allegro5/allegro_font.h> #include <allegro5/allegro_ttf.h> ALLEGRO_FONT * init_font(void) { ALLEGRO_PATH *path; ALLEGRO_FONT *font; al_init_font_addon(); /* initialize the font addon */ if (!al_init_ttf_addon()) return NULL; /* initialize the ttf (True Type Font) addon */ path = al_get_standard_path(ALLEGRO_RESOURCES_PATH); al_append_path_component(path, "resources"); al_set_path_filename(path, "myfont.ttf"); font al_load_ttf_font(al_path_cstr(path, '/'), 72, ALLEGRO_TTF_MONOCHROME); /* load the font */ al_destroy_path(path); return font; } </code> **al_load_ttf_font** Prend en paramètre le path vers le fichier TTF, la taille en pixels ainsi qu'un booléen comportant deux flags : * **ALLEGRO_TTF_NO_KERNING** — empêche tout [[http://fr.wikipedia.org/wiki/Cr%C3%A9nage|crénage]] sur la police * **ALLEGRO_TTF_MONOCHROME** — Fonte monochrome (pas de niveaux de gris = pas d'anti-aliasing) Pour changer la taille, il faut regarder la fonte en réutilisant cette fonction avec une taille différente. [[allegro:addons|Liste des greffons]]

allegro/addon_fonts.1324095564.txt.gz · Dernière modification: 2011/12/17 05:19 par mrhide