Descargados y probados, muchas gracias Surqui, eres un fenómeno.
No tengo ni idea de por qué a ti te ha funcionado sin problemas y a mi no. Imagino que algo de configuración o de versiones. El caso es que de los tres ficheros que contiene el rar, comprobé con un editor de texto que el contenido del "drae.dict" coincide exactamente con el "drae.dict.dz" del stardict original que descargué del recopilatorio (junto con el .ifo y el .idx) pero, curiosamente, el tamaño es de casi el triple. El que no lo conozca, que lo compre...
En cuanto al diccionario en sí:
- Se trata de la 22ª edición (la penúltima). No admite definiciones encadenadas, o sea: si accedo a la definición de una palabra, manteniéndola pulsada en el texto del libro y quiero consultar otra que está en la definición que me devuelve el diccionario, utilizando el mismo método, no es posible. Si se trata de un problema del firmware -es la versión 6.3 del Boo Reader, fechada en 2015- me temo que se va a quedar como está, salvo que alguien conozca una manera de arreglarlo.
- Sigue sin encontrar palabras acentuadas o con "ñ", más allá del problema de las inflexiones. Una palabra simple como "señora" no ha sido capaz de encontrarla. Para esto me pondré a investigar si el motivo es por algún asunto de codificación, a ver si hay suerte y lo averiguo.
- La maquetación del diccionario es manifiestamente mejorable. También me pondré a ver si soy capaz de darle un "apañón". Aunque parece tratarse de ficheros en modo texto puro y duro...
- Con respecto a las inflexiones, bueno, primero hay que arreglar lo importante.
Y eso es todo, reitero mi agradecimiento a Surquizu por su ayuda y al resto por su atención y aportaciones.
Saludos cordiales.
Vaya, me cito a mí mismo:
Parece ser que en este hilo se ha hecho algún apaño con el firmware que podría arreglar el asunto de las definiciones encadenadas y no sé si alguno más. Tengo dudas al respecto, pero a lo mejor me pongo a ello.
Esto se sabe cuando se empieza, pero no cuando se acaba.
Más saludos cordiales.
Lo primero también gracias a Surquizu por el trabajo con los diccionarios.
Yo también los he probado y no me hace búsquedas con palabras con ñ y acentuadas pero sí que hacen búsquedas encadenadas (con el anterior diccionario que está subido en la web también las hacía), aunque tampoco me reconoce las inflexiones, tanto en el Muse HD como en el Cybook Odyssey HD.
La versión del Boo Reader es la 6.3 como la tuya pero a mí me dice que es del 2016 (build 2538).
Un saludo
Efectivamente, esa versión del firmware es posterior a la de mi Nolim. De todos modos sospecho que el problema de las palabras acentuadas y con ñ tiene que ver con el modo en el que está creado el diccionario, cuyo orden no es el estrictamente alfabético. De todos modos estoy trabajando en el asunto y a ver si pronto puedo dar más pistas... o una solución.
Gracias por tu interés y saludos cordiales.
Pues me respondo a mí mismo para confirmar que, efectivamente, el asunto de las "ñ" y los acentos tiene que ver en cómo se construye el diccionario:
La forma de ordenar los elementos dentro de los ficheros que componen el diccionario no atiende al estricto orden alfabético de los vocablos en castellano, sino al orden de código de los caracteres que lo componen. Así, penelope genera el fichero disponiendo primero los vocablos con los caracteres no acentuados o con "ñ" y después los mencionados.
Supongamos la siguiente relación de vocablos que comienzan con bail-:Los vocablos están ordenados con arreglo al orden alfabético en castellano. En cambio la conversión con penelope los deja en el siguiente orden:Código:bailete, bailía, bailiaje, bailiazgo, bailío, bailinista, bailista, bailón, bailongo, bailotear, bailoteo.Puede observarse que los vocablos acentuados son relegados al final de la lista. Esto no sería un problema porque en la base de datos donde se almacena el método de acceso a cada vocablo (fichero .idx) el orden es coherente con esta ordenación, pero me temo que es el índice que contiene dicha base de datos el que al generarse sí respeta la ordenación alfabética del idioma en cuestión.Código:bailete, bailiaje, bailiazgo, bailinista, bailista, bailongo, bailotear, bailoteo, bailía, bailío, bailón.
De este modo, siempre que no haya saltos entre el vocablo que se intenta localizar y su situación en el índice (por ejemplo con el vocablo baipás, porque no hay más vocablos que comiencen con baip- y el siguiente caracter sea un no acentuado o "ñ") se presentará su definición sin problemas. En el otro caso, no lo localizará (o puede que presente una definición errónea o incompleta, no he consultado todos los casos por razones obvias).
Toda esta información la he obtenido en parte por investigación propia y en parte en la excelente documentación que el creador de Penelope, el italiano Alberto Pettarin, tiene disponible en su página personal. Es más, en esa misma página es donde he obtenido la idea para poder regenerar el índice en un navegador de base de datos SQLite, sin cargarme el diccionario, mediante la secuencia de cotejo (collation sequence) NOCASE, en lugar de la que utiliza el formato del diccionario y penelope, por ende: 'IcuNoCase'.
Con todo esto ya me veo en la disposición de arreglar el diccionario, pero quizá lo que haga sea reconstruirlo por completo pues me temo que lo primero me llevaría más tiempo. En fin, a ver por donde salgo... :-"
Saludos cordiales.
Creo que es más sencillo.
Al final de la página que indicas creo que lo deja claro
por lo que tan sólo tienes que duplicar el archivo collation_de.py en collation_es.py y modificar las reglasCódigo:Custom collation function when outputting to Bookeen Cybook Odyssey format
- When outputting to Bookeen Cybook Odyssey format is possibile to change the collation function of the SQLite index being built.
- To do so, you can issue the optional argument --collation coll.py to instruct my script to use the collation function defined in file coll.py.
- Your Python file will contain a function collate_function(string1, string2) that will compare the two given strings, returning 0 if and only if string1 and string2 should be considered as equal, -1 if string1 precedes string2, and 1 otherwise.
- If the user does not specify a custom collation function, Penelope applies the default collation function, which implements the NOCASE collation as defined in SQLite documentation.
- Please see the included files: default_collation.py and the specialized collation function for German collation_de.py.
para el castellano.Código:for f in [ [u'ä', u'a'], [u'ö', u'o'], [u'ü', u'u'], [u'ß', u'ss'] ]: #Python3# for f in [ ['ä', 'a'], ['ö', 'o'], ['ü', 'u'], ['ß', 'ss'] ]:
Suerte.
Pues al final, a falta de una comprobación más exhaustiva, parece ser que no hace falta ni una cosa ni la otra pues al recrear el índice todavía no he encontrado una palabra que falle. Ya digo, aún tengo que probar más casos.
De todos modos mi problema inicial era que no conseguía hacer que penelope funcione en mi Ubuntu y fue nuestro buen compañero Surquizu quien nos pasó versiones convertidas.
Todavía tengo pendiente ver si sigo por el camino de hacer que penelope funcione (aunque sea en una máquina virtual windows) o si con los conocimientos adquiridos, tomar una versión del diccionario mejor maquetada y hacer la conversión yo mismo. Dado que se trata de la 22ª edición, me inclino por una maquetación similar a la que tenía la versión online, con las consiguientes adaptaciones a un entorno en escala de grises. En fin, os mantendré informados.
Cordiales saludos cordiales ;-)
Pues finalmente, tal y como me había propuesto, tengo disponible una versión del diccionario de la RAE para el Nolimbook + HD (Bookeen) con una maquetación más parecida a la de la versión online... de la 22ª edición.
Lo cierto es que he respetado en la medida de lo posible el modo en que se presenta la información de cada entrada en dicha versión, pero hay algunas excepciones: algunas derivadas de la imposibilidad de hacer conversiones prácticamente a mano en 88.000 entradas y otras porque me ha parecido más adecuada para su visualización en el lector la que utiliza la versión online de la 23ª edición, como por ejemplo poner en fondo gris el origen o procedencia de la palabra.
Aunque muy probablemente habría sido más sencillo ponerme a destripar el programa penelope (hacerlo funcionar en mi máquina) y adecuarlo a la codificación de caracteres del castellano, he preferido hacerlo de una manera más "manual", lo que ha resultado bastante más arduo aunque también más divertido pues me ha exigido a fondo en varias de mis habilidades multidisciplinares. Explico un poco el proceso en spoiler por no alargar demasiado el texto... y porque tampoco creo que sea del interés de todos. Al final, estoy bastante satisfecho del resultado, si bien hay cuestiones que quedarían para más adelante:
- Me hubiera gustado convertir el diccionario sobre la 23ª edición, pero he sido incapaz de encontrarla.
- La versión original de la 22ª edición de la que partí, en formato epub, tenía errores. En las muchas revisiones del texto, mientras comprobaba el funcionamiento, he detectado algunos; pero estoy seguro de que en las casi 90.000 definiciones se habrán quedado muchos más. Además de que, aunque he probado un subconjunto apreciable de entradas, en cada uno de los 94 ficheros individuales en los que el formato divide el original, seguro que habrán más. Agradeceré sobremanera el reporte de aquellos errores que aparezcan.
- La cuestión de las inflexiones no sé si se debe a la necesidad de la existencia de un fichero adicional de ellas, o es cuestión del firmware. Si a alguien le funcionan con este diccionario, le ruego que nos lo haga saber.
Y eso es todo. Aquí os dejo el enlace para descargarlo.
https://drive.google.com/file/d/1amM...ew?usp=sharing
Saludos afectuosos.
Contenido oculto: