लेखन

शून्य-किलोबाइट फ़ॉन्ट स्टैक

·3 min read

इस पृष्ठ का अनुवाद AI की सहायता से किया गया है। अंग्रेज़ी मूल ही प्रामाणिक है।

फ़ॉन्ट लोडिंग रणनीति की हर चर्चा — प्रीलोडिंग, सबसेटिंग, font-display की ट्यूनिंग — उस निर्णय के बाद की बात है जिसे अधिकांश टीमें कभी सचेत रूप से लेती ही नहीं: फ़ॉन्ट लोड करने हैं भी या नहीं। उच्च-प्रदर्शन एप्लिकेशनों के एक बड़े वर्ग के लिए सही टाइपफ़ेस-चुनाव वही है जो उपयोगकर्ता की मशीन पर पहले से स्थापित है। शून्य किलोबाइट, शून्य अनुरोध, शून्य लेआउट शिफ़्ट — पहले ही पेंट पर पठनीय।

दो लोडिंग समय-रेखाएँ: सिस्टम स्टैक शून्य मिलीसेकंड पर रेंडर होता है; वेबफ़ॉन्ट पहले फ़ॉलबैक टेक्स्ट दिखाता है और धीमे कनेक्शन पर एक सेकंड से अधिक समय बाद स्वैप होता है।

"सिस्टम स्टैक" का अब क्या अर्थ है

मैं पुराने Arial, sans-serif वाले पल्ला झाड़ने की बात नहीं कर रहा। आधुनिक सिस्टम स्टैक एक सुविचारित रचना है:

font-family: ui-sans-serif, system-ui, -apple-system,
  "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

वह एक अकेली घोषणा आपको Apple उपकरणों पर San Francisco, Windows पर Segoe UI और Android पर Roboto दिला देती है — तीन ऐसे टाइपफ़ेस जिन्हें परिपूर्ण बनाने पर प्लेटफ़ॉर्म-विक्रेताओं ने अपनी-अपनी स्क्रीनों के लिए मिलकर करोड़ों डॉलर ख़र्च किए हैं, और जिन्हें वही इंजन हिंट और रेंडर करते हैं जो उन्हें सबसे अच्छी तरह जानते हैं। आपके उपयोगकर्ता इन्हें दिन-भर पढ़ते हैं; परिचय अपने-आप में एक सुपाठ्यता (legibility) विशेषता है — यह बात टाइपफ़ेस-चयन पर Universal Web का अध्याय विस्तार से करता है।

सेरिफ़ और मोनो स्टैक भी उतनी ही सावधानी के हक़दार हैं: पढ़ने की सतहों के लिए ui-serif/Georgia/Charter, और कोड व डेटा के लिए ui-monospace/SF Mono/Consolas/"Cascadia Code"। इस साइट का अपना डिस्प्ले टाइपफ़ेस ठीक इसी तर्क पर चलता है — जिनके पास व्यावसायिक टाइपफ़ेस है उनके लिए वह, बाक़ी सबके लिए एक सधी हुई फ़ॉलबैक श्रृंखला।

शून्य कब सही संख्या है

निर्णय इस पर टिका है कि इंटरफ़ेस है क्या। सिस्टम स्टैक तब जीतते हैं जब उत्पाद एक औज़ार हो: डैशबोर्ड, एडमिन पैनल, ट्रेडिंग और मॉनिटरिंग इंटरफ़ेस, डेवलपर उत्पाद — हर वह चीज़ जो घंटे-घंटे इस्तेमाल होती है और जहाँ टाइपोग्राफ़ी का काम है ओझल हो जाना। ऐसे एप्लिकेशनों में फ़ॉन्ट शुद्ध बुनियादी ढाँचा है — रात तीन बजे पेज करने वाली चीज़ के टाइपफ़ेस की तारीफ़ कोई नहीं करता — और प्रदर्शन-बजट डेटा पर ख़र्च होना बेहतर है।

ब्रांड टाइपफ़ेस अपनी बाइटों का हक़ तब अदा करता है जब उत्पाद एक स्थान हो: मार्केटिंग सतहें, संपादकीय पठन, हर वह जगह जहाँ टाइपोग्राफ़ी पहचान ढोती है। यह पोर्टफ़ोलियो जान-बूझकर वेबफ़ॉन्ट भेजता है; इसकी टाइपोग्राफ़ी ही इसकी विषयवस्तु है। यही कसौटी है — अगर आप कस्टम टाइपफ़ेस हटा दें, तो क्या उत्पाद का अर्थ घटेगा, या वह बस तेज़ लोड होगा?

फ़ॉलबैक की इंजीनियरिंग ऐसे कीजिए जैसे वही फ़ॉन्ट हो

शून्य-किलोबाइट स्टैक का शिल्प है मीट्रिक-अनुशासन। अलग-अलग प्लेटफ़ॉर्म-टाइपफ़ेसों की एक्स-हाइट (x-height) और चौड़ाइयाँ अलग-अलग होती हैं, इसलिए केवल macOS पर सधा लेआउट Windows पर अलग तरह से साँस लेगा। तीन औज़ार इस अंतर को पाटते हैं:

  • font-size-adjust फ़ॉलबैक की एक्स-हाइट को सामान्य कर देता है, ताकि श्रृंखला का हर टाइपफ़ेस एक ही प्रभावी आकार में पढ़ा जाए।
  • text-wrap: balance और pretty मीट्रिक-असंगत टाइपफ़ेसों के बीच पंक्ति-विच्छेद के अंतर सोख लेते हैं।
  • वास्तविक स्टैक पर परीक्षण — वह अनुशासन जिसे कोई नहीं निभाता। इंटरफ़ेस के स्क्रीनशॉट Segoe, SF और Roboto में लीजिए; जहाँ डिज़ाइन इनमें से केवल एक में चलता है, वहाँ डिज़ाइन ही ग़लत है।
शून्य-किलोबाइट स्टैक कोई समझौते की स्थिति नहीं है। जब एप्लिकेशन एक औज़ार हो, तो प्रदर्शन और टाइपोग्राफ़ी दोनों को गंभीरता से लेने का यही रूप है — और इसे सचेत रूप से, सतह-दर-सतह चुनना उस टीम की पहचान है जो जानती है कि उसकी टाइपोग्राफ़ी किसलिए है।