[UTILITY] Sistema de TEXTOS a 16/32bits[Proyecto,Pausado]

Proyectos en Desarrollo.

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby SimulatorOne » Wed Mar 30, 2011 4:44 pm

Hola

Ya tengo preparada la Beta4, esta tiene soporte a codigos UNICODE al 100%
esta probado, Ademas de crear ya el primer visor y test de Fuentes, 100% compatible con UNICODE.

Tambien e creado comandos nuevos para la Cadena(tabla) UNIOCDE, para poder manipularlo correctamente.
de momento tiene los mas basicos.

en el DOC_WritenFonts.prg
teneis la lista de funciones nuevas y actualizados.

WS1_Writen-Beta3_30.3.11.rar - 485.04KB

http://www.mediafire.com/?tjjdkq93da64um8

Tambien el programa Fontrast + una fuente UNICODE con soporte al Japones y simbolos extraños XD (version portable)
Soft.Fontrast + TTF Unicode.rar - 2.68MB
http://www.mediafire.com/?2hd4l2h64hgw0om

Tambien quiero compartir el conversor de fuentes, ya que esta mejor programado, y añade el logo del programa de Fontrast.

Fontrast_to_map-Beta3_30.3.11.rar - 853.06KB

http://www.mediafire.com/?8gxq43jgu6023a1

ya que son fuentes generados por el programa, y el conversor usa esas fuentes generadas, para convertirlas en las nuevas.

1)Fontrast Arial typetrue:
Arial.txt , Arial0001.png, Arial0002.png

2)Las convierte los png con MAP Editor
Arial.txt , Arial0001.map, Arial0002.map

3)Usando el conversor de fuentes to map:
Arial.cnf , Arial.map (este map lo podemos retocar con phoshop, con ayuda de MAP Editor)

Y ya esta listo para usar con los comandos WS1_Load_font,WS1_....


Dejo una captura del visor y test de fuentes.
deja escribir una cadena de texto en 2 formatos, en STRING ASCII normal
y UNICODE tabla.
Image
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby erkosone » Wed Mar 30, 2011 5:15 pm

Pues no tiene mala pinta no, la verdad es que parece bastante atractivo.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby SimulatorOne » Sun Apr 03, 2011 6:52 pm

Aun estoy mejorando el Visor de fuentes.
ya que programare una feature que permite de la Cadena escrita guardarla en un file binario, que guarda toda la cadena UNICODE, para luego cargarla con los comandos en el PRG, eso ya dentro del proyecto.

y tambien un file.txt en formato ASCII normal, para la cadena STRING

Y con un Boton cargar ese File Unicode y cargar el texto tambien.para reeditarlo

Tambien deja guardar la Cadena Unicode + la STRING normal, en un MAP de 32bits(por defeco) comprimido, y con PASS opcional.
El problema de esos MAP que no podeis abrirlos con el MAP Editor actual.

---------------------------------------------------------------------------------------------------
TUTORIALES
Quiero ya dejaros algunos tutos que ya podeis hacer con la Beta3 actual(ultima) de momento:


tuto1: Cambiar la calidad de color a las fuentes:

Es muy sencillo, debemos abrir la fuente .map , cuando este ya convertida(con el conversor) en una tira de caracteres:

Por ejemplo la fuente Arial.map(junto el Arial.txt)
32 => 16bits
Image
32 => 8bits(256 colores)
Image

con esto convertiremos la fuente a una calidad inferior, para proyectos que usen set_mode(x,x,8/16); de calidad.

----------------------------------------------------------------------------------------------------
tuto2:Fontrast, Creando fuente ASCII Completa (No Unicode)
Estos son los Primeros pasos para Crear una Fuente de 32bits ASCII completa.

1-Abrimos el programa de Fontrast.exe (o donde lo tengamos instalado)
Image
Nota: el Programa se ejecutara como Demo de 30dias, podemos omitir ese mensaje o comprar el software por 15$.
Solo aparece ese mensaje la primera vez que lo ejecutamos.

2-Nos saldra un menu con muchas opciones, Vamos por pasos..
Arriba del todo esta estos menus:
Image
Es para selecionar la Fuente typetrue de Windows, La Altura de la fuente en pixeles, y la anchura...
No recomiendo cambiar la Anchura a modo manual, ya que estira el caracter hasta cortarse la anchura real del caracter.
Podemos cambiar la Altura de la fuente como nos guste, como en el Div2, 8,12,14....32,64,128... a vuestro gusto.
La Fuente generada pesara mas espacio en memoria por el tamaño de la letra y usara mas espacio en pixeles.

