উত্তর:
ConEmu xterm 256 রঙ এক্সটেনশানের সঙ্গে ANSI X3.64 সমর্থন করে। আমি এই কনসোল এমুলেটরটির লেখক।
আনসি ক্রমগুলি সমস্ত প্রক্রিয়াগুলির জন্য পরিচালিত হয়, কনেমু ট্যাবগুলিতে চলছে।
আফাইক, কনেমু আনসিকনের চেয়ে বেশি কোড সমর্থন করে।
এই পৃষ্ঠার উত্তরের কোনওটিতেই এএনএসআই টার্মিনাল কন্ট্রোলের জন্য নতুন সমর্থনটির একটি গুরুত্বপূর্ণ দিকটি উল্লেখ করা হয়নি যা উইন্ডোজ 10 কনসোল হোস্টে 16257 (এবং পরবর্তী) বিল্ডে যুক্ত হয়েছিল। যেমন, এটা হচ্ছে সক্ষম করা ডিফল্ট ভাবে। আপনি যে নির্দিষ্ট সফ্টওয়্যারটি ব্যবহার করছেন তা যদি না এ্যাঙ্কের সাথে সেটকনসোলমোডি এপিআই কল করে এএনএসআই প্রসেসিং সক্ষম করে , আপনি সেই অ্যাপ্লিকেশনের জন্য রঙ দেখতে পাবেন না বা এএনএসআই প্রসেসিং পাবেন না।ENABLE_VIRTUAL_TERMINAL_PROCESSING (0x0400)
ENABLE_VIRTUALQLMINAL_PROCESSING 0x0004
https://docs.microsoft.com/en-us/windows/console/setconsolemodeWritFile বা WritConsole দিয়ে লেখার সময় , ভিটি 100 এবং অনুরূপ নিয়ন্ত্রণের অক্ষর অনুসারে যেগুলি কার্সার চলাচল, রঙ / ফন্ট মোড এবং অন্যান্য ক্রিয়াকলাপগুলিকে বিদ্যমান কনসোল এপিআইয়ের মাধ্যমে সম্পাদন করা যায় তার জন্য অক্ষরগুলি পার্স করা হয়। আরও তথ্যের জন্য কনসোল ভার্চুয়াল টার্মিনাল সিকোয়েন্সগুলি দেখুন।
আমি এই পৃষ্ঠার কাজের উদাহরণগুলিতে দেখানো কারণটি অনুমান করছি যে স্পষ্টতই echo
আদেশটি (বা সম্ভবত ব্যাচ-প্রসেসিং অংশ CMD.EXE
বা এর conhost
) কেবলমাত্র উল্লিখিত এপিআইতে কল করে এএনএসআই প্রসেসিং সক্ষম করে। তবে অন্যান্য অনেক সরঞ্জাম বা এক্সিকিউটেবল যা এটি লিখতে stdin
বা stdout
নাও করতে পারে, সেই ক্ষেত্রে আপনি এই প্রক্রিয়াগুলির জন্য রঙ দেখতে পাবেন না।
ভাগ্যক্রমে, গ্লোবাল ডিফল্টটিকে অপ্ট-ইন থেকে অপ্ট-আউট থেকে পরিবর্তন করা যেতে পারে । HKEY_CURRENT_USER\Console\VirtualTerminalLevel
এএনজিআই এস্কেপ সিকোয়েন্সগুলি প্রক্রিয়াজাতকরণের জন্য রেজিস্ট্রি কী বিশ্বব্যাপী ডিফল্ট আচরণ সেট করে। একটি DWORD
কী তৈরি করুন (যদি প্রয়োজন হয়) এবং ডিফল্টরূপে এএনএসআই প্রসেসিংকে 1
বিশ্বব্যাপী সক্ষম করতে (বা 0
অক্ষম করতে) এর মান সেট করুন ।
[HKEY_CURRENT_USER \ কনসোল] "VirtualTerminalLevel" = DWORD: 00000001
নোট করুন যে এই রেজিস্ট্রি সেটিংটি একটি ডিফল্টকে নিয়ন্ত্রণ করে , এর অর্থ এটি কেবলমাত্র কনসোল অ্যাপ্লিকেশনগুলিকেই প্রভাবিত করে যা স্পষ্টভাবে কল করে কনসোল মোডটি ম্যানিপুলেট করে না SetConsoleMode(...)
। এটা যে অনুসরণ করে, যখন রেজিস্ট্রি মান সাহায্য করতে পারে সক্ষম জন্য ANSI কনসোল-মোড-অন্যমনস্ক অ্যাপ্লিকেশান, এটা কোনো কোনো প্রভাব থাকবে কনসোল-মোড-কাণ্ডজ্ঞান অ্যাপ্লিকেশন যা (কিছু কারণে) স্পষ্টভাবে may নিষ্ক্রিয় ANSI।
উইন্ডোজ 10 টিএইচ 2 (v1511) থেকে শুরু করে conhost.exe
(এবং এক্সটেনশনের মাধ্যমে cmd.exe
) এএনএসআই এস্কেপ সিকোয়েন্সগুলি বিশেষ রঙগুলিতে সমর্থন করে:
কনসোল ভার্চুয়াল টার্মিনাল সিকোয়েন্স সম্পর্কে দুটিই MSDN পৃষ্ঠা ব্যাখ্যা করে সিকোয়েন্স কি সমর্থিত এবং কিভাবে সেগুলিকে সক্ষম করতে:
আপনি এই আচরণটি কনফিগার করতে গেটকনসোলমোড এবং সেটকনসোলমোড পতাকা ব্যবহার করতে পারেন । [...]
নিম্নলিখিত ক্রমগুলির আচরণটি ভিটি 100 এবং উত্পন্ন টার্মিনাল এমুলেটর প্রযুক্তির উপর নির্ভর করে, বিশেষত এক্সটার্ম টার্মিনাল এমুলেটর। টার্মিনাল ক্রম সম্পর্কে আরও তথ্য http://vt100.net এবং http://invisible-island.net/xterm/ctlseqs/ctlseqs.html এ পাওয়া যাবে ।
উইন্ডোজের জন্য এমন কোন কনসোল এমুলেটর রয়েছে যা এএনএসআই বর্ণের ব্যাখ্যা করে?
উইন্ডোজ 10 এর আগে - কনসোলে এএনএসআই রঙের জন্য কোনও দেশীয় সমর্থন নয়
10 এর নীচে উইন্ডোজ সংস্করণের জন্য, উইন্ডোজ কমান্ড কনসোলটি ডিফল্টরূপে আউটপুট রঙিন সমর্থন করে না। আপনি ইনস্টল করতে পারে পারেন Cmder , ConEmu , ANSICON বা Mintty (GitBash এবং Cygwin ডিফল্টরূপে ব্যবহৃত) আপনার উইন্ডোজ কমান্ড কনসোলে সমর্থন শোভা যোগ করতে।
উইন্ডোজ 10 - কমান্ড লাইন রং
উইন্ডোজ 10 থেকে শুরু করে উইন্ডোজ কনসোলটি এএনএসআই এস্কেপ সিকোয়েন্স এবং ডিফল্টরূপে কিছু রঙ সমর্থন করে।
ডেমো
ব্যাচ কমান্ড
win10colors.cmd
দ্বারা লিখিত হয় মিশেল Locati :
@echo off
cls
echo [101;93m STYLES [0m
echo ^<ESC^>[0m [0mReset[0m
echo ^<ESC^>[1m [1mBold[0m
echo ^<ESC^>[4m [4mUnderline[0m
echo ^<ESC^>[7m [7mInverse[0m
echo.
echo [101;93m NORMAL FOREGROUND COLORS [0m
echo ^<ESC^>[30m [30mBlack[0m (black)
echo ^<ESC^>[31m [31mRed[0m
echo ^<ESC^>[32m [32mGreen[0m
echo ^<ESC^>[33m [33mYellow[0m
echo ^<ESC^>[34m [34mBlue[0m
echo ^<ESC^>[35m [35mMagenta[0m
echo ^<ESC^>[36m [36mCyan[0m
echo ^<ESC^>[37m [37mWhite[0m
echo.
echo [101;93m NORMAL BACKGROUND COLORS [0m
echo ^<ESC^>[40m [40mBlack[0m
echo ^<ESC^>[41m [41mRed[0m
echo ^<ESC^>[42m [42mGreen[0m
echo ^<ESC^>[43m [43mYellow[0m
echo ^<ESC^>[44m [44mBlue[0m
echo ^<ESC^>[45m [45mMagenta[0m
echo ^<ESC^>[46m [46mCyan[0m
echo ^<ESC^>[47m [47mWhite[0m (white)
echo.
echo [101;93m STRONG FOREGROUND COLORS [0m
echo ^<ESC^>[90m [90mWhite[0m
echo ^<ESC^>[91m [91mRed[0m
echo ^<ESC^>[92m [92mGreen[0m
echo ^<ESC^>[93m [93mYellow[0m
echo ^<ESC^>[94m [94mBlue[0m
echo ^<ESC^>[95m [95mMagenta[0m
echo ^<ESC^>[96m [96mCyan[0m
echo ^<ESC^>[97m [97mWhite[0m
echo.
echo [101;93m STRONG BACKGROUND COLORS [0m
echo ^<ESC^>[100m [100mBlack[0m
echo ^<ESC^>[101m [101mRed[0m
echo ^<ESC^>[102m [102mGreen[0m
echo ^<ESC^>[103m [103mYellow[0m
echo ^<ESC^>[104m [104mBlue[0m
echo ^<ESC^>[105m [105mMagenta[0m
echo ^<ESC^>[106m [106mCyan[0m
echo ^<ESC^>[107m [107mWhite[0m
echo.
echo [101;93m COMBINATIONS [0m
echo ^<ESC^>[31m [31mred foreground color[0m
echo ^<ESC^>[7m [7minverse foreground ^<-^> background[0m
echo ^<ESC^>[7;31m [7;31minverse red foreground color[0m
echo ^<ESC^>[7m and nested ^<ESC^>[31m [7mbefore [31mnested[0m
echo ^<ESC^>[31m and nested ^<ESC^>[7m [31mbefore [7mnested[0m