El día 26 de marzo de 2010 16:38, Roman Gelbort <[email protected]> escribió: >> Yo utilizo un pequeño programa en C para extraer el contenido de los >> .dic para que, cuando los usuarios me envían sus diccionarios >> personalizados, verifico la lista de palabras y añado al diccionario >> oficial las faltantes para la siguiente publicación. >> >> La estructura del diccionario (si mal no recuerdo, porque no tengo el >> programita a la mano ahora) consta de un encabezado de 11 bytes que >> supongo identifica entre otras cosas el lenguaje para el cual se ha >> definido el diccionario. Luego sigue la lista de palabras que tiene la >> siguiente estructura: un encabezado de dos bytes al inicio que indica >> el número de bytes que ocupa la palabra, y luego los caracteres de la >> palabra codificados en UTF8. >> >> Si te parece, podría intentar hacer un pequeño programa que mezcle dos >> diccionarios .dic en uno solo. > > Si pudieras hacer algo así, tanto yo como muchísima gente de la > comunidad te estaríamos realmente agradecidos. :-)
Román: Ya tenía, como te dije, un par de herramientas que permitían extraer el listado de palabras de un .dic, y convertir un listado de palabras a .dic. Estos archivos están en el repositorio SVN del proyecto Recursos Lingüísticos Abiertos (https://forja.rediris.es/plugins/scmsvn/viewcvs.php/ortograf/herramientas/?root=rla-es). Investigué un poco más acerca del formato de los archivos .dic y encontré este issue: http://qa.openoffice.org/issues/show_bug.cgi?id=60698, donde se mejoró el soporte de los diccionarios personales, permitiendo un nuevo formato (versión 7) que es un archivo de texto etiquetado simple y llano. Pero parece ser que por compatibilidad con versiones anteriores OOo utiliza la versión 6, que es el archivo binario al que estamos acostumbrados. Así es que realicé unos retoques a las herramientas, y creé un nuevo script de bash que te permite realizar mezclas de diccionarios. Subí un archivo comprimido con las herramientas relevantes al área de documentos de es.openoffice.org: http://es.openoffice.org/files/documents/73/4719/herramientas.tar.bz2. Son las mismas disponibles a través del SVN. El script se llama "merge_dic.sh", que utiliza los programitas en lenguaje C: extraer, convertir y convertir2. El programa "extraer" permite obtener el listado de palabras contenido en un .dic de cualquier versión, 6 o 7; "convertir" te permite convertir una lista de palabras (una por línea) de un archivo de texto, a un diccionario .dic versión 6; y finalmente, "convertir2" hace lo mismo pero para la versión 7. Todos los programas utilizan la entrada y salida estándar, así es que debes proporcionarles el archivo de entrada y salida mediante una redirección de flujo con "<" y ">". Al script merge_dic.sh le pasas como parámetros todos los archivos .dic que quieras unir, y te los entrega unidos por la salida estándar, salvo que especifiques la opción '-s' para indicarle en qué archivo guardar el resultado. De forma predeterminada usa el formato de versión 7, pero puedes indicarle la opción '-6' para crear uno en versión 6. Por último, todas las herramientas leen y generan diccionarios "positivos", no los diccionarios de excepción, y no tienen en cuenta el lenguaje para el que están definidos, sino que los diccionarios generados sirven para cualquier lenguaje. Las herramientas pueden mejorarse para interpretar este otro formato, y preservar la información sobre el lenguaje, pero no me pareció muy relevante gastar tiempo en esto, ya que para lo que tú quieres creo que con estas herramientas básicas alcanza. Saludos, Santiago --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
