Tux--el pingüino de Linux con ch'ullu y chuspaProyecto para Crear Software Libre en Quechua
Runasimipi
    Introducción
    Manifiesto
    Noticias

AbiWord
    Instalar
    Traducir
    Versión bilingüe

Edubuntu

Claroline

Diccionarios de Quechua

Diccionario informático

Corrección ortográfica
    Instalar
    Desarrollar
    Nota lingüística

Colaborar
    Lista de email
    Proyectos
    Colaboradores
    Documentación

Herramientas
    hunspell
    instrans
    formafx

Difusión
    Promover uso
    Nuestro CD

Planes futuros

Descargas

Enlaces

Abogados

Traslación de archivo: http://lingucomponent.openoffice.org/affix.readme
por Amos Batto, www.runasimipi.org, 26 Jul 2006.

Convirtiendo archivos de afijos de ispell a myspell

Un afijo es un prefijo o un sufijo pegado a la palabra raíz para formar otras palabras. Por ejemplo, cargar -> cargando. Elimina el “r” y añade “ndo” (el sujifo). Ispell es la programa tradicional usado por la corrección ortográfica, pero OpenOffice ha creado un programa nuevo llamado myspell por la corrección ortográfica. Es necesario que convierta los diccionarios de ispell a myspell. En diccionario consiste de un archivo de afijos (con la extension de .aff) y un archivo con la lista de palabras. Hay que convertir el archivos de afijos ispell y carga más rapida si convierte la lista de palabras también.

Acá es un ejemplo de como definir un sufijo en el archivo es_ES.aff usado por la corrección ortográfica de OpenOffice.

SFX D Y 4
SFX D 0 d e
SFX D y ied [^aeiou]y
SFX D 0 ed [^ey]
SFX D 0 ed [aeiou]y

Este archivo de delimitado por espacios y distingue mayúsculas de minúsculas. Esta información será interpretado así:

La primera linea tiene cuatro campos:

Campo
-----
1 SFX - indica que esto es un sufijo. “PFX” indica un prefijo.
2 D - nombre del carácter que representa este sufijo.
3 Y - indica que puede combinarlo con prefijos.
"N" indica que no puede combinarlo.
4 4 - indica que hay 4 entradas de este sufijo y necesita
tanto espacio para guardarlo.

Las siguientes lineas describe la información de las 4 entradas de este afijo. Cada linea es interpretado así: (Anota que los campos 1 y 2 verifican la información en la primera linea.)

Campo
-----
1 SFX - indica que esto es un sufijo
2 D - nombre del carácter que representa este afijo
3 y - carácter(es) para eliminar antes que añadir el afijo
(un 0 acá indica que no elimina nada (NULL string))
4 ied - carácter(es) para añadir al raíz.
(un 0 acá indica que no añade nada (NULL string))
5 [^aeiou]y - condición o una serie de carácter(es)
que tiene que igualar antes que aplica el afijo a la raíz.

Campo 5 es interesante. Porque esto es un sufijo, campo 5 nos indica que hay dos condiciones que tiene que cumplir. La primera condición es que el próximo al ultimo carácter no puede ser “a”, “e”, “i”, “o”, o “u”--en otras palabras, no puede ser una vocal. La segunda condición es que la última tiene que terminar en “y”.

En comparación, acá es la misma información del archivo comprimido de english.aff de ispell:

flag *D:
E > D # As in create > created
[^AEIOU]Y > -Y,IED # As in imply > implied
[^EY] > ED # As in cross > crossed
[AEIOU]Y > ED # As in convey > conveyed


Ispell tiene casi la misma información pero en diferente formato que no distingue mayúsculas de minúsculas.

Acá son las diferencias entre el archivo .aff de ispell y el archivo .aff de myspell de OpenOffice:

1. El archivo english.aff de ispell tiene el signo “D” bajo la sección “suffix” para que sepa es un sufijo.
2. “D” es el carácter asignado a este sufijo.
3. * indica que el sufijo puede ser combinado con prefijos.
4. Cada linea siguiente describe las entradas de afijos para definir este sufijo.
     - El primer campo es la condición o una serie de carácter(es) que tiene que igualar antes que aplica el ajifo a la raíz.
     - El segundo campo es después de >. Si hay "-", una serie de carácter(es) para eliminar. (Puede dejarlo en blanco.)
     - El tercer campo es una serie de carácter(es) para añadir.
Además todos los caracteres en archivos aff de ispell en MAYÚSCULAS.

La manera más fácil de crear un archivo .aff de OpenOffice es empezar con un archivo .aff de ispell. (Asegúrese de obtener el permiso del autor de la lista de palabras.) Uno por uno, convierte cada prefijo o sufijo en el formato de OpenOffice con un procesador de palabras (o puede escribir un script (programito) de perl).

Anota: Myspell NO acepta caracteres de múltiples bytes. Ambos archivos de afijos y la lista de palabras tienen que utilizar la misma conjunto de caracteres 8-bit que es especificado en el archivo de afijos.

Si tiene caracteres de múltiples bytes, hay que convertirlos a caracteres de uni-byte con un procesador de palabras o un script (programito). Por ejemplo, en el archivo de afijos alemanes de ispell, u" representa el carácter ü (u-umlaut) . Cada u" en los archivos de afijos y la lista de palabras fue reemplazado con ü de conjunto de caracteres ISO-8859-1.

Los cambios en el formato del archivo de afijos son necesario para el procesamiento de los archivos de afijos y la lista de palabras munched sobre la marcha. Myspell guarda en memoria todos los diccionarios como archivos de texto ISO con archivos de afijos asociados. No son guardado como una tabla binaria hash compilado en un formato especifico dependiente de su endian. Si las lineas en los archivos termina en \r\n (estilo DOS) o en \n (estilo UNIX), el código es tan inteligente que puede construir una tabla hash sobre la marcha con solo la lista de palabras y el archivo .aff

Hay que añadir dos otras cosas a su archivo de afijos de MySpell.

La primera linea especifica el conjunto de caracteres usado por ambos archivos de afijos y la lista de palabras. Póngalo en MAYUSCULAS.

Por ejemplo:
     SET ISO8859-1

La segunda linea especifica los caracteres usado al construir la lista de sugerencias para palabras mal-deletreadas. Debe ser listado en orden o la frecuencia de caracteres. Los caracteres más usados son los primeros y los menos usados son los últimos. Para determinar el orden, haga una cuenta de caracteres minúsculas del archivo de la lista de palabras.

Por ejemplo:
     TRY esianrtolcdugmphbyfvkw


Convertir la lista de palabras munched de ispell

Para convertir la lista de palabras munched de ispell a myspell, cuente el numero de palabras-raíces en el archivo y pongalo en la primera linea del archivo. Myspell puede cargar el diccionario más rápido así porque no tiene que repasar dos veces para cargarlo.

 

Última actualización: mar, 16 ago 2011