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-:
Código:
bailete, bailía, bailiaje, bailiazgo, bailío, bailinista, bailista, bailón, bailongo, bailotear, bailoteo.
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, bailiaje, bailiazgo, bailinista, bailista, bailongo, bailotear, bailoteo, bailía, bailío, bailón.
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.
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.