viernes, 15 de abril de 2016

Android, Chess y Fonts - (Parte I)

Estamos persiguiendo el objetivo de hacer alguna aplicación sencilla con Android. En este sentido hay que solucionar varias cosas, por ejemplo:
  • Un backend, que lo estamos abordando con Heroku y Node.js 
  • Una representación de los diagramas,
    • Que por ahora utilizaremos imágenes PGN
    • En un futuro esperamos poder parsear los archivos FEN
  • Un motor de ajedrez que soporte el protocolo UCI
    • La capacidad de hablar protocolo UCI
  • Una Font de Ajedrez para la notación de jugadas
    • Esto lo vamos a atacar hoy
  • Componentes de Interfaz de usuario (Menú, widgets, etc... 
    • Esto también lo vamos a atacar hoy ...

Comencemos

Como vamos a atacar componentes sueltos, vamos a partir desde una aplicación de Android en blanco por se mas fácil de manejar, para aprender como integrar Fonts y algunas Widgets.






Nuevo Proyecto:
  • ChessLab01
  • /Users/pabloin/Desktop/NoCuestaNada/Mob/GitHub-Android-Chess/ChessLab01
  • crossfitchess.probarnocuestanada.com
Elegimos Basic Activity


Que nos da el básico "Hola Mundo" y tenemos lo que queremos para empezar...

Pero lo modificaremos para agregar algunos textos, con jugadas de Ajedrez:

Cambiamos a un LinearLayout de Orientation:Vertical con tres TextView:

   


    

    

    




Cambiamos la Font de Ajedrez

En el post anterior veíamos como el backend de heroku, nos entregaba la API REST con problemas de ajedres y sus soluciones. Ejemplo:

Los listados de ejercicios:


Y algunos problemas, por ejemplo de los de Mate en 2:


Lo cual nos entrega un ejercicio, en formato FEN con su solucion:

   
{
   "position":"r3r3/p2b1ppp/2pk4/2Np1n2/3N4/1P6/P2P1PPP/2R1R1K1 w - - 0 1",
   "solution":"1. Nb5+ cxb5 2. Nb7#",
   "image":"https://infinite-lowlands-19433.herokuapp.com/images/mateEn2/crossfitChess_mateEn2_00004.png"
}

¿Como podemos escribir las jugadas de la solución con las figuras?

"solution":"1. Nb5+ cxb5 2. Nb7#",

Deberíamos buscar un font de Ajedrez

Después de Googlear muy poco, encontré un link de recopilación de fonts de Ajedrez:

  • http://www.enpassant.dk/chess/fonteng.htm
  • http://www.enpassant.dk/chess/fonfaqen.htm
De esta colección voy a elegir a:





Chess Mérida

Freeware. True Type Font by Armando H. Marroquin for diagrams and figurine notation. A classic font named after the city Mérida on Yacatan. Frame with co-ordinates possible. View pieces.
Download Chess Mérida (27 KB)

También desargue las siguientes fuentes (todas de ajedrez) tomadas de: 
  • chess_cases/CASEFON.TTF
  • merid_tt/MERIFONT.TTF
  • chess_leipzig/LEIPFONT.TTF

¿Como podemos probar las fuentes?

El primer intento

fue hacer mi pagina HTML, y subirla a mi hosting. El resultado es que algunas fonts funcionaron OK y otras no, no se porque:


En el servidor, vemos como subimos las siguientes Fonts:



El segundo intento de prueba de Fonts:

Fué utilizar la pagina http://fontdragr.com/ y anduvo perfecto:

Simplemente hacemos Drag&Drop de los archivo TTF y listo
Observemos que Merifont no se comporto demasiado bien, con lo cual, seguramente la relegaremos en las primeras pruebas.




En el siguiente post comenzaremos a escribir el código a Android con las fonts de ajedrez y la posterior subida del ejemplo a GitHub.








0 comentarios:

Publicar un comentario