Conversione di nuova riga nello spazio ha un senso per l'inglese, per esempio, il seguente codice HTMLimpedire al browser di conversione ' n' tra le linee nello spazio (per i caratteri cinesi)
<p>
This is
a sentence.
</p>
otteniamo la seguente dopo la conversione alla nuova riga in spazio nel browser:
This is a sentence.
Questo è un bene per l'inglese, ma non va bene per i caratteri cinesi, perché non usiamo gli spazi per separare le parole in cinese. Ecco un esempio (La frase cinese ha lo stesso significato di "Questa è una frase"):
<p>
这是
一句话。
</p>
ottengo il seguente risultato su Chrome, Safari e IE
这是 一句话。
Quello che volevo è il seguendo, senza lo spazio extra.
这是一句话。
Non so perché il browser non ignora il ritorno a capo se l'ultimo carattere della riga corrente e il primo carattere della riga successiva sono entrambi caratteri cinesi (che a mio avviso ha più senso) . Oppure hanno fornito questo meccanismo ma hanno bisogno di un trattamento speciale?
BTW, in Vim, quando si utilizza "J" per unire le linee, nessuno spazio verrà aggiunto se l'ultimo e il primo carattere delle 2 linee sono tutti caratteri cinesi. Ma per l'inglese, verrà aggiunto uno spazio. Quindi immagino che Vim abbia un trattamento speciale per questo.
Aggiornamento:
Anche se penso che questo è un problema con il browser, devo convivere con questo. Quindi, al momento, avrei preprocesso il mio testo Markdown per unire le linee cinesi prima di generare HTML. Ecco come faccio questo in Ruby, codice completo che gestisce anche le punteggiature cinesi è il gist
#encoding: UTF-8
# Requires ruby 1.9.x, and assume using UTF-8 encoding
class String
# The regular expression trick to match CJK characters comes from
# http://stackoverflow.com/a/4681577/306935
def join_chinese
gsub(/(\p{Han})\n(\p{Han})/m, '\1\2')
end
end
Si potrebbe fare uno script per rendere i file new-line-meno da tutti i file HTML in una directory, eseguire lo script ogni volta che sei in procinto di pubblicare i tuoi file sul Web e pubblica i file risultanti. – Gravity
So che questo può essere facilmente risolto usando uno script. Ma penso che il browser dovrebbe gestirlo per rendere più facile la vita a molte persone. Come vedi, Vim fa questo, e in LaTeX possiamo proibire la conversione di newline in spazi. – cyfdecyf