এএনএসআই রঙ পালানোর ক্রমগুলির তালিকা


224

বেশিরভাগ টার্মিনালে \033এএনএসআই এস্কেপ ক্রম ব্যবহার করে আউটপুট রঙিন করা সম্ভব ।

আমি সমস্ত সমর্থিত রঙ এবং বিকল্পগুলির একটি তালিকা খুঁজছি (যেমন উজ্জ্বল এবং জ্বলজ্বলে)।

যেহেতু টার্মিনালগুলিকে সমর্থন করে তাদের মধ্যে সম্ভবত পার্থক্য রয়েছে, আমি মূলত এক্সটার্ম-সামঞ্জস্যপূর্ণ টার্মিনাল দ্বারা সমর্থিত ক্রমগুলিতে আগ্রহী।


আসলে, আপনি উইন্ডোজ সেমিডিতে রঙ ব্যবহার করতে পারেন। stackoverflow.com/questions/41207496/…
জোয়েল

উত্তর:


508

আপনি যে এএনএসআই এস্কেপ সিকোয়েন্সগুলি সন্ধান করছেন সেটি হ'ল সিলেক্ট গ্রাফিক রেন্ডেশন সাবসেট। এগুলির সকলেরই ফর্ম রয়েছে

\033[XXXm

যেখানে XXXসেমিকোলন-বিচ্ছিন্ন পরামিতিগুলির একটি সিরিজ।

আপনি যে সি লিখতে পারেন তা পাঠ্যকে লাল, সাহসী এবং আন্ডারলাইন করুন (আমরা নীচে আরও অনেক বিকল্প নিয়ে আলোচনা করব):

printf("\033[31;1;4mHello\033[0m");

সি ++ এ আপনি ব্যবহার করবেন

std::cout<<"\033[31;1;4mHello\033[0m";

পাইথন 3 এ আপনি ব্যবহার করবেন

print("\033[31;1;4mHello\033[0m")

এবং বাশে আপনি ব্যবহার করতে চান

echo -e "\033[31;1;4mHello\033[0m"

যেখানে প্রথম অংশটি পাঠ্যকে লাল ( 31), গা bold় ( 1), আন্ডারলাইন করা ( 4) এবং শেষ অংশটি এই সমস্ত ( 0) পরিষ্কার করে ।

নীচের সারণিতে বর্ণিত হিসাবে, আপনি সেট করতে পারেন এমন বিশাল সংখ্যক পাঠ্য বৈশিষ্ট্য রয়েছে, যেমন সাহস, ফন্ট, আন্ডারলাইনিং এবং সি। ( স্ট্যাকওভারফ্লো আপনাকে উত্তরে সঠিক সারণী রাখার অনুমতি দেয় না এমন নির্বোধ নয় কি ?)

ফন্ট প্রভাব

╔══════════╦════════════════════════════════╦═════════════════════════════════════════════════════════════════════════╗
║  Code    ║             Effect             ║                                   Note                                  ║
╠══════════╬════════════════════════════════╬═════════════════════════════════════════════════════════════════════════╣
║ 0        ║  Reset / Normal                ║  all attributes off                                                     ║
║ 1        ║  Bold or increased intensity   ║                                                                         ║
║ 2        ║  Faint (decreased intensity)   ║  Not widely supported.                                                  ║
║ 3        ║  Italic                        ║  Not widely supported. Sometimes treated as inverse.                    ║
║ 4        ║  Underline                     ║                                                                         ║
║ 5        ║  Slow Blink                    ║  less than 150 per minute                                               ║
║ 6        ║  Rapid Blink                   ║  MS-DOS ANSI.SYS; 150+ per minute; not widely supported                 ║
║ 7        ║  [[reverse video]]             ║  swap foreground and background colors                                  ║
║ 8        ║  Conceal                       ║  Not widely supported.                                                  ║
║ 9        ║  Crossed-out                   ║  Characters legible, but marked for deletion.  Not widely supported.    ║
║ 10       ║  Primary(default) font         ║                                                                         ║
║ 11–19    ║  Alternate font                ║  Select alternate font `n-10`                                           ║
║ 20       ║  Fraktur                       ║  hardly ever supported                                                  ║
║ 21       ║  Bold off or Double Underline  ║  Bold off not widely supported; double underline hardly ever supported. ║
║ 22       ║  Normal color or intensity     ║  Neither bold nor faint                                                 ║
║ 23       ║  Not italic, not Fraktur       ║                                                                         ║
║ 24       ║  Underline off                 ║  Not singly or doubly underlined                                        ║
║ 25       ║  Blink off                     ║                                                                         ║
║ 27       ║  Inverse off                   ║                                                                         ║
║ 28       ║  Reveal                        ║  conceal off                                                            ║
║ 29       ║  Not crossed out               ║                                                                         ║
║ 30–37    ║  Set foreground color          ║  See color table below                                                  ║
║ 38       ║  Set foreground color          ║  Next arguments are `5;<n>` or `2;<r>;<g>;<b>`, see below                       ║
║ 39       ║  Default foreground color      ║  implementation defined (according to standard)                         ║
║ 40–47    ║  Set background color          ║  See color table below                                                  ║
║ 48       ║  Set background color          ║  Next arguments are `5;<n>` or `2;<r>;<g>;<b>`, see below                       ║
║ 49       ║  Default background color      ║  implementation defined (according to standard)                         ║
║ 51       ║  Framed                        ║                                                                         ║
║ 52       ║  Encircled                     ║                                                                         ║
║ 53       ║  Overlined                     ║                                                                         ║
║ 54       ║  Not framed or encircled       ║                                                                         ║
║ 55       ║  Not overlined                 ║                                                                         ║
║ 60       ║  ideogram underline            ║  hardly ever supported                                                  ║
║ 61       ║  ideogram double underline     ║  hardly ever supported                                                  ║
║ 62       ║  ideogram overline             ║  hardly ever supported                                                  ║
║ 63       ║  ideogram double overline      ║  hardly ever supported                                                  ║
║ 64       ║  ideogram stress marking       ║  hardly ever supported                                                  ║
║ 65       ║  ideogram attributes off       ║  reset the effects of all of 60-64                                      ║
║ 90–97    ║  Set bright foreground color   ║  aixterm (not in standard)                                              ║
║ 100–107  ║  Set bright background color   ║  aixterm (not in standard)                                              ║
╚══════════╩════════════════════════════════╩═════════════════════════════════════════════════════════════════════════╝

2 বিট রঙ

আপনি এটি ইতিমধ্যে পেয়েছেন!

4-বিট রঙ

টার্মিনাল রঙগুলি প্রয়োগকারী মানগুলি সীমিত (4-বিট) বিকল্পগুলির সাথে শুরু হয়েছিল। নীচের টেবিলটি বিভিন্ন ধরণের টার্মিনাল এমুলেটরগুলির দ্বারা ব্যবহৃত পটভূমি এবং ফোরগ্রাউন্ড রঙগুলির আরজিবি মান তালিকাভুক্ত করে:

বিভিন্ন টার্মিনাল এমুলেটর দ্বারা প্রয়োগ করা এএনএসআই রঙের সারণী

উপরেরটি ব্যবহার করে, আপনি ব্যবহার করে একটি সবুজ পটভূমিতে লাল পাঠ্য তৈরি করতে পারেন (তবে কেন?):

\033[31;42m

১১ টি রং (একটি অন্তরঙ্গ)

তাদের "বেসিক রঙের শর্তাদি: তাদের সার্বভৌমত্ব এবং বিবর্তন" গ্রন্থে, ব্রেন্ট বার্লিন এবং পল কে এগারোটি সম্ভাব্য মৌলিক বর্ণ বিভাগগুলি শনাক্ত করার জন্য বিভিন্ন ভাষার পরিবার থেকে বিশটি বিভিন্ন ভাষা থেকে সংগৃহীত ডেটা ব্যবহার করেছেন: সাদা, কালো, লাল, সবুজ, হলুদ, নীল, বাদামী, বেগুনি, গোলাপী, কমলা এবং ধূসর

বার্লিন এবং কায়ে সন্ধান করেছেন যে, সর্বাধিক এগারোর বর্ণ বিভাগের চেয়ে কম ভাষাগুলিতে রঙগুলি একটি নির্দিষ্ট বিবর্তনীয় ধরণ অনুসরণ করে। এই প্যাটার্নটি নিম্নরূপ:

  1. সমস্ত ভাষায় কালো (শীতল রং) এবং সাদা (উজ্জ্বল রঙ) এর শর্তাদি রয়েছে।
  2. যদি কোনও ভাষাতে তিনটি পদ থাকে, তবে এতে লাল রঙের একটি শব্দ থাকে।
  3. যদি কোনও ভাষাতে চারটি পদ থাকে, তবে এতে সবুজ বা হলুদ (তবে উভয় নয়) একটি শব্দ রয়েছে।
  4. যদি কোনও ভাষায় পাঁচটি পদ থাকে তবে এতে সবুজ এবং হলুদ উভয়ের জন্য পদ রয়েছে।
  5. যদি কোনও ভাষাতে ছয়টি পদ থাকে, তবে এতে নীল রঙের একটি শব্দ রয়েছে।
  6. যদি কোনও ভাষাতে সাতটি পদ থাকে, তবে এতে বাদামির একটি শব্দ রয়েছে।
  7. যদি কোনও ভাষাতে আট বা ততোধিক শর্তাদি থাকে তবে এতে বেগুনি, গোলাপী, কমলা বা ধূসর বর্ণ রয়েছে।

এটি হতে পারে কারণ গল্পের বিউওল্ফের মধ্যে কেবল কালো, সাদা এবং লাল রঙ রয়েছে। এটিও হতে পারে কেন বাইবেলে নীল রঙ থাকে না। হোমার ওডিসিতে প্রায় 200 বার কালো এবং প্রায় 100 বার সাদা থাকে। লাল 15 বার প্রদর্শিত হয়, যখন হলুদ এবং সবুজ মাত্র 10 বার প্রদর্শিত হয়। ( আরও তথ্য এখানে )

ভাষার মধ্যে পার্থক্যগুলিও আকর্ষণীয়: ইংরেজি বনাম চীনা দ্বারা ব্যবহৃত পৃথক বর্ণের শব্দগুলির অনুগ্রহটি নোট করুন। যাইহোক, এই ভাষাগুলির আরও গভীর খনন দেখায় যে প্রত্যেকে পৃথক উপায়ে রঙ ব্যবহার করে। ( আরও তথ্য )

চাইনিজ বনাম ইংরেজি বর্ণের নাম।  চিত্র "muyueh.com" থেকে অভিযোজিত

সাধারণভাবে বলতে গেলে, মানুষের ভাষায় রঙের নামকরণ, ব্যবহার এবং গোষ্ঠীগুলি আকর্ষণীয়। এখন, শোতে ফিরে আসুন।

8-বিট (256) রঙ

প্রযুক্তি উন্নত, এবং 256 প্রাক-নির্বাচিত রঙের টেবিলগুলি নীচে দেখানো হিসাবে উপলভ্য হয়েছিল।

এএনএসআই এস্কেপ সিকোয়েন্সগুলির জন্য 256-বিট রঙ মোড

উপরের এগুলি ব্যবহার করে আপনি গোলাপী পাঠ্যটি এর মতো করতে পারেন:

\033[38;5;206m     #That is, \033[38;5;<FG COLOR>m

এবং ব্যবহার করে খুব ভোরে নীল পটভূমি তৈরি করুন

\033[48;5;57m      #That is, \033[48;5;<BG COLOR>m

এবং অবশ্যই, আপনি এগুলি একত্রিত করতে পারেন:

\033[38;5;206;48;5;57m

8-বিট রঙগুলি এমনভাবে সাজানো হয়েছে:

0x00-0x07:  standard colors (same as the 4-bit colours)
0x08-0x0F:  high intensity colors
0x10-0xE7:  6 × 6 × 6 cube (216 colors): 16 + 36 × r + 6 × g + b (0 ≤ r, g, b ≤ 5)
0xE8-0xFF:  grayscale from black to white in 24 steps

সমস্ত রঙ

এখন আমরা ভবিষ্যতে বাস করছি, এবং সম্পূর্ণ আরজিবি বর্ণালী ব্যবহার করে উপলভ্য:

\033[38;2;<r>;<g>;<b>m     #Select RGB foreground color
\033[48;2;<r>;<g>;<b>m     #Select RGB background color

সুতরাং আপনি ব্যবহার করে বাদামী রঙের পটভূমিতে গোলাপী পাঠ্য রাখতে পারেন

\033[38;2;255;82;197;48;2;155;106;0mHello

"সত্য রঙ" টার্মিনালের জন্য সমর্থন এখানে তালিকাভুক্ত করা হয়েছে

উপরের বেশিরভাগটি উইকিপিডিয়া পৃষ্ঠা " এএনএসআই এস্কেপ কোড " থেকে আঁকা ।

নিজেকে স্মরণ করিয়ে দেওয়ার জন্য একটি সহজ স্ক্রিপ্ট

যেহেতু আমি প্রায়শই রঙগুলি কী তা মনে করার চেষ্টা করার অবস্থাতেই আমার কাছে একটি সহজ স্ক্রিপ্ট বলা হয় ~/bin/ansi_colours:

#!/usr/bin/python

print "\\033[XXm"

for i in range(30,37+1):
    print "\033[%dm%d\t\t\033[%dm%d" % (i,i,i+60,i+60);

print "\033[39m\\033[39m - Reset colour"
print "\\033[2K - Clear Line"
print "\\033[<L>;<C>H OR \\033[<L>;<C>f puts the cursor at line L and column C."
print "\\033[<N>A Move the cursor up N lines"
print "\\033[<N>B Move the cursor down N lines"
print "\\033[<N>C Move the cursor forward N columns"
print "\\033[<N>D Move the cursor backward N columns"
print "\\033[2J Clear the screen, move to (0,0)"
print "\\033[K Erase to end of line"
print "\\033[s Save cursor position"
print "\\033[u Restore cursor position"
print " "
print "\\033[4m  Underline on"
print "\\033[24m Underline off"
print "\\033[1m  Bold on"
print "\\033[21m Bold off"

এই মুদ্রণ

সাধারণ এএনএসআই রঙ


4
এএনএসআই এস্কেপ কোডগুলির সম্পূর্ণ সেট: ascii-table.com/ansi-escape-sequences-vt-100.php
ফর্মিক্সিয়ান

3
@ গ্যাস্টি: উভয়ই echo -e "\033[38;05;34;1mHi"এবং echo -e "\033[38;05;34m\033[1mHi"আমার পক্ষে কাজ করেছেন, যদিও অ্যান্টি-এলিয়াসিং ফন্টের প্রভাবগুলির কারণে আমি টার্মিনালে এই বিষয়ে পরীক্ষা করে যাচ্ছিলাম তার মধ্যে বর্ণের অধীনে রঙের চেহারা কিছুটা পরিবর্তিত হয়েছিল।
রিচার্ড

4
SGR ( \033[) 38 ও 48 দিয়ে শুরু কোডগুলি কর্তব্য সঙ্গে অন্যথায় সংরক্ষিত বিচ্ছিন্ন হতে :যদিও এই সময়ে প্রাথমিক উৎস থেকে সম্পূর্ণরূপে স্পষ্ট নয় উপ-বিভাজক হিসাবে: ecma-international.org/publications/files/ECMA-ST/Ecma -048.pdf এবং itu.int/rec/… । এছাড়াও কিছু ব্যাখ্যা ব্যাখ্যায় রঙের স্পেস আইডি 2(16 এম-কালার আরজিবি) / 3(16 এম-কালার সিএমওয়াই) / 4(??? সিএমওয়াইকে) ফর্মগুলিতে ভুলে যায় - যেমন এটি \033[38:2::255:255:255mহোয়াইট 16 এম ফোরগ্রাউন্ডের জন্য হওয়া উচিত \033[38:2:255:255:255m!
স্লিএসভেন

2
আমি এই সম্পর্কে যাচ্ছি তার কারণ হ'ল একটি প্রকল্প মুডলেট আই কোডটি উভয় ফর্ম পরিচালনা করতে হয়েছে এবং এটি আরও ভাল কাজ করার জন্য আমি সম্প্রতি আমার
কনুইগুলিতে উঠে এসেছি

4
আমি কেবল এএনএসআই রঙের একটি তালিকা খুঁজে পেতে চেয়েছিলাম এবং "বেসিক রঙের শর্তাদি" র নিবন্ধগুলি পড়ার জন্য অনেক বেশি সময় ব্যয় করেছি। মহান বিভ্রান্তির জন্য ধন্যবাদ! :)
মজুথার

14

কেমন:

ECMA-48 - কোডেড ক্যারেক্টার সিটগুলির জন্য নিয়ন্ত্রণ কার্যকারিতা, 5 তম সংস্করণ (জুন 1991) - রঙ নিয়ন্ত্রণ কোডগুলি সংজ্ঞায়িত করার একটি মান, যা স্পষ্টতই xterm দ্বারা সমর্থিত।

এসজিআর 38 এবং 48 মূলত ইসিএমএ-48 দ্বারা সংরক্ষিত ছিল, তবে কয়েক বছর পরে একটি যৌথ আইটিইউ, আইইসি, এবং আইএসও স্ট্যান্ডার্ডে প্রকাশিত হয়েছিল, যা বেশ কয়েকটি অংশে আসে এবং যা (অন্যান্য অনেক কিছুর মধ্যে) এসজিআর নথিভুক্ত করে জন্য 38/48 নিয়ন্ত্রণ সিকোয়েন্স সরাসরি রঙ এবং সূচীবদ্ধ রঙ :

এএনএসআই এস্কেপ কোডগুলির জন্য উইকিপিডিয়া পৃষ্ঠায় এই টেবিলে এক্সটারমের জন্য একটি কলাম রয়েছে



4

এটি আপনার টার্মিনালের সাথে একেবারে সম্পর্কিত। VTE চোখ পিট পিট সমর্থন করে না, আপনি ব্যবহার করেন তাহলে gnome-terminal, tilda, guake, terminator, xfce4-terminalএবং তাই VTE অনুযায়ী, আপনি চোখ পিট পিট নেই করব।
আপনি যদি ভিটিইতে পলক ব্যবহার করেন বা ব্যবহার করতে চান তবে আপনাকে ব্যবহার করতে হবে xterm
আপনি টার্মিনাল নামের সাথে ইনফোকম্প কম্যান্ড ব্যবহার করতে পারেন:

#infocmp vt100 
#infocmp xterm 
#infocmp vte 

উদাহরণ স্বরূপ :

# infocmp vte
#   Reconstructed via infocmp from file: /usr/share/terminfo/v/vte
vte|VTE aka GNOME Terminal,
    am, bce, mir, msgr, xenl,
    colors#8, cols#80, it#8, lines#24, ncv#16, pairs#64,
    acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
    bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
    cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
    cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
    cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
    cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
    dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
    el=\E[K, enacs=\E)0, home=\E[H, hpa=\E[%i%p1%dG, ht=^I,
    hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m,
    is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8,
    kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
    kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C,
    kb2=\E[E, kbs=\177, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB,
    kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kend=\EOF, kf1=\EOP,
    kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[1;2P,
    kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~,
    kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~,
    kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~,
    kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R,
    kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~,
    kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~,
    kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~,
    kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R, kf4=\EOS,
    kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~,
    kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
    kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~,
    kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R,
    kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
    kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
    kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
    kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
    kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khome=\EOH,
    kich1=\E[2~, kind=\E[1;2B, kmous=\E[M, knp=\E[6~,
    kpp=\E[5~, kri=\E[1;2A, kslt=\E[4~, meml=\El, memu=\Em,
    op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, ritm=\E[23m,
    rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
    rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, rs1=\Ec,
    rs2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
    sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
    sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p5%t;2%;%?%p7%t;8%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;,
    sgr0=\E[0m\017, sitm=\E[3m, smacs=^N, smam=\E[?7h,
    smcup=\E7\E[?47h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m,
    smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
    u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,

ভিটিই 0.52 / জিনোম-টার্মিনাল 3.28 ব্ল্যাকিংয়ের পাঠ্যের জন্য সমর্থন যোগ করে (এবং এটি অন্যান্য ভিটিই-ভিত্তিক এমুলেটরগুলিতেও কাজ করবে)।
egmont

1

এইগুলির জন্য যারা উল্লিখিত ভাষা ব্যতীত যথাযথ ফলাফল পান না, আপনি যদি কনসোল (টার্মিনাল) উইন্ডোতে একটি পাঠ্য মুদ্রণ করতে সি # ব্যবহার করেন তবে আপনাকে "\ x3b " দিয়ে "\ 033" প্রতিস্থাপন করা উচিত । ভিজ্যুয়াল বেসিক এ ক্রু (27) হবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.