3-Selecionamos la Fuente:
Image
Aqui podemos selecionar la fuente que nos guste, el tamaño normal(se auto ajusta luego la altura en pixeles), cursiva,negrita, subrallado,tachado y codificacion.(aun que estas 3 ultimas no lo e probado)
El color aqui no importa nada selecionarlo, no tiene efecto.

Aviso: depende de la fuente que selecioneis, puede no contener caracteres extendidos, como la Ñ española, y otros simbolos.
hay fuentes que solo se pueden escribir en Mayusculas.
Ademas de que pueden haber fuentes de otros idiomas asiaticos,arabes...etc.
nosotros selecionamos una fuente normal, como el Arial como ejemplo.

De todas formas recomiendo usar este programa para averigurar de una forma rapida que fuentes tienen o no Caracteres ASCII normal: http://www.ampsoft.net/utilities/FontViewer.php
Image

4-Caracteres que se añadira a la fuente:
Image
Esto es muy importante, para generar tu fuente, ya que aqui es donde le dices que caracteres añadiras a tu fuente.
Para crear una Fuente ASCII recomiendo marcar todas las casillas menos la "null char".
Y despues debemos añadir la ruta del fichero .txt donde contiene todos los caracteres ASCII.
Para este caso de una fuente completa ASCII, usaremos este file: fontrast_to_map/txt/ASCII+ISO_8859-1+15.txt
Image
Hay mas, pero contiene caracteres UNICODE de otro idioma, NO ASCII.
En este tutorial solo nos interesa crear una fuente ASCII solamente.
Selecionamos esta: ASCII+ISO_8859-1+15.txt
Recuerda tener marcadas las casillas del abecedario,numeros y simbolos. (el null char es tonteria y no sirve)

5-Color de la fuente,fondo y borde:
Image
Aqui lo mas importante es el color de la fuente, yo por defecto siempre lo dejo Blanco.(pero podeis elegir)
por que asi luego se edita con mas facilidad con un editor grafico(photshop,gimp), o luego podemos usar FXcolor programando.
El color del fondo, recomiendo que sea negro, o un color contraste de la fuente.
De todas formas si lo guardamos como png(32bits) siempre sera transparente y no se ve.
El color del borde, no importa, pero para verlo con el MAP Editor, justo despues de Crear la fuente, se ve.
pero luego de todas formas esto se pierde cuando convertimos la fuente en un map unico. Aqui el color no importa, yo siempre lo dejo desmarcado.

6-Panel final, Formato de la fuente creada:
Image
esto es lo mas importante de todos.vamos por partes.

Page Size: es el tamaño que tendra cada file.png creado de la fuente, contra mas grande sea menos files.png necesita crear.
En la fuente que yo creo tiene de vertical 64 pixeles, 8x64=512 , es 8 filas horizontales de fuentes por 64 piexeles que tiene vertical la fuente, es igual a 512 pixeles verticales. recomiendo hacerlo por multiplos del tamaño vertical de nuestra fuente.
Estos parametros del tamaño se pueden calibrar, recomiendo que sean grandes, de 512,1024.... se puede poner cualquiera.
Luego al crear la fuente te daras cuenta como reparte los caracteres en los pngs.
Siempre es mejor que tenga menos paginas(2-4), que no muchas(20-35), ya que el conversor(de maps) de momento solo soporta hasta 20 paginas/files.png de una fuente.

Border: es el grosor de los bordes del color que hemos selecionado antes, si lo tenemos desactivado de antes, se pintaran en el color del fondo.
Importa? pues no, ya que luego al convertirlos en map la fuente, esto se pierde.
Esto simplemente ayuda a ver la fuente con mas claridad, y solo se ve justo al crear esta fuente.
Yo en mi caso lo tengo a 0x0 para que no me haga la separacion entre caracteres.

Supersample: es un filtro antialising que aplica al generar la fuente.
Esto va por gustos, aun que recomiendo que si quieres una fuente de calidad, que la pongas a maximo 8x8
contra mas sea la calidad, mas tarda en generar la fuente, por ejemplo 8x8 tarda unos segundos, casi 1 minuto en generarlo.depende de la CPU de nuestro ordenador.
Image
El resto de opciones que tiene al rededor solo se activan si ponemos 2x2 como minimo, y no recomiendo activarlas, ya que puede generar una fuente de manera erronea...de todas formas podeis probar.
Antialias Towards: podeis cambiarlo es para el filtro, aun que yo recomiendo tal y como tengo en la captura.

