Traduzione Avahi e PackageKit

Guido Grazioli guido.grazioli at gmail.com
Sat Dec 12 19:08:22 UTC 2009


Il 12 dicembre 2009 18.52, Milo Casagrande <milo at ubuntu.com> ha scritto:
> Il 12 dicembre 2009 17.34, Guido Grazioli <guido.grazioli at gmail.com> ha scritto:
>>
>> Quello che intendevo io, scendendo nel dettaglio tecnico, è
>> che la classe posix (e mi sembra anche java, a memoria) delle
>> regular expression per la punteggiatura
>>
>> [:punct:] -> [-!"#$%&'()*+,./:;<=>?@\[\\\]_`{|}~]
>>
>> *NON* contiene i caratteri «» , mentre contiene sia l'apice singolo che
>> doppio. Se mi confermi che quando $LANG=it_IT oppure $LC_ALL=it
>> la classe [:punct:] contiene anche «» allora non ci sono problemi.
>> Nel caso contrario invece, parliamone.
>
> Non possono esserci le caporali: quelli sono caratteri stampabili
> ASCII (a 7 bit?), questi («») sono Unicode e le regular-expression
> POSIX si basano su ASCII (o su una delle sue forme).
> In ogni caso sei limitato: [a-z] non include le lettere accentate.
>

Non confondere Unicode con UTF-8, sono uno l'implementazione
dell'altro.
Sono convinto che le caporali *SIANO* nel latin1/iso8859-1, nota che
latin-1 != ascii (8 bit contro 7 bit, i 128 caratteri in più sono il
latin-1 supplement).
D'altra parte non tutti i caratteri ascii sono stampabili, e inoltre posix
NON è limitato all'ascii per regex, la limitazione è solo per i motori
PCRE (Perl Compatible Reg Ex)
http://www.regular-expressions.info/refflavors.html

Anzi i motori POSIX hanno le collation nel supporto unicode,
per cui [:alpha:] cattura à per a, e comunque hai [[=a=]] che
cattura entrambe.

Comunque ho investigato ultriorimente, e a parte vi che è PCRE (almeno
di default la versione distribuita con fedora), con perl e le GNU ERE
il carattere « (U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)
viene correttamente catturato da [:punct:], anche senza impostare
LANG=it_IT, poichè Unicode definisce questo carattere come
Category: punctuation, initial quote

Per verificare:
# echo "Città del capo. <«|^" > test.txt
# grep --color -E "[[:punct:]]" test.txt
# grep --color -E "\w" test.txt

Io in definitiva sono convinto che «» non creino problemi, se nessun
altro ha niente da aggiungere direi che si possa procedere.

-- 
Guido Grazioli <guido.grazioli at gmail.com>
Via Parri 11 48011 - Alfonsine (RA)
Mobile: +39 347 1017202 (10-18)
Key FP = 7040 F398 0DED A737 7337  DAE1 12DC A698 5E81 2278
Linked in: http://www.linkedin.com/in/guidograzioli




More information about the trans-it mailing list