सीएसएस टेक्स्ट मॉड्यूल लेवल 4 से, सीएसएस की चार नई अंतरराष्ट्रीय सुविधाएं Chrome में लॉन्च की जा रही हैं. इस पोस्ट में बताया गया है कि कौनसी सुविधाएं पहले ही लॉन्च हो चुकी हैं और कौनसी जल्द ही लॉन्च होने वाली हैं.
- Chrome 119 से:
word-break: auto-phrase
के साथ जैपनीज़ फ़्रेज़ लाइन ब्रेकिंग. - Chrome 120 से मिले फ़्लैग के पीछे:
text-autospace
प्रॉपर्टी के साथ इंटर-स्क्रिप्ट स्पेस. - अभी काम चल रहा है:
text-spacing-trim
प्रॉपर्टी की मदद से, चाइनीज़, जैपनीज़, और कोरियन (CJK) विराम चिह्नों के लिए कर्निंग. - सभी भाषाओं में फ़ॉन्ट का साइज़ एक जैसा होना चाहिए.
जापानी वाक्यांश के लिए लाइन ब्रेक: word-break: auto-phrase
इस सुविधा की मदद से, जैपनीज़ टेक्स्ट पढ़ना आसान हो जाता है. यह सुविधा Chrome 119 में उपलब्ध है
पूर्वी एशिया की कुछ भाषाएं, जैसे कि चाइनीज़ या जैपनीज़, शब्दों को अलग करने के लिए स्पेस का इस्तेमाल नहीं करतीं. साथ ही, लाइनें किसी भी वर्ण के बीच में आ सकती हैं, भले ही वह किसी शब्द के बीच में हो. इन भाषाओं में, लाइन ब्रेक करने का यह सामान्य तरीका है. हालांकि, हेडिंग या कविताओं जैसे छोटे टेक्स्ट में, वाक्यांश की प्राकृतिक सीमाओं पर लाइनें रैप करना बेहतर होता है. जैपनीज़ में, इस सीमा को "बुनसेत्सु" कहा जाता है.
सीएसएस की नई सुविधा word-break: auto-phrase
से पता चलता है कि रैपिंग ऐसी सीमाओं पर होनी चाहिए.
<html lang="ja">
<style>
h1 {
word-break: auto-phrase;
}
</style>
<h1>窓ぎわのトットちゃん<h1>
सीमा का पता लगाने का काम, मशीन लर्निंग इंजन करता है. इसलिए, हो सकता है कि आपको मनमुताबिक नतीजे न मिलें. ऐसा होने पर, ब्रेक के पॉइंट को मैन्युअल तरीके से अडजस्ट किया जा सकता है. <wbr>
टैग या ज़ीरो विड्थ स्पेस (​
), ब्रेक करने की सुविधा को लागू करता है. वहीं, ज़ीरो विड्थ जॉइनर (‍
) ब्रेक करने की सुविधा को रोकता है.
窓ぎわの<wbr>トットちゃん
ユーザー<wbr>インターフェース
फ़िलहाल, Chrome पर यह सुविधा सिर्फ़ जैपनीज़ भाषा के लिए उपलब्ध है. इसके लिए, BudouX C++ पोर्ट का इस्तेमाल किया जाता है, जो AdaBoost ML टेक्नोलॉजी का इस्तेमाल करता है. इसके बारे में Google Developers Japan: BudouX: 読 हाथやက改イ話めमॉडल軽量分사ち書 acceptedडि के बारे में ज़्यादा पढ़ें.
हम Chrome के आने वाले वर्शन में, कोरियन और चाइनीज़ भाषाओं के लिए भी यह सुविधा उपलब्ध कराएंगे.
स्क्रिप्ट के बीच की स्पेसिंग: text-autospace
फ़िलहाल, यह सुविधा Chrome में फ़्लैग के तौर पर उपलब्ध है. इसकी जांच करने के लिए, Chrome 120 या उसके बाद के वर्शन में वेब प्लैटफ़ॉर्म की एक्सपेरिमेंटल सुविधाएं फ़्लैग (chrome://flags/#enable-experimental-web-platform-features
में मौजूद) को चालू करें.
चाइनीज़ और जैपनीज़ में कई स्क्रिप्ट, हॅन, लैटिन, और एसीएसआई अंक के साथ-साथ जैपनीज़ में हीरागाना और काताकाना का इस्तेमाल किया जाता है. नॉन-हान आइडियोग्राफ़िक स्क्रिप्ट से स्विच करते समय और उस पर वापस आते समय, थोड़ी जगह छोड़ने से टेक्स्ट को पढ़ने में आसानी होती है.
Chrome, डिफ़ॉल्ट रूप से इंटर-स्क्रिप्ट स्पेस शामिल करने की योजना बना रहा है. इस सुविधा की मदद से, वेब पर भी वही काम किया जा सकता है जो आम तौर पर प्रिंट किए गए कॉन्टेंट को पढ़ने में आसान बनाने के लिए किया जाता है.
इस विकल्प को बंद करने के लिए, text-autospace
प्रॉपर्टी का इस्तेमाल करें. इससे, स्पेसिंग को कंट्रोल किया जा सकता है.
text-autospace: no-autospace;
CJK विराम चिह्न के लिए केर्निंग: text-spacing-trim
नीचे दी गई सुविधा पर अभी काम चल रहा है. इसका मकसद यह है कि यह Chrome में डिफ़ॉल्ट रूप से चालू हो.
चाइनीज़, जैपनीज़, और कोरियन भाषाओं में, विराम चिह्न के बीच कर्निंग लागू करने से टेक्स्ट को पढ़ना आसान हो जाता है और टाइपोग्राफ़ी बेहतर होती है. ज़्यादातर प्रिंट किए गए कॉन्टेंट और वर्ड प्रोसेसर में, आज भी यह कर्निंग लागू होती है.
उदाहरण के लिए, CJK पीरियड और CJK क्लोज़ पैरेन्थिसिस को आम तौर पर, ग्लिफ़ स्पेस के दाएं आधे हिस्से में ग्लिफ़ के बीच के स्पेस के लिए डिज़ाइन किया जाता है, ताकि हर वर्ण के बीच एक जैसा स्पेस हो.
हालांकि, जब ये विराम चिह्न एक पंक्ति में दिखते हैं, तो ग्लिफ़ के बीच की जगह ज़्यादा हो जाती है. यहां दिए गए दो उदाहरणों में, दूसरा उदाहरण सही टाइपोग्राफ़ी है. सीजेके अवधि के दाएं हिस्से को हटा देना चाहिए.
डिफ़ॉल्ट तौर पर, इसकी सेटिंग से आम तौर पर अच्छे नतीजे मिलते हैं. हालांकि, डेवलपर अलग-अलग स्टाइल चुनने या कुछ मामलों में इसे बंद करने के लिए, text-spacing-trim प्रॉपर्टी का इस्तेमाल कर सकते हैं.
सभी भाषाओं में फ़ॉन्ट का कम से कम साइज़ एक जैसा होना चाहिए
Chrome 118 से पहले, 10 पिक्सल या उससे कम साइज़ के फ़ॉन्ट को बताए गए तरीके से रेंडर नहीं किया जाता था. हालांकि, अगर भाषा ऐरेबिक, फ़ारसी, जैपनीज़, कोरियन, थाई, सिंप्लिफ़ाइड या ट्रेडिशनल चाइनीज़ थी, तो उसे राउंड अप कर दिया जाता था. डेवलपर को छोटे टेक्स्ट को रेंडर करने के लिए किसी तरीके की ज़रूरत थी. उदाहरण के लिए, transform
प्रॉपर्टी का इस्तेमाल करके.
Chrome 118 से, सभी भाषाओं के लिए यह सीमा हटा दी गई है. ऐसा करने से, बाकी सभी भाषाओं के लिए यह सीमा उपलब्ध हो जाती है. इस बदलाव से, अन्य ब्राउज़र के साथ इंटरऑपरेबिलिटी (दूसरे सिस्टम के साथ काम करना) को बेहतर बनाया जा सकता है.
दिलचस्पी बढ़ाएं और सुझाव दें
अगर आपको इन सुविधाओं के बारे में कोई सुझाव, शिकायत या राय देनी है, तो कृपया crbug.com पर समस्या दर्ज करें.