:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Forums Hébergés :: > µLibrary

µLibrary Official µLibrary forum (English / Français)

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 08/11/2007, 06h16   #1
Noda
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: à montréal jusqu'au 4 mai, après retour en france ^^
Messages: 570
Par défaut font custom

Hmm je vois pas ce qu'il cloche dans ce code pour loader ma font custom (convertie avec font2osl.exe de la v1 de la oslib)

Code:
    VIRTUAL_FILE *f_verdana = VirtualFileOpen((void*)verdana, (int)verdana_size, VF_MEMORY, VF_O_READ);
    UL_FONT *font_verdana = ulLoadFont(f_verdana);
    ulSetFont(font_verdana);
Sans ca, ca marche (avec la font par defaut), avec, rien ne s'affiche :/

Quelqu'un a une idée??
__________________
http://nodadev.wordpress.com
Noda est déconnecté   Réponse avec citation

Publicité

Vieux 08/11/2007, 11h15   #2
Alekmaul
Codeur Archéologue
 
Date d'inscription: 10/11/2005
Localisation: Blois (France)
Messages: 660
Par défaut

Perso noda, j'ai fais une fonction qui ressemble à la fonction de load des images et elle fonctionne chez moi avec l'affichage de ma font :

Code:
UL_FONT *ulLoadFontFile(const char *fileName, int fileSize)	{
	VIRTUAL_FILE *f;
	UL_FONT *fnt = NULL;

	//Si aucune source n'est sélectionnée, on prend la dernière
	if (ul_loadUtilActiveSource == -1)
		ul_loadUtilActiveSource = VirtualFileSourcesNb - 1;

	//Charge un fichier PNG
	f = VirtualFileOpen((void*)fileName, fileSize, ul_loadUtilActiveSource, VF_O_READ);
	if (f)			{
		fnt = ulLoadFont(f);
		VirtualFileClose(f);
	}
	return fnt;
}
et j'appelle cette fonction avec :

Code:
  UL_FONT *fntHis;

    fntHis = ulLoadFontFile ((void*)hashimusha_oft,(int)hashimusha_oft_size);
    ulSetFont(fntHis);
sachant que hasimusha est une font de type oft et converti via mon makefile avec un tout bête bin2obj

Par contre, j'ai un problème avec le convertisseur de font, il me converti toujours la font en WIDTH=64 pour tous les caractères, y'a un truc spécial à faire pour avoir une font proportionnelle ???
__________________
Mon site http://www.portabledev.com
L'émulation sur GBA, c'est ->ICI ! et sur DS, c'est ->ICI!
Alekmaul est déconnecté   Réponse avec citation
Vieux 08/11/2007, 18h16   #3
Noda
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: à montréal jusqu'au 4 mai, après retour en france ^^
Messages: 570
Par défaut

J'ai trouvé mon pb il vient du convertisseur

- 1e chose: désactiver ClearType
- 2e chose: utiliser la font2oft de la v1 de la OSLib, celui de la v3 a ton souci alekmaul
- 3e chose: le résultat est assez aléatoire, si la conversion a l'air de bien se passer (width correcte pour les carac) le résultat a l'écran, c'est pas encore ca :/
__________________
http://nodadev.wordpress.com
Noda est déconnecté   Réponse avec citation
Vieux 08/11/2007, 21h49   #4
Alekmaul
Codeur Archéologue
 
Date d'inscription: 10/11/2005
Localisation: Blois (France)
Messages: 660
Par défaut

OK, merci de l'info noda, Brunni si tu passes par là, on a donc une modif à te donner pour la prochaine version d'OS Lib / µlib
__________________
Mon site http://www.portabledev.com
L'émulation sur GBA, c'est ->ICI ! et sur DS, c'est ->ICI!
Alekmaul est déconnecté   Réponse avec citation
Vieux 27/12/2007, 21h25   #5
Brunni
Super Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
Par défaut

Bon ben le problème du cleartype ce sera corrigé dans la prochaine version, j'avais jamais testé
Merci
Brunni est déconnecté   Réponse avec citation
Vieux 29/12/2007, 13h59   #6
lyonnel4
Membre
 