Minimum cell width (pixels): esto crea un espacio minimo en cada caracter, sinceramente es una tonteria y puede causar problemas despues con la fuente entre la separacion entre caracteres, no recomiendo para nada aumentarlo.
dejarlo a 0, es lo normal.

Page format: Esto es muy importante, Yo recomiendo PNG por que es el formtao que soporta 32bits de calidad.
podeis usar tambien BMP, pero el PNG tiene mas opciones y comprime sin perder calidad.
Image
Si deseas una fuente que tenga ya su canal alpha de 32bits, selecionalo en este modo.
24 bits, se vera el fondo negro siempre,no tiene canal alpha.
8bits es escala de grises(256 colores),no tiene canal alpha.
De todas formas al convertilos con el conversor de fuentes, creara una fuente de 32bits si o si.
Yo recomiendo los 32 bits, por facilidad de retoque grafico.

Coords format: Esto es muy muy importante, y SIEMPRE debe ser en formato ASCII.txt
El formato binario .tab da problemas con el conversor y se decidio por seguridad el formato ASCII.txt
En la captura tengo tachado el Binario.tab, ya que cuando hice esas capturas eran en ese formato, pero da problemas.
asi que SIEMPRE debe ser en formato ASCII.txt, SIEMPRE!
Este documento lo carga el Conversor de fuentes, para crear la fuente final!

Output path: Importante, Es donde va a parar la fuente generada, seria: Arial.txt + Arial001.png, Arial002.png,...
Cambia la direcion en esta carpeta: ...\fontrast_to_map\fnb
Image
Deben estar en esta carpeta fnb, es donde carga las fuentes generadas del Fontrast.

Base filename: Es el nombre de nuestra futura Fuente, aqui no hay que poner ninguna extension.
Yo por facilidad de identificacion suelo copiar el nombre de la fuente usada:
Image
se puede selecionar y copiar Ctrl+C y despues pegarlo en el recuadro del nombre Ctrl+V

Start!!!
Image
Estas listo? revisate antes todos los pasos, y cuando creas que estas listo, pulsa Start
Te generara tu fuente, y depende de la Calidad del filtro Supersample te tardara X segundos, y pones NONE, sera instantaneo!!
Termina cuando los botones del panel nos deje editar de nuevo(por desgracia no dice ninguna notificacion al terminar)
Revisate que esten en este directorio: ...\fontrast_to_map\fnb que tenga tu fuente: Arial.txt + Arial001.png, Arial002.png,...
Image
(la captura esta mal, le falta el file Arial.txt)
Asi sabras que habrá terminado.
Puedes ver el resutado:
Image

Botones: Export settings,Import settings:(opcional, pero recomendado)
Image
Estos 2 botones permite guardar toda la configuracion de la fuente que has creado, y te lo guarda en un file.
Con este file te sera facil recargar la configuracion de una fuente contreta a otra, asi no hace falta volver a configurar todo de nuevo, recomiendo usarlo, y es una buena manera de ir rapido!!

----------------------------------------------------------------------------------------------------
tuto3:Fuente generara .PNG a .MAP convertido
Estos son los pasos Ultimos para Convertir una Fuente de Fontrast a un map de 32bits ASCII completa.

1-Asegurarse que existan las fuentes en el sitio correcto:
Si, debemos comprobar si existen los ficheros y la ruta correcta antes de empezar a convertir la fuente generada por Fontrast a la nueva.
Revisate que esten en este directorio: ...\fontrast_to_map\fnb que tenga tu fuente: Arial.txt + Arial001.png, Arial002.png,...
Image
(la captura esta mal, le falta el file Arial.txt)

2-Convertir los PNG a MAP
Muchos de nosotros ya sabemos como convertir el formato, pero de todas formas lo recuerdo :P
yo lo hago de esta manera:
Image
Selecionamos el PNG con el boton derecho, Abrir con... y MAP Editor
En caso de no tenerlo en esa lista, tendreis que buscarlo vosotros mismos, en Elegir programa...
No debeis activar la casilla: Utilizar siempre el programa selecionado para abrir este tipo de archivos.

