[Corrector] problema amb paraules que contenen ela geminada
Ernest Adrogué
nfdisco a gmail.com
dij mar 15 02:11:29 CET 2012
Hola,
14-03-2012, 20:52 (+0100); Joan Moratinos escriu:
> Mirant l'API d'Enchant, sembla que no té cap funció per dividir en
> mots. Segurament, és així perquè Enchant ofereix les prestacions
> comunes als diversos backends (aspell, hunspell, etc.) i aquests no
> tenen funcions per trossejar una línia en paraules.
>
> Mozilla, com els altres clients dels correctors ortogràfics, fa
> servir un "iterador", que recorre la frase cercant-hi paraules.
> Normalment, aquests iteradors tenen un funcionament bastant naïf i
> consideren que un mot és una "illa" de caràcters marcats com
> alfabètics.
Aquests dies m'ho he estat mirant i he vist que és així com dius. En
el món Linux un dels "kits" més utilitzats és el GTK que utilitza un
iteradors d'aquests, i ara com ara trenca les paraules en el punt de
la ela geminada.
L'iterador del GTK utilitza una funció de Pango que assigna
"propietats lògiques" a cada espai entre caràcters, tals com si
l'espai es troba al principi d'una paraula o frase, final d'una
paraula o frase, etc. Doncs bé, he vist que Pango implementa
l'estàndard Unicode sobre la divisió de paraules (UAX#29) (que
correspón a la propietat "word_boundary" dels "atributs lògics" del
caràcter) i ho fa correctament en el cas de la ela geminada
considerant-la com part de la paraula. El problema és que les altres
propietats ("word_start" i "word_end") que són en les que es basa GTK
per detectar els límits de les paraules no coincideixen amb el
"word_boundary". Per exemple, si analitzes amb Pango la paraula
"il·luminat" et diu que els word boundaries són |il·luminat| (que és
correcte) però els "word start" diu que son |il·|luminat (incorrecte).
Per tant, en aquest cas, crec que el que s'ha de corregir és
l'algoritme que assigna aquestes propietats, que és a la funció
pango_default_break() [1]. Jo m'ho he mirat i ho he trobat bastant
caòtic, però potser algú amb més experiència sap com arreglar-ho.
[1] http://git.gnome.org/browse/pango/tree/pango/break.c
Per altra banda, el tema del diccionari. El programa corrector
hunspell necessita que s'inclogui el caràcter de punt volat "·" a
l'apartat WORDCHARS del fitxer d'afixos. Això fa que la ela geminada
funcioni correctament amb aquest programa. Diria que el diccionari és
el mateix que el que fa servir myspell, no sé si pot tenir efectes
col·laterals. I pel que fa als suggeriments es poden afegir errors
ortogràfics habituals com:
REP l l·l
REP l·l l
REP b v
REP v b
REP g j
REP j g
REP u o
REP o u
REP a e
REP e a
REP ó$ or
REP é$ er
REP à$ ar
REP í$ ir
REP an ant
REP en ent
REP in int
REP on ont
REP un unt
REP ss ç
REP ç ss
REP ç s
REP s ç
REP s ss
REP ss s
REP r rr
REP rr r
que segons el manual pot fer que els suggeriments siguin més adequats,
tot i que no he fet gaires proves com confirmar-ho.
Què en penseu d'introduir aquests canvis al diccionari?
Salutacions,
Ernest
Més informació sobre la llista de correu Corrector