[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sobre la ele geminada (era: Re: us funciona l'opció nodeadkeys?)



2013-12-30, 21:23 (+0100); Joan Montané escriu:
> El dia 30 desembre de 2013 18.07, Joan Montané <jmontane@gmail.com> ha
> escrit:
> 
> >
> > El dia 30 desembre de 2013 16.38, Ernest Adrogué <nfdisco@gmail.com> ha
> > escrit:
> >
> > Una cosa que em posa negre de la «l·l» és que la navegació de paraules no
> >> funciona.
> >
> >
> 
> 
> > Per exemple, això que indiques del cursor, o el doble clic amb el ratolí,
> > o el tokenitzador que passa els mots al motor de correcció ortogràfica,
> > haurien de funcionar bé si segueixen l'estàndard UAX TR29. I no només per
> > al català, sinò com a valor predeterminat.
> > http://www.unicode.org/reports/tr29/#Word_Boundaries
> >
> >
> Aprofito el fil per a fer una crida.
> 
> *Tinc obert diversos fils sobre la mala segmentació de mots amb put volat
> al "món" GNOME*. Totes les aplicacions GNOME que he provat tallen pel punt
> volat en moure el cursor o fer-hi dobleclic.
> 
> GNOME usa pango-Cairo per a renderitzar. Pango teòricament implenta l'UAX
> TR29. He ressegit el codi font i tot sembla en ordre, efectivament
> implementa l'UAX TR29. Per tant GNOME hauria de tractar bé el punt volat,
> però és el cas, :((((
> 
> Si cap programador amb coneixements de C++ subscrit a aquesta llista vol
> donar-me un cop de mà a diagnosticar on és exactament el problema, si a
> pango o a Cairo, li estaré agraït.Una vegada detectat el problema
> segurament serà fàcil apedaçar la biblioteca que toqui. Si algú hi està
> interessat pot escriure'm en privat o en aquest fil, tant m'he fa. Tinc
> clares les proves, però no sé programar-les, :(

No tinc coneixments de C++.  Fa temps em vaig mirar l'algoritme de divisió
de paraules de GTK però al final ho vaig deixar estar.  Em sembla que era
Pango, qui ho feia.

Ara el que acabo de veure és que les funcions de moviment de cursor de la
biblioteca readline de GNU simplement miren la categoria dels caràcters amb
iswalpha(), que és una funció POSIX que utilitza la informació del local.
Problema: el local ca_ES classifica el punt volat com a puntuació i no com
alfabètic.  He canviat la definició del local ca_ES i ara readline fa la
divisió de paraules correctament.  L'Emacs i el Vim segueixen fallant.

El primer pas seria arreglar el local ca_ES, perquè dóna la categoria del
caràcter incorrecta.  Segons he llegit a [1] hauríem de contactar amb el
mantenidor del local ca_ES de la libc de GNU (Jordi Mallach, em sona que el
tenim en aquesta llista).

[1] https://sourceware.org/glibc/wiki/Locales


Reply to: