Conviertiendo cualquier fnt a 1 bit.

Started by Fede, December 14, 2010, 05:41:36 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Fede

Saludos a todos.

Aunque últimamente os tengo algo abandonados tengo la escusa de que estoy usando el poco tiempo libre que tengo para programar.  ;D

Estoy haciendo un convertidor de fnt a 1 bit y se me 'cuelga' aleatoriamente. Otras veces me da un Runtime error.

He conseguido descubrir unos de los errores en esta función pero no veo porque no vá.

Agradecería le echarais una miradita.

Muchas gracias.


EDITO:

Subo el código que no se me pega bien.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

se parece muchisimo a uno que hice yo hace tiempo...


import "mod_map";
import "mod_draw";
import "mod_say";

private
    input;
    output;
    gr, gr2;
    i;
    h, w;
    ih, iw;
    int p1, p2;
begin

    input = load_fnt( "MS Sans Serif.fnt" );
    output = FNT_NEW(1);

    for (i = 0; i < 128; i++)
        gr = GLYPH_GET( input, i );
        if ( gr )
            w = map_info(0,gr,g_width);
            h = map_info(0,gr,g_height);
            gr2 = map_new(w, h, 1);
            for ( ih = 0; ih < h; ih++)
                for ( iw = 0; iw < w; iw++)
                    if ( map_get_pixel(0,gr,iw,ih) )
                        map_put_pixel(0,gr2,iw,ih,1);
                    end
                end
            end
            point_get(0,gr,0,&p1,&p2);
            point_set(0,gr2,0,p1,p2);
            point_get(0,gr,1,&p1,&p2);
            point_set(0,gr2,1,p1,p2);
            point_get(0,gr,2,&p1,&p2);
            point_set(0,gr2,2,p1,p2);
            GLYPH_SET( output, i, 0, gr2 );
            map_del(0,gr2);
            map_del(0,gr);
        end
    end

    FNT_SAVE(output, "MS Sans Serif-1.fnt" );
end


este funciona.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Fede

#2
Joder, pues si que se parece.

Voy a mirarlo a ver si comparando pillo algo.


Gracias.

EDITO:

Ya lo he mirado.

Se me cuelga cuando compruebo más de 160 carácteres o así.

¿No se supone que pueden tener hasta 255?

¿Si pido un caráter que no existe con GET_GLYPH se puede corromper el sistema?

Gracias.

EDITO 2:

Na.

No tiene nada que ver con los carácteres.

Tengo que estudiar más tu ejemplo, Splinter.

Chao.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

Fede

Splinter, si añades al final de tu código las líneas:

   unload_fnt(input);
   unload_fnt(output);

también peta a partir de 160 caráteres, más o menos.

Dime argo, quillo.  ;D

Saludos.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Fede

Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

solucionado, habia un bug cuando se agregaban nuevos caracteres, gracias!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Fede

¡TE QUIEROOOOOOOOOO!  :-* :-* :-*

(Últimamente estoy muy cariñoso).  ;D

En cuanto llegue a casa lo pruebo.

Gracias.

Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

deberia generarte el ejecutable, o lo generas vos?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Fede

Ahora que caigo...

¿Cuando se sube el bennu con el bug corregido?


Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

estan los fuentes... tengo que generar los ejecutables... pero la verdad, ya ocupe hoy demasiado tiempo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Bueno, por lo visto, nos hemos puesto de acuerdo y han salido diversas alternativas funcionales para tener fuentes de 1 bit :D :D :D

¡¡concurso de utilidades para Bennu!!
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Fede

Quote from: SplinterGU on December 15, 2010, 11:13:35 PM
estan los fuentes... tengo que generar los ejecutables... pero la verdad, ya ocupe hoy demasiado tiempo...

Tranquilo Splinter. Sólo preguntaba.  ::)

Más besitos.  :-* :-* :-* :-*

Quote from: Drumpi
¡¡concurso de utilidades para Bennu!!

¡Me apunto!
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

Fede

Hola de nuevo.

Esto sigue sin ir bien. Ahora se salta carácteres de la fuente a convertir.

Parece como si algunos no les gustase.  :D

Os pongo un código ejemplo con el carácter 173.

Si alguien puede que le eche una miradita. Por si ve algo.

Gracias.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

ya estaba probado esto.

puede que sean diferentes encoding... o que el caracter no exista en el font source.

luego lo miro, primero tengo que ver el otro bug reportado.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2