Image
Una vez abierto el MAP Editor con el PNG abierto, hay que salvarlo como MAP
File -> Save Image As...
Image
Como Arial00x.map
Asi hay que hacerlo con todos los PNG de nuestra Fuente generada con Fontrast.

3-Asegurarse que existan las fuentes en el sitio correcto:
Si, debemos comprobar si existen los ficheros y la ruta correcta antes de empezar a usar el conversor.
Revisate que esten en este directorio: ...\fontrast_to_map\fnb que tenga tu fuente: Arial.txt + Arial001.map, Arial002.map,...
Image
(la captura esta mal, le falta el file Arial.txt)

4-Utilizar el programa:Fontrast_to_MAP.exe
Image
Nos aseguramos que tengamos la carpeta fnb con nuestra fuente dentro.
y ejecutamos Fontrast_to_MAP.exe

Image
Nos cargara una pagina de nuestra fuente, en tamaño grande(x2) pero es normal.
Explico, remarcado en colores que es cada cosa:
Verde: Son las fuentes que hay disponibles para convertir y que las considera correctas, muestra el nombre de la fuente.
Para cambiar de fuente utiliza los cursores arriba y abajo. para cambiar.
Rojo: Numero de Paginas que contiene esta fuente, son las paginas que a generado Fontrast para tu fuente, para cambiar de pagina utiliza derecha y izquierda.
y para desplazarte y verla utiliza W,S,A,D, como cursores de desplazamiento.
Amarillo: El numero de Caracteres que contiene la Fuente, es de informacion simplemente.
pero te servira para luego para programar.
Azul Cielo: Altura en pixeles de la Fuente, es de Informacon, y te servira para luego para programar.

Pulsa Enter para selecionar esta fuente para Convertir!

Image
Esto sirve para calibrar el tamaño y posicion de los caracteres, y no hay que cambiarlos de uno en uno, eso lo aplica a todos los caracteres, para que sirve esto?
Esto tiene utilidad si tienes pensado para luego retocarlo con photshop/gimp, para añadir sombras, resplandor, efectos de movimiento.... etc.
Pero si tu tienes pensado de NO usar sombras,resplandor, o cualquier cosa que sobresalga del tamaño original de los caracteres, pues puedes dejarlo todo a 0, por defecto.
Pero puedes aplicar todos estos efectos de photshop, mientras que no pinte nada fuera del area de cada caracter:
Image(y trazado de Dentro)
Si reservaras un espacio adicional, SI podrias usar Sombras,resplador y Trazados exterior o Centro.

Resumiendo, es para poder reservar un espacio adicional y posicionar el centro del caracter en la fuente.
y si, tiene efecto entre separacion de fuentes.

Pulsamos Enter si ya has terminado de ajustar algo,o si no quieres tocar nada aqui.

Image
Aqui esta YA convertiendo tu Fuente en una nueva, limpia y bien creada, ya que la que crea Fontrast añade publicidad, ademas de tener paginas.
Esta fuente nueva no usa paginas, y crea un file binario de configuracion.
CAR: Muestra los caracteres que esta convirtiendo y el total.
COD: Es el numero ASCII(o Unicode) que corresponde ese caracter que esta convertiendo.
Ach: es una informacion adicional del caracter actual, dice el ancho del caracter y la altura(siempre es la misma)
LongT: Es la longitut total en pixeles del nuevo MAP de tu fuente y la posicion actual que esta conviertiendo.

Cuando termine saldra este mensaje:
Image
Fijate bien la ruta que te indica, es una nueva carpeta que a creado y el nombre de tu fuente.
Image
Solo hay 2 files y siempre sera 2 files por fuente.
X.cnf y X.map
Siempre es así!


Podemos abrir este nuevo .map con el MAP Editor
Image
Vemos que nos a pasado la fuente en una tira similar a los FNT de div2.
pero este no tiene ningun espacio, ni puntos de control ni nada.
toda informacion y configuracion lo almacena el file .cnf

----------------------------------------------------------------------------------------------------
tuto4: Editar fuente nueva y algun truco (X.cnf y X.map) (Opcional)

como que la fuente nueva esta en .MAP, hay que abrirla con el MAP Editor
y salvarla como PNG.
Siempre que el MAP no este comprimida o contenga contraseña.

Con este PNG del MAP original podemos ya editarlo con cualquier editor grafico.
Yo uso el Photoshop:
Depende de la separacion y espacio reservado que hemos creado para esta fuente podremos o no añadir sombras,resplador y trazado exterior/centro.
como esta fuente:(con separacion y centrado adicional)
Image
(y aun así,la sombra se sale un poco de esa separacion/area entre caracteres)

