He estado investigando un poco, y parece que todo lleva a usar una librería Unicode adecuada, y todas las entradas de Stackoverflow.com llevan a UCI, pero al examinar la licencia me encuentro con esto:
http://www.unicode.org/copyright.html#LicenseQue luego en la FAQ dice que es "compatible" con GPL, pero no se que quiere decir con eso de compatible.
Recientemente estuve retocando las licencias de ngPAWS y su documentación de modo que fueran adecuadas entre otras cosas, para poder ser incluidas en Debian. Sinceramente no tengo ganas de andar pensando en licencias y si valen o no vale, por lo que UCI me echa para atrás por que no es GPL o LGPL como el resto de ngPAWS.
Si alguno tenéis alguna sugerencia de otra librería, sería de ayuda, en caso contrario puedo optar por tres cosas:
1) Tratar de hacer un aMayusculas yo mismo, centrandome en la eñe y la cedilla, que son las unicas letras que realmente nos importan ahora mismo
2) Modificar la documentación de ngPAWS para indicar que el vocabulario debe ir en mayúsculas, o incluso modificar el compilador para forzarlo, asi si alguien pone cañon fallará ya por la primera "c"
3) Parchearlo en el intérprete, donde es bastante fácil, aunque añadiría un tiempo de procesado, probablemente inapreciable, al inicio. Recorrería todo el vocabulario y haría que voc[x]=voc[x].toUpper()