- यह एक monospace फ़ॉन्ट है जो प्रोग्रामिंग भाषाओं में अक्सर इस्तेमाल होने वाले प्रतीकों को अक्षरों के बराबर महत्व देता है, और code editor में दृश्य सामंजस्य को लक्ष्य बनाता है
- ASCII प्रतीक-केंद्रित डिज़ाइन के ज़रिए
->, ::, =~ जैसे multi-character symbols के alignment को बेहतर बनाता है, और संतुलित मोटाई व स्पष्ट भेद प्रदान करता है
- भाषा-विशिष्ट पठनीयता को ध्यान में रखते हुए Perl, Haskell, C आदि में symbols और operators के रूप को स्पष्ट रूप से दिखाता है
- अभी यह single weight और non-ligature रूप में उपलब्ध है, तथा Linux के fontconfig·pango वातावरण में synthetic bold को support करता है
- SIL Open Font License 1.1 के तहत वितरित किया गया है, इसलिए इसे स्वतंत्र रूप से उपयोग और संशोधित किया जा सकता है
Myna का परिचय
- Myna एक monospace फ़ॉन्ट है जो प्रतीकों को first-class glyphs की तरह संभालता है, और प्रोग्रामिंग भाषाओं में प्रतीकों की visual consistency बढ़ाने पर केंद्रित है
- यह
->, $, @, % जैसे प्रतीकों के उन असहज दिखने वाले रूपों की समस्या को हल करता है जो पारंपरिक फ़ॉन्ट्स में अक्सर दिखते हैं
- ASCII की सरलता बनाए रखते हुए Ligature के aesthetic effect की नकल करता है
प्रमुख विशेषताएँ
- Symbol-First Design: प्रोग्रामिंग भाषाओं में व्यापक रूप से उपयोग होने वाले ASCII प्रतीकों को केंद्र में रखकर डिज़ाइन
- alignment की सटीकता:
->, >>=, :: जैसे multi-character symbols की alignment सटीकता बढ़ाकर code readability में सुधार
- संतुलित मोटाई (Weight): प्रतीकों और अक्षरों के बीच contrast को सामंजस्यपूर्ण बनाए रखता है
- न्यूनतम रूप: quotation marks और comma जैसी चीज़ों को geometric रूप में सरल किया गया है
- स्पष्ट भेदयोग्यता:
1, l, I, |, 0, O, o जैसे भ्रमित करने वाले characters के बीच भेद को मजबूत किया गया है
- भाषा-संवेदी डिज़ाइन: Perl के Sigil, Haskell के operators, और C के symbolic expressions को अलग-अलग स्पष्ट रूप से दर्शाता है
विकास पृष्ठभूमि और वर्तमान स्थिति
- मौजूदा monospace फ़ॉन्ट्स के सूक्ष्म glyph details से असंतुष्ट होकर इसे सीधे स्वयं बनाया गया
- डेवलपर ने इसे पेशेवर और व्यक्तिगत प्रोजेक्ट्स में लंबे समय तक इस्तेमाल करने के बाद सार्वजनिक किया
- वर्तमान में यह single weight, non-Ligature version के रूप में उपलब्ध है, और भविष्य में मांग के अनुसार इसका विस्तार संभव है
- Linux वातावरण में fontconfig और pango के माध्यम से synthetic bold support
- SIL Open Font License 1.1 लागू
- शुरुआती संस्करण Hera (Source Code Pro आधारित customization) से शुरू हुआ
- Fira Mono, Inconsolata, Plex Mono, Office Code Pro, Anonymous Pro जैसे विभिन्न फ़ॉन्ट्स की खूबियों से प्रेरित होकर इसे आगे विकसित किया गया
आगे की योजना
- terminal और editor दोनों में व्यापक उपयोग को लक्ष्य बनाया गया है
- कुछ non-ASCII glyphs (जैसे geometric और mathematical symbols) शामिल हैं
- community feedback के आधार पर glyph विस्तार और feature additions की योजना है
2 टिप्पणियां
मैं JetBrains फ़ॉन्ट इस्तेमाल करता हूँ, इसलिए यह दिलचस्प लग रहा है।
Hacker News की राय
मैंने हाल ही में Iosevka (उच्चारण Joseph) पर स्विच किया, और वजह यही सादगी थी
Iosevka GitHub लिंक
मज़ेदार बात यह है कि इस फ़ॉन्ट का source code इतना साफ़-सुथरा है कि उसे सच में पढ़ा जा सकता है
इसका पिछला संस्करण Hera, Source Code Pro को customize करके बनाया गया non-condensed संस्करण था
सच कहूँ तो “symbol-heavy भाषा के लिए फ़ॉन्ट” वाली बात मुझे ठीक से समझ नहीं आई। symbols तो काफ़ी सामान्य दिखते हैं। क्या बस spacing थोड़ा ज़्यादा है?
->,>>=,::जैसे multi-character symbols एकदम सही aligned दिखते हैंफ़ॉन्ट काफ़ी सुंदर है। बस sample में emdash (—) character शायद नहीं दिख रहा। मैं Markdown बहुत इस्तेमाल करता हूँ, और कई programming fonts इस character को ठीक से नहीं दिखाते
screenshot दूसरी fonts की तुलना में काफ़ी मूल्यांकन में मददगार है
फिर भी अगर इसकी मांग है, तो मैं सुधार पर विचार करूँगा
कई दूसरे fonts की तरह इस फ़ॉन्ट में भी vertical arrows (↑↓) का alignment अटपटा लगता है
^character मूल रूप से typewriter दौर के circumflex accent के लिए था। इसलिए इसकी ऊँचाई असममित है। मुझे लगता है कि caret का निचला हिस्साvके साथ symmetric होता तो बेहतर होता↑इस्तेमाल करना बेहतर नहीं होगा?vसे तुलना करना भी ठीक नहीं हैफ़ॉन्ट को predictable shapes बनाए रखने चाहिए
“
->तीर जैसा नहीं दिखता” वाली शिकायत का असली हल यह है कि ←→ जैसे असली arrows इस्तेमाल किए जाएँ। उम्मीद है कि कभी languages बेहतर typography quality को support करेंगीJuliaMono Julia भाषा के पूर्ण Unicode support के लिए बनाया गया फ़ॉन्ट है
फ़ॉन्ट सुंदर है, लेकिन ऊपर दिख रहे “Lorem” में अक्षरों के बीच spacing कुछ ज़्यादा लग रही है, इसलिए kerning थोड़ा अजीब लगता है। व्यक्तिगत रूप से यह मुझे खटकता है
Ligatures डेवलपर्स के बीच काफ़ी विवादास्पद विषय हैं
कुछ लोगों को लगता है कि इससे code ज़्यादा सुंदर और पढ़ने में आसान हो जाता है, जबकि कुछ का मानना है कि “symbols छिपाना बेकार या बेईमानी” है
और कुछ लोग कहते हैं कि “अगर languages Unicode को ठीक से support करतीं, तो ligatures की ज़रूरत ही नहीं पड़ती”
आख़िरकार इस project ने तीनों पक्षों को एक साथ छेड़ दिया, और शायद इसी वजह से यह और दिलचस्प लग रहा है। मैंने GitHub पर star दे दिया
लगता है symbols, lowercase letters के बगल में कुछ ज़्यादा ऊँचाई पर रखे गए हैं। शायद brackets के alignment से match कराने की कोशिश का असर है। visual balance थोड़ा कमज़ोर लगता है
परंपरा तोड़ने से readability बेहतर हो सकती है। hyphen को
>के साथ align करके arrow shape बनाने के लिए डिज़ाइन किया गया हैMyna UI नाम का एक icon font पहले से मौजूद है। इससे भ्रम हो सकता है