- Unscii क्लासिक सिस्टम फ़ॉन्ट्स पर आधारित एक bitmap Unicode font set है, जो character cell art और terminal·programming environments दोनों के लिए उपयुक्त है
- इसके मुख्य versions हैं unscii-8(8×8 pixels) और unscii-16(8×16 pixels), और इनमें कई alternative styles तथा missing glyphs को पूरा करने वाला ‘full’ variant भी शामिल है
- Unicode 13.0 में ‘legacy computing’ characters जोड़े जाने को दर्शाते हुए Unscii 2.0 जारी किया गया, जिसमें पुराने errors ठीक किए गए, readability सुधारी गई और नए characters जोड़े गए
- Amiga, Commodore 64, IBM PC जैसे क्लासिक सिस्टम फ़ॉन्ट्स की visual characteristics का अध्ययन करके एक neutral और consistent form तैयार की गई
- यह legacy character art और modern Unicode environment को जोड़ने वाला टूल है, और ASCII art तथा terminal graphics को पुनर्सृजित करने में महत्वपूर्ण भूमिका निभाता है
Unscii परिचय
- Unscii, classic system fonts पर आधारित एक bitmap Unicode font set है
- यह character cell art के लिए उपयुक्त है, और terminal तथा programming environments में भी इस्तेमाल किया जा सकता है
- दो मुख्य variants: unscii-8 (8×8 pixels), unscii-16 (8×16 pixels)
- unscii-8 में कई alternative styles मौजूद हैं
- unscii-16-full में Fixedsys Excelsior और GNU Unifont के missing glyphs शामिल हैं
- unscii-16-full GPL के तहत है, बाकी variants public domain में हैं
- निर्माता हैं Viznut
Unscii 2.0
- Unicode 13.0(2020-03-10) में ‘legacy computing’ के लिए 214 graphic characters जोड़े गए
- इनमें PETSCII, Teletext/Videotex आदि के missing characters शामिल हैं
- Unscii 1.x में पहले से मौजूद characters को आधिकारिक Unicode mapping मिल गई
- Unscii 2.0 का मुख्य update reason यही mapping reflect करना था
- इसके अलावा कुछ characters के error fixes, readability improvements, और new character additions किए गए
- Unicode में वर्तमान में उपलब्ध characters की test images भी दी गई हैं
उदाहरण (EXAMPLES)
- Amiga ANSI art: Hellbeard का Divine Stylers, unscii-16 में render किया गया
- PC ANSI art: Rad Man का Ansi Love, unscii-16 में render किया गया
- Commodore 64 PETSCII चित्र: Redcrab का I Has Floppy, Dr.TerrorZ का The First Ball, Mermaid का Gary
- source code package में bitmap→Unscii converter शामिल है
- 256-color xterm palette का उपयोग करने वाला unscii-8 conversion example भी दिया गया है
डाउनलोड (DOWNLOADS)
- वास्तविक bitmap formats दो हैं: HEX और PCF
- HEX, Unifont project जैसा simple hexdump format है
- TTF, OTF, WOFF इसके vectorized versions हैं
- PCF version में U+FFFF से ऊपर के characters शामिल नहीं हैं
- लेकिन नए graphic characters PUA(Private Use Area) range में उपलब्ध कराए गए हैं
- mapping information
<uns2uni.tr>फ़ाइल में शामिल है
पृष्ठभूमि (BACKSTORY)
- Unicode में pseudographic characters मौजूद हैं, लेकिन ANSI art में इनका लगभग उपयोग नहीं होता
- MUD आदि में भी सिर्फ MS-DOS codepage 437 के block characters उपयोग किए जाते थे
- इसका कारण यह था कि मौजूदा Unicode fonts में non-CP437 graphic characters का implementation अधूरा था
- Unicode Consortium की pseudographic implementation में रुचि कम थी
- “फ़ॉन्ट नहीं तो art नहीं, art नहीं तो फ़ॉन्ट नहीं” जैसा vicious cycle मौजूद था
- इसे हल करने के लिए Unscii को एक art-compatible Unicode font के रूप में विकसित किया गया
डिज़ाइन आधार
- 8×8 system fonts को line thickness के आधार पर 1-pixel type और 2-pixel type में बाँटा जा सकता है
- Unscii ने 2-pixel type अपनाया, क्योंकि इससे क्लासिक सिस्टम्स के बीच समानता अधिक रही और neutral form बनाना आसान हुआ
- 8×8 version के visual base systems:
- Amiga (Topaz-8), Amstrad CPC, Atari 8-bit/Arcade/32-bit, BBC Micro, Commodore 64, IBM PC (CGA/VGA 80×50)
- 8×16 version, 8×8 को conversion principles के अनुसार विस्तार देकर बनाया गया
- reference fonts: Windows Fixedsys, IBM PC VGA, X Window 8x13/9x15, Macintosh Monaco, Digital VT420, DejaVu Sans Mono, Lucida Console, Inconsolata
- neutral form को प्राथमिकता दी गई, लेकिन जहाँ art connectivity या readability ज़रूरी थी वहाँ समायोजन किया गया
- उदाहरण:
/\\XYमें ASCII art connectivity बनाए रखी गई,iIlके serifs को लंबा समायोजित किया गया
- उदाहरण:
- जिन 8×16 glyphs की परिभाषा नहीं है, उन्हें 8×8 के height-doubled version से बदला गया
अतिरिक्त variants और character mapping
- game fonts और thin-line fonts का अध्ययन करके unscii-8-thin, unscii-8-mcr, unscii-8-fantasy बनाए गए
- Unicode में न होने वाले सैकड़ों characters को PUA क्षेत्र में map किया गया
- U+E080..E0FF: Teletext/Videotex block mosaics
- U+E100.. : PETSCII, Videotex smooth mosaics, additional shading, rounded corners आदि
- U+E800.. : irregular लेकिन उपयोगी cross-lines, diagonals, non-linear patterns आदि
- U+EC00.. : game-oriented bitmaps जैसे विशेष characters
- Unicode 13.0 के बाद कुछ characters आधिकारिक Unicode में शामिल हो गए, लेकिन compatibility के लिए PUA mapping बरकरार रखी गई
1 टिप्पणियां
Hacker News की राय
थोड़ा विषय से हटकर है, लेकिन संबंधित बात है
पहले जब मैं HTML + Canvas से Invaders-जैसा गेम बना रहा था, तब IBM PC OEM fonts खोजते हुए मुझे VileR का The Ultimate Oldschool PC Font Pack मिला
अनगिनत ROMs से OEM fonts और उनके variants को बहाल करने में की गई मेहनत सचमुच चौंकाने वाली है
साइट सिर्फ बारीक archive ही नहीं देती, बल्कि live preview और aspect ratio correction जैसी सुविधाएँ भी देती है, इसलिए इसे खंगालना बहुत मज़ेदार है
मैंने वहाँ कई OEM fonts की तुलना करते हुए अपने प्रोजेक्ट के लिए सबसे उपयुक्त font ढूँढ़ने में घंटों बिताए
यह ANSI art जैसे retro use cases के लिए भी अच्छा है, और आधुनिक environment में भी पूरी तरह फिट बैठता है
मैंने Viznut के बनाए ऑडियो/विज़ुअल live coding tool IBNIZ का इस्तेमाल एक performance में किया है
वह सचमुच धाँसू अनुभव था
IBNIZ लिंक
उनके कामों की सूची Pouet प्रोफ़ाइल पर देखी जा सकती है
इसकी सनकीपन और जीनियस-भरी ऊर्जा से ईर्ष्या होती है, और उम्मीद है कि इसे देखकर उसका थोड़ा असर मुझ पर भी हुआ होगा
मेरा local Nerd Font कुछ graphic glyphs को support नहीं करता
अच्छा होगा अगर ऐसे हिस्से जोड़े जाएँ
lsof से जाँचने पर पता चला कि कई fonts fallback के रूप में इस्तेमाल हो रहे थे
DejaVuSans, DroidSansFallback, Segoe UI Symbol जैसी कई fonts मिलकर आखिर में पूरी तरह सही rendering दे रही थीं
मैं अभी एक MUD बना रहा हूँ, और ये fonts बिल्कुल वही style हैं जिसकी मुझे तलाश थी
बिल्कुल सही समय पर शेयर करने के लिए धन्यवाद
terminal में Sixel support आखिरकार आने लगा है
Sixel wiki को देखें तो ऐसा लगता है जैसे 40 साल बाद फिर वहीं लौट आए हों
9600bps serial link पर बिना compressed color raster data भेजना एक भयानक idea था
अब gigabit environment है, तो user का समय कम बर्बाद होता है, लेकिन फिर भी यह CPU और complexity की बर्बादी है
इसकी जगह काश web browser में FTP या Gopher support होता
Constantine Bytensky का cnxt font भी कुछ इसी तरह का है
अगर आपको unscii पसंद है, तो cnxt भी पसंद आएगा
CNXT का मतलब “Constantine’s Nine x Twenty” है
साइट अभी खुल नहीं रही, लेकिन मैंने एक side project बनाया था जो किसी भी monospace font में काम करता है
यह binary को Unicode में बदलता है और फिर वापस भी, और control characters को संबंधित symbols से बदल देता है
printable-binary प्रोजेक्ट
एक UTF-8 character (1~3 bytes) input data के 1 byte के बराबर होता है, इसलिए औसतन आकार लगभग 70% बढ़ जाता है, लेकिन
इससे UTF-8 समझने वाले किसी भी माध्यम में binary independence मिल जाती है
लेकिन असली सेवाओं में base64 आकार को सिर्फ 33% बढ़ाता है, इसलिए वह ज़्यादा efficient हो सकता है
ऐसे fonts सचमुच बहुत शानदार हैं
मुझे उनकी ASCII art वाली vibe की याद आती है, इसलिए मैंने उसे अपने blogging platform lmno.lol में banner के रूप में जोड़ा है
Unscii शानदार है
मैंने पहले एक सरल Unscii art editor बनाया था जो mobile पर भी चल सके
unicode-drawing-club.netlify.app
favicon, The Grate Book of Moo के logo से लगभग एक जैसा या बहुत मिलता-जुलता लगता है
हो सकता है Hacker News पर यह reference बहुत niche हो, लेकिन शायद कुछ लोग इसे पहचान लें