Konwersja przełamane w przestrzeń sens dla języka angielskiego, na przykład, następujący kod HTMLPrevent przeglądarka konwersji „ n” między wierszami w przestrzeni (dla chińskich znaków)
<p>
This is
a sentence.
</p>
otrzymujemy następujące po przekształceniu nowej linii do przestrzeń w przeglądarce:
This is a sentence.
to jest dobre dla języka angielskiego, ale nie jest dobre dla chińskich znaków, ponieważ nie używamy spacji aby rozdzielić słowa w chińskim. Oto przykład (Zdanie chiński ma takie samo znaczenie „To jest zdanie”):
<p>
这是
一句话。
</p>
otrzymuję następujący wynik na Chrome, Safari i IE
这是 一句话。
Chciałem jest po, bez dodatkowej przestrzeni.
这是一句话。
nie wiem czemu przeglądarka nie ignorować przełamane jeśli ostatni znak z aktualnej linii i pierwszy znak następnej linii są zarówno chińskie znaki (co moim zdaniem ma więcej sensu) . Czy zapewnili ten mechanizm, ale wymagają specjalnej obsługi?
Przy okazji, w Vimie, gdy do łączenia linii używa się "J", nie zostanie dodane spacja, jeśli ostatni i pierwszy znak z 2 wierszy to wszystkie chińskie znaki. Ale w przypadku języka angielskiego zostanie dodane miejsce. Sądzę więc, że Vim zajmuje się czymś specjalnym.
Aktualizacja:
Choć myślę, że jest to problem z przeglądarką, muszę z tym żyć. Obecnie przygotowuję mój tekst Markdown do łączenia chińskich linii przed wygenerowaniem kodu HTML. Oto jak zrobić to w Ruby, kompletny kod, który obsługuje również chińskich znaków interpunkcyjnych jest 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
Można zrobić skrypt, aby pliki new-line mniej ze wszystkich plików HTML w katalogu, uruchom ten skrypt za każdym razem masz zamiar opublikować pliki do Internetu i opublikuj pliki wynikowe. – Gravity
Wiem, że można to łatwo rozwiązać za pomocą skryptu. Ale myślę, że przeglądarka powinna sobie z tym poradzić, aby ułatwić życie większości ludzi. Jak widzisz, Vim to robi, aw LaTeX możemy zabronić nowej linii konwersji do przestrzeni. – cyfdecyf