Przedstawiamy 4 nowe funkcje międzynarodowe w CSS

Jack J
Jack J

W Chrome pojawią się 4 nowe międzynarodowe funkcje CSS z poziomu 4 modułu tekstowego CSS. Z tego posta dowiesz się, co już zostało wysłane i co pojawi się wkrótce.

  • Od Chrome 119: japońskie łamanie wyrazów za pomocą znaku word-break: auto-phrase.
  • Flaga w Chrome 120: odstęp między skryptami z użyciem właściwości text-autospace.
  • W trakcie opracowywania: znaki interpunkcyjne w językach chińskim, japońskim i koreańskim (CJK) z właściwością text-spacing-trim.
  • spójny minimalny rozmiar czcionki w różnych językach;

Przerwy w japońskich zwrotach: word-break: auto-phrase

Ta funkcja ułatwia czytanie tekstu w języku japońskim i jest dostępna od wersji 119.

Niektóre języki wschodnioazjatyckie, np. chiński czy japoński, nie używają spacji do rozdzielania słów, a wiersze mogą się łamać w dowolnym miejscu, nawet jeśli jest to środek słowa. Jest to normalne zachowanie w przypadku tych języków, ale w krótkich tekstach, takich jak nagłówki czy wiersze poetyckie, zaleca się przenoszenie wierszy na naturalnych granicach wyrazów (w języku japońskim granica ta nosi nazwę „bunsetsu”).

Nowa funkcja CSS word-break: auto-phrase określa, że zawijanie powinno się odbywać na takich granicach.

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

<h1>窓ぎわのトットちゃん<h1>
word-break: automatyczne zawijanie wiersza na granicy naturalnego wyrażenia.
word-break: auto-phrase zawija wiersz w miejscu naturalnego podziału wyrażenia.

Wykrywanie granic jest wykonywane przez system uczenia maszynowego, dlatego może nie przynieść oczekiwanych rezultatów. W takim przypadku możesz ręcznie dostosować punkty przełamania. Tag <wbr> lub odstęp o zerowej szerokości (&ZeroWidthSpace;) narzuca punkt łamany, a łącznik o zerowej szerokości (&zwj;) zapobiega przerwie.

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

Obecnie Chrome obsługuje tę funkcję tylko w przypadku języka japońskiego, korzystając z portu BudouX w C++, który wykorzystuje technologię uczenia maszynowego AdaBoost. Więcej informacji znajdziesz w artykule Google Developers Japan: BudouX: 読みやすい改行のための軽量な分かち書き器.

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

Odstęp między skryptami: text-autospace

Ta funkcja jest obecnie dostępna w Chrome za pomocą flagi. Aby przetestować tę funkcję, włącz flagę Eksperymentalne funkcje platformy internetowej (znajdziesz ją na stronie chrome://flags/#enable-experimental-web-platform-features) w Chrome 120 lub nowszej.

W języku chińskim i japońskim występują różne pismo: Han, łacińskie, cyfry ASCII oraz pismo Hiragana i Katakana. Małe odstępy między znakami podczas przełączania się między pismem ideograficznym niebędącym pismem han często ułatwiają czytelność.

Chrome planuje zacząć domyślnie wstawiać odstępy między skryptami. Ta funkcja wprowadza do internetu powszechną praktykę stosowaną w materiałach drukowanych w celu poprawy czytelności.

Nowe domyślne ustawienie powoduje stosowanie małych odstępów między znakami w celu poprawy czytelności. Można je kontrolować za pomocą atrybutu text-autospace.
Nowa domyślna wartość powoduje stosowanie małych odstępów dla lepszej czytelności. Można ją kontrolować za pomocą text-autospace.

Jeśli chcesz wyłączyć to zachowanie, możesz użyć właściwości text-autospace, aby kontrolować wstawianie spacji.

text-autospace: no-autospace;

Interlinia znaków interpunkcyjnych w językach CJK: text-spacing-trim

Ta funkcja jest w trakcie tworzenia, aby można było ją włączyć domyślnie w Chrome.

W językach chińskim, japońskim i koreańskim zastosowanie kerningu między znakami interpunkcyjnymi poprawia czytelność i tworzy bardziej atrakcyjną wizualnie typografię. Obecnie większość materiałów drukowanych i procesorów tekstowych stosuje tę wartość.

Na przykład kropki i zamykające nawiasy w językach CJK są zwykle zaprojektowane tak, aby w prawej połowie odstępu między glifami znajdowały się odstępy wewnątrz glifu, dzięki czemu każdy znak ma stały przyrost.

Gdy jednak te znaki interpunkcyjne pojawiają się w rzędzie, odstępy wewnątrz znaku stają się nadmierne. W tych 2 przykładach drugi jest poprawną typografią; należy usunąć prawą połowę znaku interpunkcyjnego CJK.

Gdy znaki interpunkcyjne występują w rzędzie, należy usunąć prawą połowę kropki w systemie CJK.
Jeśli znaki interpunkcyjne występują w wierszu, należy usunąć prawą połowę znaku kropki w systemie CJK.

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

spójny minimalny rozmiar czcionki w różnych językach;

Przed wersją 118 Chrome rozmiary czcionek mniejsze niż 10 pikseli nie były renderowane zgodnie z określeniami, ale zaokrąglane w górę, jeśli językiem był arabski, farsi, japoński, koreański, tajski, chiński uproszczony lub chiński tradycyjny. Programiści musieli stosować obejścia, aby renderować mały tekst, np. za pomocą właściwości transform.

Od wersji 118 Chrome ten limit został zniesiony we wszystkich językach, dzięki czemu te 7 języków ma takie same zasady jak pozostałe. Ta zmiana poprawia interoperacyjność z innymi przeglądarkami.

W wersji 118 Chrome usunięto ograniczenie, które powodowało, że czcionki o rozmiarze poniżej 10 pikseli nie były renderowane zgodnie z oczekiwaniami w przypadku języków: arabski, farsi, japoński, koreański, tajski, chiński uproszczony i tradycyjny.
W Chrome 118 usunięto ograniczenie, które powodowało, że czcionki o rozmiarze mniejszym niż około 10 pikseli nie były renderowane zgodnie z oczekiwaniami w przypadku arabskiego, farsi, japońskiego, koreańskiego, tajskiego, chińskiego uproszczonego lub tradycyjnego.

Uzyskiwanie opinii i ich udostępnianie

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