Discussione:
Andare a capo con la sillabazione
(troppo vecchio per rispondere)
Sandro kensan
2017-03-05 23:17:36 UTC
Permalink
Non mi pare che ci sia una istruzione php che permetta di andare a capo
con la sillabazione.

Esempio:
precipitevolissimevolmente -> pre-ci-pi-te-vo-lis-si-me-vol-men-te

A capo:
precipite-
volissime-
volmente

e anche se ci fosse si sarebbe un problema ulteriore che all'inizio non
ho considerato ovvero aggiungere il trattino quando la parola non ci
sta. (1)

In più non ho considerato che c'è una competizione tra lo spazio e l'a
capo per sillabazione ed occorre introdurre una gerarchia. (2)

Per adesso ho fatto così solo per il titolo H1:
http://www.kensan.it/extra/argomenti/visualizza_tag.php?tag=3.2.1

che va a capo ma i problemi (1) e (2) permangono: ci sono soluzioni?

Solare fotovoltaico (va a capo se la pagina viene ristretta).
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan
2017-03-06 08:49:41 UTC
Permalink
Post by Sandro kensan
Non mi pare che ci sia una istruzione php che permetta di andare a capo
con la sillabazione.
Errore grossolano mio, non ho cercato abbastanza ma invece esiste
l'istruzione css per l'hyphens:

style="-webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto;
hyphens: auto;"

Peccato che (mi pare di avere capito) Chrome sia poco compatibile e pure
il browser android dove ci sarebbe più necessità.

Comunque i CSS credo siano ot qui.
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
fmigliori
2017-03-06 17:29:32 UTC
Permalink
Errore grossolano mio...
Non è detto.
Un dettaglio non indifferente nella sillabazione è la lingua che css3 non considera minimamente.
Ho visto che i browser non hanno problemi a sillabare l'inglese, per tutte le altre lingue è stato introdotto nello standard HTML il tag ­, che va benissimo (mica tanto) per chi si scrive due paginette in html, ma in situazioni più organizzate è un delirio.
Il che mi ha fatto ritenere che magari php avesse già una funzione apposita, che non ho trovato, ho cercato quindi una libreria e non trovai nemmeno quella.

Le cose sono due, ho dal tag <html> il browser ricava la lingua e da lì la sillabazione, pessimo per chi ha un blog di programmazione o per chi riporta testi in lingue diverse dalla propria, ho mi sono perso qualche pezzo importante per strada.

La mia fortuna è che non ho mai avuto bisogno.
Sandro kensan
2017-03-06 17:49:00 UTC
Permalink
Post by fmigliori
Errore grossolano mio...
Non è detto.
Un dettaglio non indifferente nella sillabazione è la lingua che css3 non considera minimamente.
Ho visto che i browser non hanno problemi a sillabare l'inglese, per tutte le altre lingue è stato introdotto nello standard HTML il tag &shy;, che va benissimo (mica tanto) per chi si scrive due paginette in html, ma in situazioni più organizzate è un delirio.
Il che mi ha fatto ritenere che magari php avesse già una funzione apposita, che non ho trovato, ho cercato quindi una libreria e non trovai nemmeno quella.
Le cose sono due, ho dal tag <html> il browser ricava la lingua e da lì la sillabazione, pessimo per chi ha un blog di programmazione o per chi riporta testi in lingue diverse dalla propria, ho mi sono perso qualche pezzo importante per strada.
La mia fortuna è che non ho mai avuto bisogno.
Non ho capito molto del tuo discorso ma se il dubbio è se la
sillabazione richiede il settaggio della lingua allora la risposta è
affermativa. Se non si setta <html lang="it"> allora la sillabazione non
funziona (ho commesso questa trascuratezza più volte e non avveniva
alcuna sillabazione).

Per quanto riguarda una libreria allora questa esiste e si chiama class
phpSillaba ma funziona su singole stringhe e quindi è molto difficile
usarla su un intero sito in quanto occorre scrivere il codice per
filtrare tutte le stringhe che escono con un echo e tutto l'html che fa
uscire il testo.

Poi phpSillaba trasforma solo una parola in pa-ro-la e quindi necessita
di js per fare andare a capo con la sillabazione tipo:

pa-
ro-
la.

non so come si faccia col js ma potrebbe essere possibile.
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan
2017-03-06 17:56:27 UTC
Permalink
Errore grossolano mio...
Non è detto. Un dettaglio non indifferente nella sillabazione è la
lingua che css3 non considera minimamente. Ho visto che i browser non
hanno problemi a sillabare l'inglese, per tutte le altre lingue è
stato introdotto nello standard HTML il tag &shy;, che va benissimo
(mica tanto) per chi si scrive due paginette in html, ma in
situazioni più organizzate è un delirio.
Mi sono informato. Shy pare sia un soft hyphenation, in pratica un
trattino di sillabazione. Immagino che dopo avere sillabato usando il
trattino shy il testo di interesse, poi il browser si arrangi ad andare
a capo in modo corretto aggiungendo un trattino visibile al posto dello
shy a fine riga.
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
fmigliori
2017-03-06 19:46:03 UTC
Permalink
Post by Sandro kensan
Mi sono informato. Shy pare sia un soft hyphenation, in pratica un
trattino di sillabazione. Immagino che dopo avere sillabato usando il
trattino shy il testo di interesse, poi il browser si arrangi ad andare
a capo in modo corretto aggiungendo un trattino visibile al posto dello
shy a fine riga.
Si, devi mettere l'entità tra le sillabe di tutte le parole perché non
puoi prevedere quale e dove verrà tagliata, per questo cercavo uno
script o altro che svolgesse tale simpatico lavoro.

Però il problema è (parzialmente?) superato perché anche io mi sono informato
meglio e ho visto che il parametro lang può essere posizionato in altri
tag oltre ad <html> permettendo così la sillabazione in pagine multilingue
gestita direttamente dal browser.

Per quanto riguarda la libreria in php ho trovato php-sillabe
(https://github.com/Jerkiller/php-sillabe), ma è solo in italiano e
non credo sia completa, per cui se vuoi superare le lacune di certi
browser la vedo dura.
Post by Sandro kensan
Errore grossolano mio...
Non è detto. Un dettaglio non indifferente nella sillabazione è la
lingua che css3 non considera minimamente. Ho visto che i browser non
hanno problemi a sillabare l'inglese, per tutte le altre lingue è
stato introdotto nello standard HTML il tag &shy;, che va benissimo
(mica tanto) per chi si scrive due paginette in html, ma in
situazioni più organizzate è un delirio.
Mi sono informato. Shy pare sia un soft hyphenation, in pratica un
trattino di sillabazione. Immagino che dopo avere sillabato usando il
trattino shy il testo di interesse, poi il browser si arrangi ad andare
a capo in modo corretto aggiungendo un trattino visibile al posto dello
shy a fine riga.
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan
2017-03-06 20:07:58 UTC
Permalink
Post by fmigliori
Per quanto riguarda la libreria in php ho trovato php-sillabe
(https://github.com/Jerkiller/php-sillabe), ma è solo in italiano e
non credo sia completa, per cui se vuoi superare le lacune di certi
browser la vedo dura.
L'ho usato e mi pare funzioni, forse non sarà perfetto ma comprende
molti casi. Il problema è che usa i trattini e che è un lavoraccio
sostituirli con lo shy: il codice php è inzuppato di trattini che vanno
tutti sostituiti.

Comunque io uso l'hyphenation anche se non è compatibile con tutti i
browser. In futuro sarà compatibile :)
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
fmigliori
2017-03-06 20:45:06 UTC
Permalink
Post by Sandro kensan
Post by fmigliori
Per quanto riguarda la libreria in php ho trovato php-sillabe
(https://github.com/Jerkiller/php-sillabe), ma è solo in italiano e
non credo sia completa, per cui se vuoi superare le lacune di certi
browser la vedo dura.
L'ho usato e mi pare funzioni, forse non sarà perfetto ma comprende
molti casi. Il problema è che usa i trattini e che è un lavoraccio
sostituirli con lo shy: il codice php è inzuppato di trattini che vanno
tutti sostituiti.
Andrebbe modificato lo script mettendo una proprietà
della classe e usare quella al posto del trattino hardcoded.

ma per ora accontentati di questo

$testopreservato =str_replace('-','**[trattino]**',$testooriginale); //preservazione trattini
$testosillabato = $sillaba->...($testopreservato);
$testofinale = str_replace(array('-','**[trattino]**'),array('&shy;','-'), $testosillabato);
Post by Sandro kensan
Comunque io uso l'hyphenation anche se non è compatibile con tutti i
browser. In futuro sarà compatibile :)
Che è forse la cosa migliore anche se perdi gli android
Sandro kensan
2017-03-06 22:05:55 UTC
Permalink
Post by fmigliori
Andrebbe modificato lo script mettendo una proprietà
della classe e usare quella al posto del trattino hardcoded.
ma per ora accontentati di questo
$testopreservato =str_replace('-','**[trattino]**',$testooriginale); //preservazione trattini
$testosillabato = $sillaba->...($testopreservato);
$testofinale = str_replace(array('-','**[trattino]**'),array('&shy;','-'), $testosillabato);
Buona idea, non ci avevo pensato, infatti il mio problema era
"e-commerce" e per evitare questo ho fatto un trova-sostituisci nella
classe evitando i pochi casi in cui il trattino aveva un altro scopo per
esempio "[a-z]" nelle regular expression.

Comunque faccio notare che "**[trattino]**" diventa forse
"**[trat&shy;ti&shy;no]**".
Post by fmigliori
Post by Sandro kensan
Comunque io uso l'hyphenation anche se non è compatibile con tutti i
browser. In futuro sarà compatibile :)
Che è forse la cosa migliore anche se perdi gli android
Esatto, gli android, funziona solo su Firefox perché ce l'ho sul mio
smartphone ma per il browser stock degli android dovrò aspettare che
diventino compatibili. Però nessuno si accorgerà di nulla, con android
vedranno le parole non sillabate come al solito.

Ho sentito che pure Chrome (per desktop?) non è compatibile: è vero?
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan
2017-03-06 22:37:32 UTC
Permalink
Post by fmigliori
Che è forse la cosa migliore anche se perdi gli android
Pare che gli android non siano persi e neppure i Mac:

https://bugs.chromium.org/p/chromium/issues/detail?id=605840

Invece sono persi i windows in quanto la MS non offre un modo per
accedere al dizionario dove c'è la sillabazione (API).
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
ciccio
2017-03-07 08:23:17 UTC
Permalink
fmigliori <***@gmail.com> ha scritto:

CUT
Post by fmigliori
Le cose sono due, ho dal tag <html> il browser ricava la lingua e da lì la
sillabazione, pessimo per chi ha un blog di programmazione o per chi riporta
testi in lingue diverse dalla propria, ho mi sono perso qualche pezzo
importante per strada.

.."ho" c'è bisogno urgente di un corso di grammatica italiana... ;-D
Post by fmigliori
La mia fortuna è che non ho mai avuto bisogno.
..Ma vedi sopra...

Continua a leggere su narkive:
Loading...