freetype2

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
biber
Einsteiger
Einsteiger
Beiträge: 125
Registriert: Donnerstag 4. April 2002, 09:42

freetype2

Beitrag von biber »

Hi,

Ich versuche gerade mich in freetype einzuarbeiten, und habe folgendes
Problem:

Ich habe ein C-Programm geschrieben nach Anleitung von dem tutorial aus
ftdocs. Am Ende erhalt ich in der struktur face->glyph->bitmap keine
Bitmap mit dem Font für char 'X'! (Der debugger sagt, das sie Struktur
bitmap leer ist (0))

Da das programm dann auf der dbox laufen soll, dachte ich mir, poste es mal ins forum

Kann mir jemand helfen?

Danke

Hier der Code:
--------------------------------------
/*
* Freetype Fonts
*/

#include <ft2build.h>
#include <freetype/freetype.h>
#include <freetype/ftglyph.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H

#define MAX_GLYPHS 512

void initFonts(){
int error;
FT_UInt glyph_index;
FT_GlyphSlot glyph;

FT_Library library;
FT_Face face; /* handle to face object */

FT_GlyphSlot slot = face->glyph; // a small shortcut
int pen_x, pen_y, n;
pen_x = 300;
pen_y = 200;

error = FT_Init_FreeType( &library );
if (error)
fprintf(stderr,"an error occured during library initialisation .. \n");

error = FT_New_Face( library, "/tmp/arial.ttf", 0, &face );
if (error == FT_Err_Unknown_File_Format)
{
fprintf(stderr," .... the font file could be opened and read, but it
appears
.... that its font format is unsupported\n");
}
else if (error)
{
fprintf(stderr,".... another error code means that the font file
could not
.... be opened, read or simply that it is broken..");
}
error = FT_Set_Pixel_Sizes( face, /* handle to face object */
0, /* pixel_width */
16 ); /* pixel_height */

if (error)
fprintf(stderr,"an error occured during FT_Set_Pixel_Size .. \n");

glyph_index = FT_Get_Char_Index( face, 'X' );
error = FT_Load_Glyph( face, glyph_index, FT_LOAD_DEFAULT );
if (error)
fprintf(stderr,"Fehler, FT_Load_Glyph,...\n");

/*
* Hier sollte "bitmap" eigentlich gefüllt sein, oder?
*/

}
-------------------------------------------

Markus
LazyT
Senior Member
Beiträge: 1260
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von LazyT »

Schonmal mit

Code: Alles auswählen

FT_LOAD_RENDER | FT_LOAD_MONOCHROME
probiert? Dann sollte da 'ne monochrom Bitmap liegen...
biber
Einsteiger
Einsteiger
Beiträge: 125
Registriert: Donnerstag 4. April 2002, 09:42

Beitrag von biber »

Cool, funktioniert,

wenn mir jetzt noch schell jemand sagen könnte welches format ein monochrome bitmap hat, bräuchte ich nicht lange suchen.

z.B. für jedes Pixel ein Bit/Byte?
...
LazyT
Senior Member
Beiträge: 1260
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von LazyT »

1 Bit = 1 Pixel
biber
Einsteiger
Einsteiger
Beiträge: 125
Registriert: Donnerstag 4. April 2002, 09:42

Beitrag von biber »

sch....

irgendwie sind meine Pixel kreuz und quer durcheinander, gibt es eine standard-funktion, die die Pixel eins nach dem anderen aus dem Bitmap holen?
biber
Einsteiger
Einsteiger
Beiträge: 125
Registriert: Donnerstag 4. April 2002, 09:42

Beitrag von biber »

Wenn ich FT_LOAD_MONOCHROME wegnehme, (also 1 char/Pixel) funktioniert es, ich habe irgendwie probleme mit den Bits auslesen,...