Si no es asi (no tiene ninguna separacion), solo podemos hacer todas estas cosas como mucho:
Image
tambien puedes retocarlo a mano a gusto.
o modificar algun caracter existente.

Cuando termines, salvalo de nuevo en PNG.
Y de este PNG nuevo, Salvalo a MAP con MAP Editor.
una vez dentro del MAP Editor PUEDES cambiar la calidad de colores, como indico en el TUTO1: arrabia del todo.
y despues salvarla como un nuevo .map.

Puedes crear una copia de la fuente, siempre que tambien copies el file.cnf que viene junto con el .map.
Arial.cnf y Arial.map
y el modificado:
Arial_2.cnf y Arial_2.map

----------------------------------------------------------------------------------------------------
tuto5: Tu primer PRG y otros ejemplos:
Bien, ya tienes tu fuente creada: Arial.cnf y Arial.map

1-Abrimos GMXEditor y creamos un nuevo programa:
Image
Depende de la calidad de la fuente que usaremos:
Si tu fuente es de 32, tu programa debe ser de 32bits.
si tu fuente es de 16, tu programa puede ser de 32 y 16 bits.
si tu fuente es de 8, tu programa puede ser de 32,16 y 8bits.

El resto de opciones lo dejo a vuestro gusto.

2-Nos aseguramos y creamos una carpeta de nuestro PRG:
Image
Nos aseguramos que tengamos estos files de esta manera.
a-Podemos crear una carpeta para guardar nuestras fuentes,(lo recomeindo) yo le llamo Font
b-Importante o no funcionara: Necesitamos writen.prg
es el modulo/programa que Interpreta y crea y pinta nuestras fuentes!!
c-Y este doc: DOC_WritenFonts.prg es solo para consultar los comandos,variables,estructuras para nuestros proyectos (es opcional, pero recomiendo tenerlo cerca, y no se compila!)
d-Nuevo programa creado.prg lo guardamos con el nombre que queramos.


3-Preparamos el DOC:(para guiarnos y de ayuda)

Image
Lo podemos abrirlos de diferentes formas/aplicacion.
blok de notas, notepad++ y el IDE de Gemix.
To tengo la costumbre de cargarlo con el IDE de Gemix, ya que me pinta el sintasy de colores. y me es mas facil buscar los comandos. esto va a gusto.

4-Nuestro primer codigo PRG(esta inclompleto)
ImageImage
Se necesita tener puesto SIEMPRE: para cargar el modulo de fuentes.
Source Code (Gemix) [ Download ] [ Hide ]
  • include "writen.prg";

-------------------------------------------------------------------------
mas ejemplos:
ImageImageImageImageImageImage

--------------------------------------------
Dejo de momento estos sintaxy, en el DOC esta todos, pero muy resumido y en ingles malo.

Cargar una fuente en memoria:
Source Code (Gemix) [ Download ] [ Hide ]
  • id_font=WS1_load_font("font/Arial",0);

id numero de fuente cargada = WS1_load_font(<string file de la fuente,sin extension>,<string contraseña>);
----Sintaxy---
Carga en memoria la fuente de alta calidad, y la guarda toda la informacion en una estructura global
llamada WS1_fuent_t.
Puede cargar fuentes comprimidas y con contraseña con WS1_SAVE_FONT

Devuelve 0=> el numero de fuente cargada, corresponde tambien el numero de estructura WS1_fuent_t[X]
Siendo así:
id_font=WS1_load_font("font/Arial",0);
WS1_fuent_t[id_font]...

Nombre de la fuente, sin extension, debe existir 2 files: X.cnf y X.map, X es el nombre de la fuente.
Se admiten rutas completas como estas: C:\mi_d\dnt\Arial , ..\fnt\Arial2 , Fuentes\Arial

Contraseña de la fuente.
si esta a: 0/"" = sin contraseña, cargara la fuente siempre que no tenga ninguna contraseña.
"..." es la contraseña de la fuente, si esta mal la contraseña, dara error de carga!


Descargar Fuente en memoria:
Source Code (Gemix) [ Download ] [ Hide ]
  • Ok=WS1_unload_font(id_font);

ok = WS1_unload_font(int id de la fuente);
----Sintaxy---
Descarga una fuente de alta calidad, y borra toda la informacion en una estructura global
llamada WS1_fuent_t.

