Przedstawiamy 4 nowe funkcje międzynarodowe w CSS

Jack J
Jack J

Wkrótce w Chrome pojawią się 4 nowe międzynarodowe funkcje CSS z modułu tekstowego CSS poziomu 4. W tym poście wyjaśniamy, co zostało już wysłane, a co wkrótce.

  • Od Chrome 119: japoński podział wiersza z tekstem word-break: auto-phrase.
  • Za flagą z Chrome 120: odstępy między skryptami z właściwości text-autospace.
  • W trakcie opracowywania: kerning w językach chińskim, japońskim i koreańskim (CJK) z właściwością text-spacing-trim.
  • Spójny minimalny rozmiar czcionki we wszystkich językach.

Podział wiersza wyrażenia w języku japońskim: word-break: auto-phrase

Ta funkcja zwiększa czytelność tekstu w języku japońskim i jest dostępna od wersji Chrome 119

W niektórych językach wschodnioazjatyckich, takich jak chiński czy japoński, słowa nie są oddzielane spacjami, a linie mogą zawijać się dowolny znak, nawet jeśli znajduje się w środku słowa. Jest to normalne działanie funkcji podziału wierszy w tych językach, ale w przypadku krótkich tekstów, takich jak nagłówki lub wiersze, zalecane jest zawijanie linii do naturalnych granic wyrażenia (w języku japońskim ta granica nosi nazwę „Bunsetsu”).

Nowa funkcja CSS word-break: auto-phrase określa, że kodowanie powinno następować na takich granicach.

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

<h1>窓ぎわのトットちゃん<h1>
łamanie słów: automatyczne wyrażenie zawija linię w naturalnej granicy wyrażenia.
word-break: auto-phrase zawija linię w naturalnej granicy wyrażenia.

Wykrywanie granic jest wykonywane przez silnik systemów uczących się, więc może nie przynieść oczekiwanych rezultatów. Jeśli tak się stanie, możesz ręcznie dostosować punkty przerwania. Tag <wbr> lub odstęp o zerowej szerokości (&ZeroWidthSpace;) wymusza podział punktu, a złączanie o zerowej szerokości (&zwj;) zapobiega zerwaniu.

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

Obecnie Chrome obsługuje tę funkcję tylko w języku japońskim i korzysta z portu BudouX C++, który korzysta z technologii AdaBoost ML. Więcej informacji na ten temat znajdziesz w witrynie Google Developers w Japonii: BudouX: 読みやすす改話シめの軽量 maksymalnego分すちすす器.

W kolejnych wersjach Chrome planujemy wprowadzić obsługę języka koreańskiego i chińskiego.

Odstępy między skryptami: text-autospace

Ta funkcja jest obecnie opóźniona w Chrome. Aby przetestować tę funkcję, w Chrome 120 lub nowszej wersji włącz flagę Eksperymentalne funkcje platformy internetowej (dostępnej pod adresem chrome://flags/#enable-experimental-web-platform-features).

Chiński i japoński łączą w sobie kilka alfabetów, w tym znaki Han, łaciński i ASCII, a w przypadku języka japońskiego znaki hiragana i katakana. Małe odstępy przy przełączaniu się ze skryptów ideograficznych innych niż hanan często zmniejszają czytelność.

Chrome planuje domyślnie zacząć wstawiać odstępy między skryptami. Ta funkcja wprowadza w internecie popularną metodę powszechnie stosowaną w materiałach drukowanych w celu poprawy czytelności.

Nowa wartość domyślna stosuje małe odstępy, aby zwiększyć czytelność. Można je kontrolować za pomocą funkcji text-autospace.
Nowe ustawienie domyślne stosuje małe odstępy, aby zwiększyć czytelność, którymi można sterować za pomocą text-autospace.

Jeśli chcesz wyłączyć to działanie, właściwość text-autospace pozwala kontrolować wstawianie odstępów.

text-autospace: no-autospace;

kerning interpunkcji CJK: text-spacing-trim

Aktualnie pracujemy nad tą funkcją, która będzie domyślnie włączona w Chrome.

W przypadku języków chińskiego, japońskiego i koreańskiego stosowanie kerningu między znakami interpunkcyjnymi zwiększa czytelność i generuje przyjemniejszą wizualnie typografię. Obecnie ten kerning stosuje większość materiałów drukowanych i edytory tekstu.

Na przykład kropki CJK i nawiasy zamykające CJK są zwykle zaprojektowane w taki sposób, aby wewnętrzne odstępy między glifami były stosowane w prawej części spacji glifów, tak aby każdy znak występował regularnie.

Jednak gdy takie znaki interpunkcyjne występują w rzędzie, odstępy między nimi stają się zbyt duże. W poniższych 2 przykładach drugi jest prawidłowy i należy usunąć prawą połowę przedziału czasu CJK.

Gdy w wierszu pojawią się znaki interpunkcyjne, należy usunąć prawą połowę kropki CJK.
Gdy w wierszu występują znaki interpunkcyjne, należy usunąć prawą połowę kropki CJK.

Domyślne działanie jest ogólnie korzystne, ale deweloperzy mogą użyć właściwości text-spacing-trim, aby wybrać inne style, a w niektórych przypadkach ją wyłączyć.

Spójny minimalny rozmiar czcionki we wszystkich językach

Przed wersją Chrome 118 czcionki mniejsze niż 10 pikseli nie były renderowane zgodnie z oczekiwaniami. W przypadku języka arabskiego, perskiego, japońskiego, koreańskiego, tajskiego, chińskiego tradycyjnego, arabskiego, perskiego, japońskiego, tajskiego czy tajskiego, były one zaokrąglane. Deweloperzy musieli obejść ten problem, aby renderować mały tekst, na przykład przy użyciu właściwości transform.

Od wersji Chrome 118 ten limit zostanie zniesiony w przypadku wszystkich języków, dzięki czemu 7 języków będzie pasujących do pozostałych. Ta zmiana poprawia interoperacyjność z innymi przeglądarkami.

Od wersji Chrome 118 ograniczenie dotyczące rozmiaru czcionki poniżej 10 pikseli nie jest renderowane zgodnie z opisem w przypadku języka arabskiego, perskiego, japońskiego, koreańskiego, tajskiego, chińskiego tradycyjnego i uproszczonego.
Od wersji Chrome 118 ograniczenie rozmiaru czcionki mniejszego niż 10 pikseli w przypadku chińskiego tradycyjnego, arabskiego, perskiego, japońskiego, koreańskiego, tajskiego, uproszczonyego i japońskiego nie obowiązuje.

Angażuj i dziel się opiniami

Jeśli chcesz podzielić się z nami opinią na temat tych funkcji, zgłoś to na stronie crbug.com.