Antwort schreiben  Thema schreiben 
Verfasser Nachricht
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #1
xPSP  [C][vorerst gelöst] Wie benutze ich fonts? (ich versuche freetype)

Ich verusche zurzeit in einem Programm fonts zu benutzen, also z.B. true type fonts und so. dann habe ich gegooglet und bin auf freetype gestoßen. habe ich mir runtergeladen und installiert, und dann einen blick auf die Dokumentation geworfen:

http://www.freetype.org/freetype2/docs/tutorial/step1.html

nachdem ich freetype in den ordner vom PSPSDK installiert habe, funktionierte das includieren von

PHP-Code:
#include <ft2build.h>
#include FT_FREETYPE_H 

auch komplett fehlerfrei.
Sobald ich aber einen schritt in der Anleitung weiter gehe, und FT_Init_FreeType( &library ); einfüge, bekomme ich beim kompilieren einen Fehler:

Code:
main.c:23: error: expected declaration specifiers or '...' before '&' token

zudem bekomme ich diese warnmeldungen:

Code:
main.c:23: warning: data definition has no type or storage class
main.c:23: warning: type defaults to 'int' in declaration of 'FT_Init_FreeType'


Wenn ich nun das & weglasse, und damit wohl einen pointer übergebe, bekomme ich den error nicht, aber die beiden warnmeldungen bleiben, und es kommt noch eine dritte hinzu:

Code:
main.c:23: warning: parameter names (without types) in function declaration

Dennoch wird das Programm kompiliert, wenn ich das & weglassen. wenn ich nun einen weiteren schritt weiter mache, und das einfüge:

PHP-Code:
FT_New_Facelibrary"/usr/share/fonts/truetype/arial.ttf"0, &face ); 

bekomme ich diesen fehler:

Code:
main.c:24: error: expected ')' before string constant


also habe ich das &, wies in der anleitung steht wieder in z. 23 hinzugefügt. Dadurch ist der vorherige fehler in z. 23 natürlich wieder aufgetaucht.

Also habe ich es immoment so wies im tutorial steht:

PHP-Code:
#include <ft2build.h>
#include FT_FREETYPE_H

... //hier ein paar definitionen die nichts mit freetype zu tun haben

FT_Library library;
FT_Face face;
FT_Init_FreeTypelibrary );
FT_New_Facelibrary"/usr/share/fonts/truetype/arial.ttf"0, &face ); 


und bekomme diese compiler-ausgaben:

Code:
psp-gcc -I. -I/opt/pspsdk/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150   -c -o main.o main.c
main.c:23: error: expected declaration specifiers or '...' before '&' token
main.c:23: warning: data definition has no type or storage class
main.c:23: warning: type defaults to 'int' in declaration of 'FT_Init_FreeType'
main.c:24: error: expected ')' before string constant
make: *** [main.o] Fehler 1


was kann ich tun?




EDIT: Habs hinbekommen!
für alle die wissen wollen wies geht, so hab ichs gemacht:

als erstes mal habe eine korrekte version von freetype für die PSP installiert:

Code:
svn checkout http://psp.jim.sh/svn/psp/trunk/freetype
cd freetype
sh autogen.sh
LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lpspuser" \
./configure --host psp --prefix=$(psp-config --psp-prefix)
make
sudo make install


wenn das ohne probleme läuft ist freetype grundsätzlich installiert. evtl muss noch evtl (PSPSDKORDNER)\psp\inc lude\freetype2\freetype zu (PSPSDKORDNER)\psp\include kopieren und (PSPSDKORDNER)\psp\inc lude\freetype2 gelöscht werden.

dann habe ich mich durchs halbe internet gegooglet, denn die fehler waren immernoch da. dann bin ich auf flib gestoßen, es vereinfacht das nutzen von freetype extrem, und lässt sich auch kompilieren und funktioniert auch, aber die schriften haben einen hässlichen schwarzen rand und es ist sehr langsam. ein QJ user optimierte flib, doch es war mir nicht möglich die optimierte flib zu downloaden, da es einfach zu alt war, und es keine online links mehr gab.

später bin ich dann auf den fontloader von Insomniac197 gestoßen ( http://www.qj.net/psp/homebrew-development/fontloader-for-the-freetype-2-library-unveiled.html ). Diesen habe ich runtergeladen und ausprobiert. Er basiert auch auf freetype, und funktioniert auch, aber die schriften sehen viel besser aus als mit flib (sie sehen einach so aus wie sie aussehen sollen) und die nutzung ist, nachdem man sich das sample angesehen hat super einfach. zudem ist es viel schneller als die flib.

also, mit einer kombination aus freetype, libpng, graphics.h und fontloader läufts nun erstmal Smile





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)

Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2011 03:23 von Neutrosider.

25.08.2011 21:46
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Suicide_Diamond (Aug-26-2011)
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xPSP Gelöst Pge Lua Webbrowser code? DaRkSiDe 2 1.087 30.11.2009 17:48
Letzter Beitrag: DaRkSiDe
xPSP Gelöst Lua HM Probleme Dringend!! DaRkSiDe 9 1.938 30.11.2009 14:36
Letzter Beitrag: Dark_Monkey
xPSP Gelöst EBOOT.PBP DaRkSiDe 27 5.769 29.11.2009 21:53
Letzter Beitrag: HomerTheKing

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang