В HTML и CSS, как правильно сделать японские текстовые строки? - PullRequest
11 голосов
/ 09 марта 2011

Я пишу простой абзац на английском и японском, используя только HTML и CSS. Английский текст обычно разбивает строки (когда слово больше не помещается в строку, оно переносится на следующую).

В японском языке, не целое слово переносится на следующую строку, а только его часть. Я попытался установить перенос слов в слово-разрыв и обычный, но ничего не изменилось (с текстом на японском языке).

Как заставить целые слова на японском перейти к следующей строке, как это происходит на английском?

Ответы [ 4 ]

10 голосов
/ 04 апреля 2011

Английский язык разделяет слова пробелами, а японский - нет.

То, образуют ли символы на японском языке слово или нет, зависит от контекста. Во многих случаях поиск определенных грамматических (кана) частиц может использоваться для разделения слов, но это даже близко не будет надежным.

По сути, вам понадобится японский словарь / понимание языка, чтобы определить, где слова начинаются и заканчиваются - браузер не знает, как это сделать.

В качестве альтернативы, если вы знаете начало и конец слов, вы, возможно, можете обернуть каждое из них в промежуток, а затем использовать CSS, чтобы убедиться, что каждый отрезок переносится на новую строку в целом, когда он не подходит.

6 голосов
/ 04 октября 2016

В японском языке есть особые правила, которые соблюдаются при разрыве текста.Они называются 禁 則 処理 (кинсоку шори). Здесь - ссылка, объясняющая правила.Правила в основном касаются специальных символов.Посмотрите на любую популярную японскую веб-страницу, и вы увидите, что многосимвольные (кана и кандзи) слова часто разделяются.Я часто вижу す す разбитую между строками.

Обновление: Я недавно наткнулся на этот инструмент.Я еще не пробовал это, но теория является твердой.Если кто-то хочет улучшить разрывы строк с помощью японского текста, это может быть хорошим решением.

0 голосов
/ 05 октября 2015

Это грязное решение для этого:

#box { word-spacing: 30000px; }

https://stackoverflow.com/a/18891911/979474

0 голосов
/ 09 марта 2011

попробуйте установить свойство css

line-break:strict;

Проверьте это здесь .

...