jaumeortola / hyphen-ca

Catalan patterns for word hyphenation
GNU General Public License v3.0
1 stars 1 forks source link

Errors d'apostrofació quan la cometa és rodona (U+2019) #8

Open borgue95 opened 8 months ago

borgue95 commented 8 months ago

He descobert aquest error utilitzant Scribus i l'he corroborat compilant l'exemple del repositoroi hyphen.

El partidor de mots parteix incorrectament paraules apostrofades com l’acústica (apòstrof rodó o tipogràfic U+2019):

$ echo "l’acústica" | ./example /usr/share/hyphen/hyph_ca.dic /dev/stdin
$ l=’=a=cús=ti=ca

quan, segons crec, hauria de ser

l’a=cús=ti=ca

En canvi, quan parteix l'acústica (apòstrof recte U+0027), retorna el resultat correcte

l'a=cús=ti=ca

Després de remenar la documentació de hyphen (la poca que hi ha), he trobat la possible font del problema, tot i que no estic segur que generi efectes secundaris:

# hyphen/README.compound
[...]
Without explicite NEXTLEVEL declaration, Hyphen 2.8 uses the
previous settings, plus in UTF-8 encoding, endash (U+2013) and
typographical apostrophe (U+2019) are NOHYPHEN characters, too.

Puc arribar a entendre que sense NEXTLEVEL, llavors empra la llista NOHYPHEN especificada i hi afegeix el guionet en i l'apòstrof tipogràfic. Si és així, no entenc la utilitat d'aquesta paraula clau. Un usuari va demanar ajuda en una issue al repositori hyphen, però ningú el va respondre clarament.

No he acabat d'entendre com funcionen aquestes dues paraules clau, però he resolt el problema (amb l'esperança de no crear-ne més) eliminant NEXTLEVEL del diccionari.

Podríeu corroborar aquest problema i determinar que no en creï d'altres? Puc col·laborar d'alguna manera, dins les meves possibilitats?

Moltes mercès

borgue95 commented 8 months ago

Segona ronda d'investigació: pronoms febles.

Faig la prova amb aquestes paraules (una amb apòstrof tipogràfic, l'altre amb el recte):

$ echo "l’acústica l'acústica puja-me’l puja-me'l imagini-s’ho imagini-s'ho treure-te’ls treure-te'ls anar-se’n anar-se'n t’has t'has t’ho t'ho recomana’ls-ho recomana'ls-ho" | ./example /usr/share/hyphen/hyph_ca.dic /dev/stdin

i obtinc:

l=’=a=cús=ti=ca
l'a=cús=ti=ca 
=pu=ja-=me=’=l 
=pu=ja-=me'l
i=ma=gi=ni-s=’=ho
i=ma=gi=ni-s'ho
=treu=re-=te=’=ls
=treu=re-=te'ls
a=nar-=se=’=n
a=nar-=se'n
t=’=has
t'has
t=’=ho t'ho
=re=co=ma=na=’=ls-=ho
=re=co=ma=na'ls-=ho

Les paraules amb apòstrof recte queden ben partides; les altres, no. Si s'elimina NEXTLEVEL, les paraules amb apòstrof tipogràfic queden ben partides.

Ja dic, no acabo d'entendre exactament com funciona la partició de mots i les implicacions d'aquest canvi, però, a priori, sembla funcionar.