Date d'inscription: 20/02/2006
Messages: 18
Par défaut

Salut à tous,
j'ai installé la µlib sur mon mac et ai été assez impressionné par les divers exemples (effets de transparence, etc...) et la relative facilité pour les mettre en place.
Du coup, je voudrais l'utiliser pour mon projet (un peu abandonné faute de temps libre , à cause d'un bug de couleurs décourageant avec un fichier en a3l5 sous palib et surtout à cause d'un probleme de linker défaillant).

mon problème, c'est que je dois utiliser une police perso et que le convertisseur de polices fourni avec la lib ne fonctionne que pour Windows.
je voudrais donc savoir s'il existait un convertisseur en osl pour mac OSX,
et sinon s'il etait possible d'utiliser les polices créées pour palib (avec pagfx).
lyonnel4 est déconnecté   Réponse avec citation
Vieux 29/12/2007, 15h08   #7
Brunni
Super Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
Par défaut

Ca ne fonctionne vraiment que sous windows, je suis désolé. Par contre le code est fourni et la partie création d'un .oft est portable. La partie conversion d'une fonte en bitmap + texte dépend des fontes windows donc c'est pas portable.
Donc je pense qu'il te faudra un windows virtuel, sorry...
Sinon tu peux aussi te créer ton propre système de fontes, c'est pas bien compliqué Avec une simple image contenant tous les caractères, et en dessinant la bonne partie de l'image pour chaque caractère, ça suffit
Brunni est déconnecté   Réponse avec citation
Vieux 29/12/2007, 17h47   #8
Link Mauve
Membre confirmé
 
Date d'inscription: 06/01/2006
Localisation: À Hyrule
Messages: 73
Par défaut

@lyonnel4, dans l'archive de la µLib pour Linux, j'ai inclus un script de conversion (conv.sh). Il nécessite Wine et convertit une police en oft :
Il suffit de mettre un fichier ttf dans le répertoire « drive_c/windows/Fonts » de Wine et d'appeler le script « ./conv.sh police » sans l'extension. Il sort un fichier bmp, un txt, et le fameux oft (comme la version windows).

@Brunni, serait-il possible que ce programme prenne une police (ttf) en entrée au lieu d'un nom dans windows ? Pour tous les utilisateurs de Linux ou de Mac OS, ça serait beaucoup plus pratique ! J'ai essayé de le recompiler, mais j'ai eu un peu de mal avec les fichiers xAPI, bourrés de références à windows.h…
Link Mauve est déconnecté   Réponse avec citation
Vieux 31/12/2007, 22h04   #9
lyonnel4
Membre
 
Date d'inscription: 20/02/2006
Messages: 18
Par défaut

merci à vous deux pour ces réponses.

link mauve: malheureusement, j'ai un mac avec processeur powerpc et non intel, donc les virtualisations de windows ce n'est pas pour moi. (seule solution: l'emulation, ce qui est trop lent pour mon vieux mac)

je vais donc essayer de le faire à la main (à partir de la doc doxygen et de la source, je devrais comprendre le format).

bon reveillon.
lyonnel4 est déconnecté   Réponse avec citation
Vieux 01/01/2008, 02h24   #10
Link Mauve
Membre confirmé
 
Date d'inscription: 06/01/2006
Localisation: À Hyrule
Messages: 73
Par défaut

Wine n'est pas un virtualiseur, c'est une « réécriture libre de l'API win32 », donc ça devrait fonctionner même sur un PowerPC.

Par contre, si tu arrives à réécrire le code sans windows.h, ça serait super !
Link Mauve est déconnecté   Réponse avec citation
Vieux 03/01/2008, 18h31   #11
lyonnel4
Membre
 
Date d'inscription: 20/02/2006
Messages: 18
Par défaut

peut-etre, mais comme wine ne fonctionne qu'avec des processeurs x86, ca revient un peu au meme. la seule solution que j'ai vue, c'est d'utiliser conjointement un emulateur de processeur (qemu)

edit: maintenant , j'ai un mac intel, donc plus de soucis (je lance carrément windows via vmware)

Dernière modification par lyonnel4 ; 15/05/2008 à 22h14.
lyonnel4 est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h49.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince