Construcció de la demo gràfica

La demo gràfica de l'ús de la funció ha estat feta amb Tcl. El motiu és doble: simplicitat i primera aproximació a l'adaptació a l'ús de la funció des d'altres llenguatges de programació: Perl, Python, PHP, Java i altres.

Per fer-ho s'ha usat el generador d'interfícies per a múltiples llenguatges que és l'SWIG. A partir del fitxer obtesil.i d'entrada per a l'SWIG s'ha aconseguit un fitxer en C; ha calgut modificar-lo manualment per a adaptar-lo als canvis de codificació de caràcters entre el UTF-8 usat pel Tcl i el codi iso8859-1 usat per les funcions de l'Obtesil, quedant finalment el fitxer obtesil_wrap.c, modificat respecte al que havia generat l'SWIG.

Amb això ja es pot crear una DLL que el Tcl pot carregar. Un programa molt elemental en Tcl, l'obtesil.tcl, carrega aquesta DLL i fa un exemple d'ús de les funcions de l'Obtesil des d'aquest llenguatge, alhora que ens proporciona una interfície gràfica per provar la funció.

Per últim, per no haver de fer suposicions sobre l'entorn Linux on treballem, ho hem empaquetat tot, junt amb el mateix Tcl, en un sol fitxer executable usant el Tclkit.

En el cas de Windows hi ha hagut problemes per carregar la DLL en un Tclkit o Tcl que no estigués compilat en el mateix entorn que la DLL de l'Obtesil, de manera que en el programa de demostració s'hi inclou un Tcl complet; aquest ha estat compilat en el mateix entorn que l'Obtesil, concretament el MinGW, i aquest Tcl ja sí que permet carregar la DLL de l'Obtesil.