Pero sigue en memoria aquellos textos imprimidos con funciones tipo: Writen
hasta proxima actualizacion de su contenido.
Si desea borrarlos tambien, use WS1_delete_writen(all_text);

Tambien puede Descargar TODAS las Fuentes en memoria:
usando: WS1_unload_font(all_fnt);

Devueble 1 si se a descargado bien la fuente, 0 no puede descargar esa fuente.

int id de la fuente = Es el numero identificador que devuelve WS1_load_font(
usandolo de esta forma:
id_font=WS1_load_font...
...
WS1_unload_font(id_font);


Imprimir texto en pantalla:
Source Code (Gemix) [ Download ] [ Hide ]
  • id_text=WS1_writen(id_font,320,240,4,"Hola Mundo!");

ID = WS1_writen(int id_font,int x,int y ,int ALIGN,string text);
----Sintaxy---
Imprime en pantalla un texto estatico(no autoactualizable) en pantalla
debuevle el ID del texto, se puede manipular como si fuese un processo normal.
Ademas de contener estas variables locales:
LOCAL
*string WS1_text_wrt[top_text_limit]; //texto actualizable

* byte WS1_kill_wrt; //local killed writen, 0=normal,1=kill writen
* word WS1_longx_wrt; //largo grafico de la cadena
* word WS1_srtlen; //largo en caracteres del texto stirng,int,float
* int WS1_ajspc_wrt; //ajuste de separacion entre caracteres
* int WS1_font_wrt; //id load_font/id_font
* byte WS1_centro_wrt; //codigo centrado

no se puede matar a un WS1_writen, con signal(type WS1_writen,s_kill);
tampoco congelarlo,ni dormirlo.

Si desea borrar el texto, use WS1_delete_writen(id_texto);

Tambien puedeborrar TODOS las textos en pantalla:
usando: WS1_delete_writen(all_text);

Su uso de los parametros de WS1_writen es casi igual que WRITE de Div2.
El campo de String texto, se puede escribir cualquier texto ASCII completo(32-255), pero NO Unicode.

Al crear el WS1_writen se crea por defecto con los variables globales para los textos WRITE
GLOBAL
* text_alpha (= 255)
* text_angle (= 0)
* text_flags (= 0)
* text_fxmode (= 0)
* text_fxcolor (= 0)
* text_fxintensity (= 0)
* text_region (= 0)
* text_size_x (= 100)
* text_size_y (= 100)
* text_z (= -256)
* text_tfmorder (= 0)
* text_shear_x (= 0)
* text_shear_y (= 0)
* text_destination_file (= 0)
* text_destination_graph (= 0)

Incluyendo uno nuevo: * byte WS1_text_ctype (= 0) //ctype en los textos

Para actualizar el texto de WS1_writen, deben usar esta sentecia:
id_texto.WS1_text_wrt="Texto nuevo";
se actualizara automaticamente.

Tambien es posible imprimir un texto de esta manera:
id_text=WS1_writen(id_font,320,240,4,0);
id_text.WS1_text_wrt="Texto nuevo";
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby SimulatorOne » Sun Apr 03, 2011 9:13 pm

bufff....U_U
la verdad me sale mejor crearme mi propio DOC en formato html como el que tiene Div2.
y adjuntarlo con el paquete de este sistema de fuentes.

Quedara mas bonito, ademas de corregido de las faltas.
y con codigo de ejemplos.no?
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby CicTec » Mon Apr 04, 2011 8:48 am

Hola simulatorone,

Pues te lo estas currando mucho veo, sigue asi.

Si, seria mejor un DOC en formato HTML y con tutorials de ejemplos.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby SimulatorOne » Mon Apr 04, 2011 12:35 pm

SI, me hara mucha ilusion de crearlo.

cuando termine el HTML, cuando lo suva en el pack empaketado.
vereis que no es tan complicado como parece.

una pregunta, puedo usar el mismo estilo css,html que usa Div2?
lo que si retiraria el icono o texto de Div2.

Aria mi propia version, solo para los comandos.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby CicTec » Tue Apr 05, 2011 8:24 am

Igual igual mejor no, ya que es algo protegido con copyright (aunque no creo que hoy en dia alguien te ocasionaria problemas), similar si.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby SimulatorOne » Tue Apr 05, 2011 12:01 pm

es cambiar el diseño solamente del css, estilo de fuente y tal
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby GINO » Tue Apr 05, 2011 1:19 pm

Oye en este proyecto creo que hace falta un mapa y un archivo con la info que te suelta el otro programa. Mis preguntas son:
- Esa va por caracter supongo. ¿Se podría meter con puntos de control?
- Si lo anterior es correcto. ¿Poruqe no te haces un programa que pille el mapa y el archivo de info y haga un fpg en el cual cada gráfico tiene la info de carácter hecha con pontos de control? Así el user tendría solo un archivo-fuente. Le cambias la extensión por la que quieras y listo.
User avatar
GINO
 
Posts: 2823
Joined: Thu Jul 31, 2008 10:25 pm

Re: [UTILITY] WRITE/FNT a 16/32bits + UNICODE [Proyecto BETA

Postby SimulatorOne » Tue Apr 05, 2011 8:33 pm

Si buena observacion GINO.

El problema que la info que guarda cada caracter, es que contiene el numero de caracter ASCII que guarda,
en un punto de control no puedo guardar eso.

mira te enseño la STRUCT
Actualmente esta asi:
Source Code (Gemix) [ Download ] [ Hide ]
  • CONST  
  • WS1_top_caracter_set=511;//no se recomienda tocarlos, las fuentes pueden ser de 200 hasta 400 caracteres(aproximados)
  •  
  • Global
  •  
  • struct WS1_fuent_t;
  •     string file_font;             //nombre del fichero fuente (sin extension)
  •       word NumChars;              //num caracteres hay
  •               id_map_fnt;            //id grafico map del la fuente
  •       word map_fnt_alt;           //altura de la fuente y sus caracteres
  •  
  •         struct tbl_crtr[WS1_top_caracter_set];//numero de caracteres...
  •           word C;                 //codigo ASCII 32-255= ASCII o mas de 256=> UNICODE
  •           word X1;                //posicion del map X
  •           word A;                 //ancho del caracter X
  •           word LX,TX;             //LeadingXOffset , TrailingXOffset
  •         end
  • end
  •  



si esto es lo que puedo introducir en un FPG usando puntos de control. y la estructura de datos en el PRG
lo que dice: (Excluido) es informacion que no hace falta almacenar en el FPG
Source Code (Gemix) [ Download ] [ Hide ]
  • struct WS1_fuent_t;
  •       word NumChars;              //num caracteres hay  (Excluido)
  • // NumChars:no hace falta usar puntos de control para esto, ya que con FPG_info:
  • //se puede obtener el numero de graficos/caracteres de un FPG)
  •       word map_fnt_alt;           //altura de la fuente y sus caracteres(Excluido)
  • //map_fnt_alt se puede obtener esta info con solo un map, ya que todos los caracteres son de la misma altura
  •  
  •         struct tbl_crtr[WS1_top_caracter_set];//numero de caracteres...hasta 999 en un FPG
  •           word C;                 //codigo ASCII 32-255= ASCII o mas de 256=> UNICODE (Importate! Punto de control2)
  •           word X1;                //posicion del map X (Excluido), //no se usa, al ser FPG
  •           word A;                 //ancho del caracter X (Excluido)//con una funcion se optiene ese valor del map
  •           word LX,TX;             //LeadingXOffset , TrailingXOffset//muy importante!!!(puntos de control 2)
  •         end
  • end
  •  

Lo malo del FPG.
1-tiene u n tope de 999 caracteres que puede almacenar.
Cada caracter tiene su informacion con puntos de control.

2-el principal problema lo tengo con esta variable de tipo word: tbl_crtr[<caracter>].C
ya que guarda un numero que corresponde al codigo ASCII, de 32-255
y para codigos Unicodes es superior, hasta MAX_WORD
No podria guardarlo en un punto de control U_U
Deberia crear un new_map(1,tbl_crtr[<caracter>].C) de ese tamaño, ya que como mucho se puede crear hasta MAX_WORD de pixeles de ancho(y altura), pero por culpa de codigos Unicode(mas de 255) puede pesar mucho, aun que sea 100% negro y transparente ese map, solo para guardar un dato de tipo Word


3-y este:
tbl_crtr[<caracter>].TX algunas veces(segun el caracter) esa variable supera la Anchura del caracter, y no sabria como ponerla como punto de control.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

PreviousNext

Return to Proyectos WIP

Who is online

Users browsing this forum: No registered users and 5 guests