Представляем четыре новые международные функции CSS.

Джек Джей
Jack J

В Chrome появятся четыре новые международные функции CSS из текстового модуля CSS уровня 4 . В этом посте объясняется, что уже отправлено и что будет в ближайшее время.

  • Из Chrome 119: разрыв строки японской фразы с word-break: auto-phrase .
  • За флагом из Chrome 120: межскриптовый интервал со свойством text-autospace .
  • В разработке: кернинг пунктуации китайского, японского и корейского языков (CJK) со свойством text-spacing-trim .
  • Согласованный минимальный размер шрифта на всех языках.

Разрыв строки японской фразы: word-break: auto-phrase

Эта функция улучшает читаемость текста на японском языке и доступна в Chrome 119.

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

Новая функция CSS word-break: auto-phrase указывает, что перенос должен происходить на таких границах.

<html lang="ja">
<style>
h1 {
  word-break: auto-phrase;
}
</style>

<h1>窓ぎわのトットちゃん<h1>
разрыв слова: автофраза переносит строку на естественную границу фразы.
word-break: auto-phrase переносит строку на естественную границу фразы.

Обнаружение границ выполняется механизмом машинного обучения, поэтому оно может привести не к тому, что вы хотите. В этом случае вы можете вручную настроить точки разрушения. Тег <wbr> или пространство нулевой ширины ( &ZeroWidthSpace; ) обеспечивает разрывную точку, а соединение нулевой ширины ( &zwj; ) предотвращает разрыв.

窓ぎわの<wbr>トットちゃん
ユーザー<wbr>インターフェース

В настоящее время Chrome поддерживает эту функцию только для японского языка, используя порт BudouX C++, использующий технологию AdaBoost ML. Подробнее об этом читайте в Google Developers Japan: BudouX: 読みやすい改行のための軽量な分かち書き器.

Мы планируем поддерживать корейский и китайский языки в будущих версиях Chrome.

Межскриптовый интервал: text-autospace

Следующая функция в настоящее время находится под флагом в Chrome. Чтобы проверить это, включите флаг функций экспериментальной веб-платформы (находится по адресу chrome://flags/#enable-experimental-web-platform-features ) в Chrome 120 или более поздней версии.

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

Chrome планирует начать вставлять межстрочные интервалы по умолчанию. Эта функция переносит в Интернет распространенную практику, широко используемую в печатных материалах для улучшения читаемости.

Новое значение по умолчанию применяет небольшие интервалы для лучшей читаемости, которыми можно управлять с помощью text-autospace.
Новое значение по умолчанию применяет небольшие интервалы для лучшей читаемости, которыми можно управлять с помощью text-autospace .

Если вы хотите отключить это поведение, свойство text-autospace позволяет вам управлять вставкой пробелов.

text-autospace: no-autospace;

Кернинг пунктуации CJK: text-spacing-trim

Следующая функция находится в стадии разработки, поэтому она будет включена в Chrome по умолчанию.

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

Например, точки CJK и закрывающие круглые скобки CJK обычно создаются так, чтобы в правой половине глифов были внутренние интервалы, чтобы каждый символ имел постоянное продвижение.

Но когда эти знаки препинания появляются подряд, внутренние пробелы в глифах становятся чрезмерными. В следующих двух примерах второй — правильная типографика; правая половина периода CJK должна быть удалена.

Когда знаки препинания появляются подряд, правая половина точки CJK должна быть удалена.
Когда знаки препинания появляются подряд, правая половина точки CJK должна быть удалена.

Поведение по умолчанию в целом дает хорошие результаты, но разработчики могут использовать свойство text-spacing-trim для выбора различных стилей или в некоторых случаях для его отключения.

Согласованный минимальный размер шрифта на разных языках.

До Chrome 118 размеры шрифтов менее 10 пикселей или около того не отображались, как указано, а округлялись в большую сторону, если язык был арабским, фарси, японским, корейским, тайским, упрощенным или традиционным китайским. Разработчикам требовались обходные пути для рендеринга небольшого текста, например, с помощью свойства transform .

В Chrome 118 это ограничение снято для всех языков, благодаря чему семь языков соответствуют остальным. Это изменение улучшает совместимость с другими браузерами.

Начиная с Chrome 118, ограничение, согласно которому шрифты размером менее 10 пикселей или около того не отображаются должным образом, снято для арабского, фарси, японского, корейского, тайского, упрощенного или традиционного китайского языка.
Начиная с Chrome 118, ограничение, согласно которому шрифты размером менее 10 пикселей или около того не отображаются должным образом, снято для арабского, фарси, японского, корейского, тайского, упрощенного или традиционного китайского языка.

Привлекайте и делитесь отзывами

Если у вас есть какие-либо отзывы об этих функциях, сообщите о проблеме на crbug.com .