diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/256colors.pl | 63 | ||||
-rw-r--r-- | util/CMakeLists.txt | 161 | ||||
-rw-r--r-- | util/UTF-8-demo.txt | 212 | ||||
-rw-r--r-- | util/ansicode.txt | 779 | ||||
-rw-r--r-- | util/config.h.in | 22 | ||||
-rw-r--r-- | util/fuzz.c | 31 |
6 files changed, 0 insertions, 1268 deletions
diff --git a/util/256colors.pl b/util/256colors.pl deleted file mode 100644 index c97c2be9..00000000 --- a/util/256colors.pl +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/perl -# Author: Todd Larason <jtl@molehill.org> -# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.2 2002/03/26 01:46:43 dickey Exp $ - -# use the resources for colors 0-15 - usually more-or-less a -# reproduction of the standard ANSI colors, but possibly more -# pleasing shades - -# colors 16-231 are a 6x6x6 color cube -for ($red = 0; $red < 6; $red++) { - for ($green = 0; $green < 6; $green++) { - for ($blue = 0; $blue < 6; $blue++) { - printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\", - 16 + ($red * 36) + ($green * 6) + $blue, - ($red ? ($red * 40 + 55) : 0), - ($green ? ($green * 40 + 55) : 0), - ($blue ? ($blue * 40 + 55) : 0)); - } - } -} - -# colors 232-255 are a grayscale ramp, intentionally leaving out -# black and white -for ($gray = 0; $gray < 24; $gray++) { - $level = ($gray * 10) + 8; - printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\", - 232 + $gray, $level, $level, $level); -} - - -# display the colors - -# first the system ones: -print "System colors:\n"; -for ($color = 0; $color < 8; $color++) { - print "\x1b[48;5;${color}m "; -} -print "\x1b[0m\n"; -for ($color = 8; $color < 16; $color++) { - print "\x1b[48;5;${color}m "; -} -print "\x1b[0m\n\n"; - -# now the color cube -print "Color cube, 6x6x6:\n"; -for ($green = 0; $green < 6; $green++) { - for ($red = 0; $red < 6; $red++) { - for ($blue = 0; $blue < 6; $blue++) { - $color = 16 + ($red * 36) + ($green * 6) + $blue; - print "\x1b[48;5;${color}m "; - } - print "\x1b[0m "; - } - print "\n"; -} - - -# now the grayscale ramp -print "Grayscale ramp:\n"; -for ($color = 232; $color < 256; $color++) { - print "\x1b[48;5;${color}m "; -} -print "\x1b[0m\n"; diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt deleted file mode 100644 index 4c54cc2d..00000000 --- a/util/CMakeLists.txt +++ /dev/null @@ -1,161 +0,0 @@ -# $Id: CMakeLists.txt,v 1.1 2009-05-13 23:32:21 nicm Exp $ - -cmake_minimum_required(VERSION 2.4) - -# Project name and version. -project(TMUX) -set(VERSION 0.9) -set(DEBUG 1) - -# Compiler flags. Mostly disabled unless a debug build. -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBUILD=\\\"${VERSION}\\\"") -if(DEFINED DEBUG) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W -Wno-long-long") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wnested-externs -Wformat=2") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-prototypes -Wstrict-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations -Wwrite-strings") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wshadow -Wpointer-arith -Wcast-qual") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wsign-compare -Wmissing-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes -Wmissing-declarations") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wwrite-strings -Wundef -Winline") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wbad-function-cast -Wcast-align") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDEBUG -g -ggdb") -endif(DEFINED DEBUG) - -# glibc follows the principle of most surprise, so feed it some extra flags. -if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE -D_POSIX_SOURCE") -endif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - -# Add source directory as include path. -include_directories(${TMUX_SOURCE_DIR}) - -# Initialise libraries with ncurses. -set(NEEDED_LIBRARIES ncurses) - -# Platform in lowercase. Used later on for some filenames. -string(TOLOWER ${CMAKE_SYSTEM_NAME} LOWER_NAME) - -# Build list of source files and sort out the osdep-* file choice. This is -# a bit if a hack and needs to be changed... -file(GLOB SOURCE_FILES "*.c") -string(REGEX REPLACE - "${TMUX_SOURCE_DIR}/osdep-[a-z]*.c;" "" SOURCE_FILES "${SOURCE_FILES}") -if(EXISTS "osdep-${LOWER_NAME}.c") - set(SOURCE_FILES "${SOURCE_FILES};osdep-${LOWER_NAME}.c") -else(EXISTS "osdep-${LOWER_NAME}.c") - set(SOURCE_FILES "${SOURCE_FILES};osdep-unknown.c") -endif(EXISTS "osdep-${LOWER_NAME}.c") - -# This crap is needed for checks done later... -include(CheckFunctionExists) -include(CheckVariableExists) -include(CheckIncludeFiles) -include(CheckSymbolExists) -include(CheckLibraryExists) - -# Deal with some further glibc stupidity and figure out if -lcrypt is needed. -check_function_exists(crypt HAVE_CRYPT) -if(NOT HAVE_CRYPT) - set(NEEDED_LIBRARIES "${NEEDED_LIBRARIES};crypt") -endif(NOT HAVE_CRYPT) - -# See if forkpty exists and which header it is in. -check_library_exists(util forkpty "" HAVE_FORKPTY) -if(HAVE_FORKPTY) - set(NEEDED_LIBRARIES "${NEEDED_LIBRARIES};util") - - check_include_files(util.h HAVE_UTIL_H) - if(NOT HAVE_UTIL_H) - check_include_files(libutil.h HAVE_LIBUTIL_H) - if(NOT HAVE_LIBUTIL_H) - check_include_files(pty.h HAVE_PTY_H) - endif(NOT HAVE_LIBUTIL_H) - endif(NOT HAVE_UTIL_H) -else(HAVE_FORKPTY) - # No forkpty. Try and get a compat/forkpty-* file. - set(SOURCE_FILES "${SOURCE_FILES};compat/forkpty-${LOWER_NAME}.c") -endif(HAVE_FORKPTY) - -# Look for __progname. -check_variable_exists(__progname HAVE_PROGNAME) - -# Check for paths.h. -check_include_files(paths.h HAVE_PATHS_H) - -# Check for sys/{tree,queue}.h. -check_include_files(sys/tree.h HAVE_TREE_H) -check_include_files(sys/queue.h HAVE_QUEUE_H) - -# queue.h without TAILQ_REPLACE is no use at all. -check_symbol_exists(TAILQ_REPLACE sys/queue.h HAVE_TAILQ_REPLACE) -if(NOT HAVE_TAILQ_REPLACE) - set(HAVE_QUEUE_H 0) -endif(NOT HAVE_TAILQ_REPLACE) - -# Check for setproctitle. -check_function_exists(setproctitle HAVE_SETPROCTITLE) - -# Check for vsyslog. -check_function_exists(vsyslog HAVE_VSYSLOG) - -# Check for asprintf. -check_function_exists(asprintf HAVE_ASPRINTF) -if(NOT HAVE_ASPRINTF) - set(SOURCE_FILES "${SOURCE_FILES};compat/asprintf.c") -endif(NOT HAVE_ASPRINTF) - -# Check for daemon. -check_function_exists(daemon HAVE_DAEMON) -if(NOT HAVE_DAEMON) - set(SOURCE_FILES "${SOURCE_FILES};compat/daemon.c") -endif(NOT HAVE_DAEMON) - -# Check for a getopt with optreset. -check_symbol_exists(getopt getopt.h HAVE_GETOPT) -if(HAVE_GETOPT) - check_symbol_exists(optreset getopt.h HAVE_OPTRESET) - if(NOT HAVE_OPTRESET) - # This does double duty on Linux - glibc getopt is broken (not - # POSIX-compliant, and no sane way to make it so at build time), - # but happily it also lacks BSD optreset, so this check will - # catch it. - set(HAVE_GETOPT 0) - endif(NOT HAVE_OPTRESET) -endif(HAVE_GETOPT) -if(NOT HAVE_GETOPT) - set(SOURCE_FILES "${SOURCE_FILES};compat/getopt.c") -endif(NOT HAVE_GETOPT) - -# Check for fgetln. -check_function_exists(fgetln HAVE_FGETLN) -if(NOT HAVE_FGETLN) - set(SOURCE_FILES "${SOURCE_FILES};compat/fgetln.c") -endif(NOT HAVE_FGETLN) - -# Check for strlcat. -check_function_exists(strlcat HAVE_STRLCAT) -if(NOT HAVE_STRLCAT) - set(SOURCE_FILES "${SOURCE_FILES};compat/strlcat.c") -endif(NOT HAVE_STRLCAT) - -# Check for strlcpy. -check_function_exists(strlcpy HAVE_STRLCPY) -if(NOT HAVE_STRLCPY) - set(SOURCE_FILES "${SOURCE_FILES};compat/strlcpy.c") -endif(NOT HAVE_STRLCPY) - -# Check for strtonum. -check_function_exists(strtonum HAVE_STRTONUM) -if(NOT HAVE_STRTONUM) - set(SOURCE_FILES "${SOURCE_FILES};compat/strtonum.c") -endif(NOT HAVE_STRTONUM) - -# Point install locations. -INSTALL(PROGRAMS tmux DESTINATION bin) -INSTALL(FILES tmux.1 DESTINATION man/man1) - -# Sort out the config.h file and finish everything off. -configure_file(config.h.in config.h) -add_executable(tmux ${SOURCE_FILES}) -target_link_libraries(tmux ${NEEDED_LIBRARIES}) diff --git a/util/UTF-8-demo.txt b/util/UTF-8-demo.txt deleted file mode 100644 index 4363f27b..00000000 --- a/util/UTF-8-demo.txt +++ /dev/null @@ -1,212 +0,0 @@ - -UTF-8 encoded sample plain-text file -‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ - -Markus Kuhn [ˈmaʳkʊs kuːn] <http://www.cl.cam.ac.uk/~mgk25/> — 2002-07-25 - - -The ASCII compatible UTF-8 encoding used in this plain-text file -is defined in Unicode, ISO 10646-1, and RFC 2279. - - -Using Unicode/UTF-8, you can write in emails and source code things such as - -Mathematics and sciences: - - ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ - ⎪⎢⎜│a²+b³ ⎟⎥⎪ - ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ - ⎪⎢⎜⎷ c₈ ⎟⎥⎪ - ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ - ⎪⎢⎜ ∞ ⎟⎥⎪ - ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ - ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ - 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭ - -Linguistics and dictionaries: - - ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn - Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ] - -APL: - - ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈ - -Nicer typography in plain text files: - - ╔══════════════════════════════════════════╗ - ║ ║ - ║ • ‘single’ and “double” quotes ║ - ║ ║ - ║ • Curly apostrophes: “We’ve been here” ║ - ║ ║ - ║ • Latin-1 apostrophe and accents: '´` ║ - ║ ║ - ║ • ‚deutsche‘ „Anführungszeichen“ ║ - ║ ║ - ║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║ - ║ ║ - ║ • ASCII safety test: 1lI|, 0OD, 8B ║ - ║ ╭─────────╮ ║ - ║ • the euro symbol: │ 14.95 € │ ║ - ║ ╰─────────╯ ║ - ╚══════════════════════════════════════════╝ - -Combining characters: - - STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑ - -Greek (in Polytonic): - - The Greek anthem: - - Σὲ γνωρίζω ἀπὸ τὴν κόψη - τοῦ σπαθιοῦ τὴν τρομερή, - σὲ γνωρίζω ἀπὸ τὴν ὄψη - ποὺ μὲ βία μετράει τὴ γῆ. - - ᾿Απ᾿ τὰ κόκκαλα βγαλμένη - τῶν ῾Ελλήνων τὰ ἱερά - καὶ σὰν πρῶτα ἀνδρειωμένη - χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά! - - From a speech of Demosthenes in the 4th century BC: - - Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, - ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς - λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ - τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ - εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ - πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν - οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, - οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν - ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον - τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι - γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν - προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους - σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ - τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ - τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς - τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. - - Δημοσθένους, Γ´ ᾿Ολυνθιακὸς - -Georgian: - - From a Unicode conference invitation: - - გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო - კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, - ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს - ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, - ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება - ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, - ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში. - -Russian: - - From a Unicode conference invitation: - - Зарегистрируйтесь сейчас на Десятую Международную Конференцию по - Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. - Конференция соберет широкий круг экспертов по вопросам глобального - Интернета и Unicode, локализации и интернационализации, воплощению и - применению Unicode в различных операционных системах и программных - приложениях, шрифтах, верстке и многоязычных компьютерных системах. - -Thai (UCS Level 2): - - Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese - classic 'San Gua'): - - [----------------------------|------------------------] - ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ - สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา - ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา - โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ - เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ - ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ - พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ - ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ - - (The above is a two-column text. If combining characters are handled - correctly, the lines of the second column should be aligned with the - | character above.) - -Ethiopian: - - Proverbs in the Amharic language: - - ሰማይ አይታረስ ንጉሥ አይከሰስ። - ብላ ካለኝ እንደአባቴ በቆመጠኝ። - ጌጥ ያለቤቱ ቁምጥና ነው። - ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። - የአፍ ወለምታ በቅቤ አይታሽም። - አይጥ በበላ ዳዋ ተመታ። - ሲተረጉሙ ይደረግሙ። - ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። - ድር ቢያብር አንበሳ ያስር። - ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። - እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። - የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። - ሥራ ከመፍታት ልጄን ላፋታት። - ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። - የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። - ተንጋሎ ቢተፉ ተመልሶ ባፉ። - ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። - እግርህን በፍራሽህ ልክ ዘርጋ። - -Runes: - - ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ - - (Old English, which transcribed into Latin reads 'He cwaeth that he - bude thaem lande northweardum with tha Westsae.' and means 'He said - that he lived in the northern land near the Western Sea.') - -Braille: - - ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ - - ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ - ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ - ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ - ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ - ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ - ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ - - ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ - - ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ - ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ - ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ - ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ - ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ - ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ - ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ - ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ - ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ - - (The first couple of paragraphs of "A Christmas Carol" by Dickens) - -Compact font selection example text: - - ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 - abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ - –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд - ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა - -Greetings in various languages: - - Hello world, Καλημέρα κόσμε, コンニチハ - -Box drawing alignment tests: █ - ▉ - ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ - ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ - ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ - ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ - ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ - ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ - ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ - ▝▀▘▙▄▟ diff --git a/util/ansicode.txt b/util/ansicode.txt deleted file mode 100644 index 8767b9e7..00000000 --- a/util/ansicode.txt +++ /dev/null @@ -1,779 +0,0 @@ -Summary of ANSI standards for ASCII terminals Joe Smith, 18-May-84 - -Contents: - 1. Overview and Definitions - 2. General rules for interpreting an ESCape Sequence - 3. General rules for interpreting a Control Sequence - 4. C0 and C1 control codes in numeric order - 5. Two and three-character ESCape Sequences in numeric order - 6. Control Sequences in numeric order - 7. VT100 emulation requirements - -The VT100 USER GUIDE and ANSI standard X3.64-1979 both list the ANSI ESCape -sequences in alphabetic order by mnemonic, but do not have a have a cross -reference in order by ASCII code. This paper lists the combination of all -definitions from the three ANSI standards in numeric order. For a description -of the advantages of using these standards, see the article "Toward -Standardized Video Terminals" in the April-1984 issue of BYTE magazine. - -ANSI X3.4-1977 defines the 7-bit ASCII character set (C0 and G0). It was -written in 1968, revised in 1977, and explains the decisions made in laying out -the ASCII code. In particular, it explains why ANSI chose to make ASCII -incompatible with EBCDIC in order to make it self-consistant. - -ANSI X3.41-1974 introduces the idea of an 8-bit ASCII character set (C1 and G1 -in addition to the existing C0 and G0). It describes how to use the 8-bit -features in a 7-bit environment. X3.41 defines the format of all ESCape -sequences, but defines only the 3-character ones with a parameter character -in the middle. These instruct the terminal how to interpret the C0, G0, C1, -and G1 characters (such as by selecting different character-set ROMs). - - Note: NAPLPS does videotex graphics by redefining the C1 set and - selecting alternate G0, G1, G2, and G3 sets. - See the February 1983 issue of BYTE magazine for details. - -ANSI X3.64-1979 defines the remaining ESCape sequences. It defines all the C1 -control characters, and specifies that certain two-character ESCape sequences -in the 7-bit environment are to act exactly like the 8-bit C1 control set. -X3.64 introduces the idea of a Control-Sequence, which starts with CSI -character, has an indefinite length, and is terminated by an alphabetic -character. The VT100 was one of the first terminals to implement this -standard. - -Definitions: - - Control Character - A single character with an ASCII code with the range - of 000 to 037 and 200 to 237 octal, 00 to 1F and 80 to 9F hex. - - Escape Sequence - A two or three character string staring with ESCape. - (Four or more character strings are allowed but not defined.) - - Control Sequence - A string starting with CSI (233 octal, 9B hex) or - with ESCape Left-Bracket, and terminated by an alphabetic character. - Any number of parameter characters (digits 0 to 9, semicolon, and - question mark) may appear within the Control Sequence. The terminating - character may be preceded by an intermediate character (such as space). -Character classifications: - -C0 Control 000-037 octal, 00-1F hex (G0 is 041-176 octal, 21-7E hex) -SPACE 040+240 octal, 20+A0 hex Always and everywhere a blank space -Intermediate 040-057 octal, 20-2F hex !"#$%&'()*+,-./ -Parameters 060-077 octal, 30-3F hex 0123456789:;<=>? -Uppercase 100-137 octal, 40-5F hex @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ -Lowercase 140-176 octal, 60-7E hex `abcdefghijlkmnopqrstuvwxyz{|}~ -Alphabetic 100-176 octal, 40-7E hex (all of upper and lower case) -Delete 177 octal, 7F hex Always and everywhere ignored -C1 Control 200-237 octal, 80-9F hex 32 additional control characters -G1 Displayable 241-376 octal, A1-FE hex 94 additional displayable characters -Special 240+377 octal, A0+FF hex Same as SPACE and DELETE - -Note that in this paper, the terms uppercase, lowercase, and alphabetics -include more characters than just A to Z. - ------------------------------------------------------------------------------- - -General rules for interpreting an ESCape Sequence: - - An ESCape Sequence starts with the ESC character (033 octal, 1B hex). -The length of the ESCape Sequence depends on the character that immediately -follows the ESCape. - -If the next character is - C0 control: Interpret it first, then resume processing ESCape sequence. - Example: CR, LF, XON, and XOFF work as normal within an ESCape sequence. - Intermediate: Expect zero or more intermediates, a parameter terminates - a private function, an alphabetic terminates a standard sequence. - Example: ESC ( A defines standard character set, ESC ( 0 a DEC set. - Parameter: End of a private 2-character escape sequence. - Example: ESC = sets special keypad mode, ESC > clears it. - Uppercase: Translate it into a C1 control character and act on it. - Example: ESC D does indexes down, ESC M indexes up. (CSI is special) - Lowercase: End of a standard 2-character escape sequence. - Example: ESC c resets the terminal. - Delete: Ignore it, and continue interpreting the ESCape sequence - C1 and G1: Treat the same as their 7-bit counterparts - - Note that CSI is the two-character sequence ESCape left-bracket or the 8-bit -C1 code of 233 octal, 9B hex. CSI introduces a Control Sequence, which -continues until an alphabetic character is received. - -General rules for interpreting a Control Sequence: - -1) It starts with CSI, the Control Sequence Introducer. -2) It contains any number of parameter characters (0123456789:;<=>?). -3) It terminates with an alphabetic character. -4) Intermediate characters (if any) immediately precede the terminator. - -If the first character after CSI is one of "<=>?" (074-077 octal, 3C-3F hex), -then Control Sequence is to be interpreted according to private standards (such -as setting and resetting modes not defined by ANSI). The terminal should -expect any number of numeric parameters, separated by semicolons (073 octal, -3B hex). Only after the terminating alphabetic character is received should -the terminal act on the Control Sequence. - -============================================================================= - C0 set of 7-bit control characters (from ANSI X3.4-1977). - -Oct Hex Name * (* marks function used in DEC VT series or LA series terminals) ---- -- - --- - -------------------------------------------------------------- -000 00 @ NUL * Null filler, terminal should ignore this character -001 01 A SOH Start of Header -002 02 B STX Start of Text, implied end of header -003 03 C ETX End of Text, causes some terminal to respond with ACK or NAK -004 04 D EOT End of Transmission -005 05 E ENQ * Enquiry, causes terminal to send ANSWER-BACK ID -006 06 F ACK Acknowledge, usually sent by terminal in response to ETX -007 07 G BEL * Bell, triggers the bell, buzzer, or beeper on the terminal -010 08 H BS * Backspace, can be used to define overstruck characters -011 09 I HT * Horizontal Tabulation, move to next predetermined position -012 0A J LF * Linefeed, move to same position on next line (see also NL) -013 0B K VT * Vertical Tabulation, move to next predetermined line -014 0C L FF * Form Feed, move to next form or page -015 0D M CR * Carriage Return, move to first character of current line -016 0E N SO * Shift Out, switch to G1 (other half of character set) -017 0F O SI * Shift In, switch to G0 (normal half of character set) -020 10 P DLE Data Link Escape, interpret next control character specially -021 11 Q XON * (DC1) Terminal is allowed to resume transmitting -022 12 R DC2 Device Control 2, causes ASR-33 to activate paper-tape reader -023 13 S XOFF* (DC2) Terminal must pause and refrain from transmitting -024 14 T DC4 Device Control 4, causes ASR-33 to deactivate paper-tape reader -025 15 U NAK Negative Acknowledge, used sometimes with ETX and ACK -026 16 V SYN Synchronous Idle, used to maintain timing in Sync communication -027 17 W ETB End of Transmission block -030 18 X CAN * Cancel (makes VT100 abort current escape sequence if any) -031 19 Y EM End of Medium -032 1A Z SUB * Substitute (VT100 uses this to display parity errors) -033 1B [ ESC * Prefix to an ESCape sequence -034 1C \ FS File Separator -035 1D ] GS Group Separator -036 1E ^ RS * Record Separator (sent by VT132 in block-transfer mode) -037 1F _ US Unit Separator - -040 20 SP * Space (should never be defined to be otherwise) -177 7F DEL * Delete, should be ignored by terminal - -============================================================================== - C1 set of 8-bit control characters (from ANSI X3.64-1979) - -Oct Hex Name * (* marks function used in DEC VT series or LA series terminals) ---- -- - --- - -------------------------------------------------------------- -200 80 @ Reserved for future standardization -201 81 A Reserved -202 82 B Reserved -203 83 C Reserved -204 84 D IND * Index, moves down one line same column regardless of NL -205 85 E NEL * NEw Line, moves done one line and to first column (CR+LF) -206 86 F SSA Start of Selected Area to be sent to auxiliary output device -207 87 G ESA End of Selected Area to be sent to auxiliary output device -210 88 H HTS * Horizontal Tabulation Set at current position -211 89 I HTJ Hor Tab Justify, moves string to next tab position -212 8A J VTS Vertical Tabulation Set at current line -213 8B K PLD Partial Line Down (subscript) -214 8C L PLU Partial Line Up (superscript) -215 8D M RI * Reverse Index, go up one line, reverse scroll if necessary -216 8E N SS2 * Single Shift to G2 -217 8F O SS3 * Single Shift to G3 (VT100 uses this for sending PF keys) -220 90 P DCS * Device Control String, terminated by ST (VT125 enters graphics) -221 91 Q PU1 Private Use 1 -222 92 R PU2 Private Use 2 -223 93 S STS Set Transmit State -224 94 T CCH Cancel CHaracter, ignore previous character -225 95 U MW Message Waiting, turns on an indicator on the terminal -226 96 V SPA Start of Protected Area -227 97 W EPA End of Protected Area -230 98 X Reserved for for future standard -231 99 Y Reserved -232 9A Z * Reserved, but causes DEC terminals to respond with DA codes -233 9B [ CSI * Control Sequence Introducer (described in a seperate table) -234 9C \ ST * String Terminator (VT125 exits graphics) -235 9D ] OSC Operating System Command (reprograms intelligent terminal) -236 9E ^ PM Privacy Message (password verification), terminated by ST -237 9F _ APC Application Program Command (to word processor), term by ST - -============================================================================== - Character set selection sequences (from ANSI X3.41-1974) - All are 3 characters long (including the ESCape). Alphabetic characters - as 3rd character are defined by ANSI, parameter characters as 3rd character - may be interpreted differently by each terminal manufacturer. - -Oct Hex * (* marks function used in DEC VT series or LA series terminals) ---- -- -- - ------------------------------------------------------------------ -040 20 ANNOUNCER - Determines whether to use 7-bit or 8-bit ASCII - A G0 only will be used. Ignore SI, SO, and G1. - B G0 and G1 used internally. SI and SO affect G0, G1 is ignored. - C G0 and G1 in an 8-bit only environment. SI and SO are ignored. - D G0 and G1 are used, SI and SO affect G0. - E - F * 7-bit transmission, VT240/PRO350 sends CSI as two characters ESC [ - G * 8-bit transmission, VT240/PRO350 sends CSI as single 8-bit character -041 21 ! Select C0 control set (choice of 63 standard, 16 private) -042 22 " Select C1 control set (choice of 63 standard, 16 private) -043 23 # Translate next character to a special single character - #3 * DECDHL1 - Double height line, top half - #4 * DECDHL2 - Double height line, bottom half - #5 * DECSWL - Single width line - #6 * DECDWL - Double width line - #7 * DECHCP - Make a hardcopy of the graphics screen (GIGI,VT125,VT241) - #8 * DECALN - Alignment display, fill screen with "E" to adjust focus -044 24 $ MULTIBYTE CHARACTERS - Displayable characters require 2-bytes each -045 25 % SPECIAL INTERPRETATION - Such as 9-bit data -046 26 & Reserved for future standardization -047 27 ' Reserved for future standardization -050 28 ( * SCS - Select G0 character set (choice of 63 standard, 16 private) - (0 * DEC VT100 line drawing set (affects lowercase characters) - (1 * DEC Alternate character ROM set (RAM set on GIGI and VT220) - (2 * DEC Alternate character ROM set with line drawing - (5 * DEC Finnish on LA100 - (6 * DEC Norwegian/Danish on LA100 - (7 * DEC Swedish on LA100 - (9 * DEC French Canadian - (< * DEC supplemental graphics (everything not in USASCII) - (A * UKASCII (British pound sign) - (B * USASCII (American pound sign) - (C * ISO Finnish on LA120 - (E * ISO Norwegian/Danish on LA120 - (H * ISO Swedish on LA120 - (K * ISO German on LA100,LA120 - (R * ISO French on LA100,LA120 - (Y * ISO Italian on LA100 - (Z * ISO Spanish on LA100 -051 29 ) * SCS - Select G1 character set (choice of 63 standard, 16 private) - * (same character sets as listed under G0) -052 2A * * SCS - Select G2 character set - * (same character sets as listed under G0) -053 2B + * SCS - Select G3 character set - * (same character sets as listed under G0) -054 2C , SCS - Select G0 character set (additional 63+16 sets) -055 2D - SCS - Select G1 character set (additional 63+16 sets) -056 2E . SCS - Select G2 character set -057 2F / SCS - Select G3 character set - -============================================================================== - Private two-character escape sequences (allowed by ANSI X3.41-1974) - These can be defined differently by each terminal manufacturer. - -Oct Hex * (* marks function used in DEC VT series or LA series terminals) ---- -- - - ------------------------------------------------------------------ -060 30 0 -061 31 1 DECGON graphics on for VT105, DECHTS horiz tab set for LA34/LA120 -062 32 2 DECGOFF graphics off VT105, DECCAHT clear all horz tabs LA34/LA120 -063 33 3 DECVTS - set vertical tab for LA34/LA120 -064 34 4 DECCAVT - clear all vertical tabs for LA34/LA120 -065 35 5 * DECXMT - Host requests that VT132 transmit as if ENTER were pressed -066 36 6 -067 37 7 * DECSC - Save cursor position and character attributes -070 38 8 * DECRC - Restore cursor and attributes to previously saved position -071 39 9 -072 3A : -073 3B ; -074 3C < * DECANSI - Switch from VT52 mode to VT100 mode -075 3D = * DECKPAM - Set keypad to applications mode (ESCape instead of digits) -076 3E > * DECKPNM - Set keypad to numeric mode (digits intead of ESCape seq) -077 3F ? - - DCS Device Control Strings used by DEC terminals (ends with ST) - -Pp = Start ReGIS graphics (VT125, GIGI, VT240, PRO350) -Pq = Start SIXEL graphics (screen dump to LA34, LA100, screen load to VT125) -Pr = SET-UP data for GIGI, $PrVC0$\ disables both visible cursors. -Ps = Reprogram keys on the GIGI, $P0sDIR<CR>$\ makes keypad 0 send "DIR<CR>" - 0-9=digits on keypad, 10=ENTER, 11=minus, 12=comma, 13=period, - 14-17=PF1-PF4, 18-21=cursor keys. Enabled by $[?23h (PK1). -Pt = Start VT105 graphics on a VT125 - -============================================================================== - - Standard two-character escape sequences (defined by ANSI X3.64-1979) - -100 40 @ See description of C1 control characters - An ESCape followed by one of these uppercase characters is translated - to an 8-bit C1 control character before being interpreted. -220 90 P DCS - Device Control String, terminated by ST - see table above. -133 5B [ CSI - Control Sequence Introducer - see table below. -137 5F _ See description of C1 control characters - -============================================================================== - - Indepenent control functions (from Appendix E of X3.64-1977). - These four controls have the same meaning regardless of the current - definition of the C0 and C1 control sets. Each control is a two-character - ESCape sequence, the 2nd character is lowercase. - -Oct Hex * (* marks function used in DEC VT series or LA series terminals) ---- -- - - -------------------------------------------------------------------- -140 60 ` DMI - Disable Manual Input -141 61 a INT - INTerrupt the terminal and do special action -142 62 b EMI - Enable Manual Input -143 63 c * RIS - Reset to Initial State (VT100 does a power-on reset) - ... The remaining lowercase characters are reserved by ANSI. -153 6B k NAPLPS lock-shift G1 to GR -154 6C l NAPLPS lock-shift G2 to GR -155 6D m NAPLPS lock-shift G3 to GR -156 6E n * LS2 - Shift G2 to GL (extension of SI) VT240,NAPLPS -157 6F o * LS3 - Shift G3 to GL (extension of SO) VT240,NAPLPS - ... The remaining lowercase characters are reserved by ANSI. -174 7C | * LS3R - VT240 lock-shift G3 to GR -175 7D } * LS2R - VT240 lock-shift G2 to GR -176 7E ~ * LS1R - VT240 lock-shift G1 to GR - -============================================================================== - Control Sequences (defined by ANSI X3.64-1979) - -Control Sequences are started by either ESC [ or CSI and are terminated by an -"alphabetic" character (100 to 176 octal, 40 to 7E hex). Intermediate -characters are space through slash (40 to 57 octal, 20 to 2F hex) and parameter -characters are zero through question mark (60 to 77 octal, 30 to 3F hex, -including digits and semicolon). Parameters consist of zero or more decimal -numbers separated by semicolons. Leading zeros are optional, leading blanks -are not allowed. If no digits precede the final character, the default -parameter is used. Many functions treat a parameter of 0 as if it were 1. - -Oct Hex * (* marks function used in DEC VT series or LA series terminals) ---- -- - - -------------------------------------------------------------------- -100 40 @ ICH - Insert CHaracter - [10@ = Make room for 10 characters at current position -101 41 A * CUU - CUrsor Up - * [A = Move up one line, stop at top of screen, [9A = move up 9 -102 42 B * CUD - CUrsor Down - * [B = Move down one line, stop at bottom of screen -103 43 C * CUF - CUrsor Forward - * [C = Move forward one position, stop at right edge of screen -104 44 D * CUB - CUrsor Backward - * [D = Same as BackSpace, stop at left edge of screen -105 45 E CNL - Cursor to Next Line - [5E = Move to first position of 5th line down -106 46 F CPL - Cursor to Previous Line - [5F = Move to first position of 5th line previous -107 47 G CHA - Cursor Horizontal position Absolute - [40G = Move to column 40 of current line -110 48 H * CUP - CUrsor Position - * [H = Home, [24;80H = Row 24, Column 80 -111 49 I CHT - Cursor Horizontal Tabulation - [I = Same as HT (Control-I), [3I = Go forward 3 tabs -112 4A J * ED - Erase in Display (cursor does not move) - * [J = [0J = Erase from current position to end (inclusive) - * [1J = Erase from beginning to current position (inclusive) - * [2J = Erase entire display - * [?0J = Selective erase in display ([?1J, [?2J similar) -113 4B K * EL - Erase in Line (cursor does not move) - * [K = [0K = Erase from current position to end (inclusive) - * [1K = Erase from beginning to current position - * [2K = Erase entire current line - * [?0K = Selective erase to end of line ([?1K, [?2K similar) -114 4C L * IL - Insert Line, current line moves down (VT102 series) - [3L = Insert 3 lines if currently in scrolling region -115 4D M * DL - Delete Line, lines below current move up (VT102 series) - [2M = Delete 2 lines if currently in scrolling region -116 4E N EF - Erase in Field (as bounded by protected fields) - [0N, [1N, [2N act like [L but within currend field -117 4F O EA - Erase in qualified Area (defined by DAQ) - [0O, [1O, [2O act like [J but within current area -120 50 P * DCH - Delete Character, from current position to end of field - [4P = Delete 4 characters, VT102 series -121 51 Q SEM - Set Editing extent Mode (limits ICH and DCH) - [0Q = [Q = Insert/delete character affects rest of display - [1Q = ICH/DCH affect the current line only - [2Q = ICH/DCH affect current field (between tab stops) only - [3Q = ICH/DCH affect qualified area (between protected fields) -122 52 R * CPR - Cursor Position Report (from terminal to host) - * [24;80R = Cursor is positioned at line 24 column 80 -123 53 S SU - Scroll up, entire display is moved up, new lines at bottom - [3S = Move everything up 3 lines, bring in 3 new lines -124 54 T SD - Scroll down, new lines inserted at top of screen - [4T = Scroll down 4, bring previous lines back into view -125 55 U NP - Next Page (if terminal has more than 1 page of memory) - [2U = Scroll forward 2 pages -126 56 V PP - Previous Page (if terminal remembers lines scrolled off top) - [1V = Scroll backward 1 page -127 57 W CTC - Cursor Tabulation Control - [0W = Set horizontal tab for current line at current position - [1W = Set vertical tab stop for current line of current page - [2W = Clear horiz tab stop at current position of current line - [3W = Clear vert tab stop at current line of current page - [4W = Clear all horiz tab stops on current line only - [5W = Clear all horiz tab stops for the entire terminal - [6W = Clear all vert tabs stops for the entire terminal -130 58 X ECH - Erase CHaracter - [4X = Change next 4 characters to "erased" state -131 59 Y CVT - Cursor Vertical Tab - [2Y = Move forward to 2nd following vertical tab stop -132 5A Z CBT - Cursor Back Tab - [3Z = Move backwards to 3rd previous horizontal tab stop -133 5B [ Reserved for future standardization left bracket -134 5C \ Reserved reverse slant -135 5D ] Reserved right bracket -136 5E ^ Reserved circumflex -137 5F _ Reserved underscore -140 60 ` * HPA - Horizontal Position Absolute (depends on PUM) - [720` = Move to 720 decipoints (1 inch) from left margin - * [80` = Move to column 80 on LA120 -141 61 a * HPR - Horizontal Position Relative (depends on PUM) - [360a = Move 360 decipoints (1/2 inch) from current position - * [40a = Move 40 columns to right of current position on LA120 -142 62 b REP - REPeat previous displayable character - [80b = Repeat character 80 times -143 63 c * DA - Device Attributes - * [c = Terminal will identify itself - * [?1;2c = Terminal is saying it is a VT100 with AVO - * [>0c = Secondary DA request (distinguishes VT240 from VT220) -144 64 d * VPA - Vertical Position Absolute (depends on PUM) - [90d = Move to 90 decipoints (1/8 inch) from top margin - * [10d = Move to line 10 if before that else line 10 next page -145 65 e * VPR - Vertical Position Relative (depends on PUM) - [720e = Move 720 decipoints (1 inch) down from current position - * [6e = Advance 6 lines forward on LA120 -146 66 f * HVP - Horizontal and Vertical Position (depends on PUM) - [720,1440f = Move to 1 inch down and 2 inches over (decipoints) - * [24;80f = Move to row 24 column 80 if PUM is set to character -147 67 g * TBC - Tabulation Clear - * [0g = Clear horizontal tab stop at current position - * [1g = Clear vertical tab stop at current line (LA120) - * [2g = Clear all horizontal tab stops on current line only LA120 - * [3g = Clear all horizontal tab stops in the terminal -150 68 h * SM - Set Mode (. means permanently set on VT100) - [0h = Error, this command is ignored - * [1h = GATM - Guarded Area Transmit Mode, send all (VT132) - [2h = KAM - Keyboard Action Mode, disable keyboard input - [3h = CRM - Control Representation Mode, show all control chars - * [4h = IRM - Insertion/Replacement Mode, set insert mode (VT102) - [5h = SRTM - Status Report Transfer Mode, report after DCS - * [6h = ERM - ERasure Mode, erase protected and unprotected - [7h = VEM - Vertical Editing Mode, IL/DL affect previous lines - [8h, [9h are reserved - [10h = HEM - Horizontal Editing mode, ICH/DCH/IRM go backwards - [11h = PUM - Positioning Unit Mode, use decipoints for HVP/etc - . [12h = SRM - Send Receive Mode, transmit without local echo - [13h = FEAM - Format Effector Action Mode, FE's are stored - [14h = FETM - Format Effector Transfer Mode, send only if stored - [15h = MATM - Multiple Area Transfer Mode, send all areas - * [16h = TTM - Transmit Termination Mode, send scrolling region - [17h = SATM - Send Area Transmit Mode, send entire buffer - [18h = TSM - Tabulation Stop Mode, lines are independent - [19h = EBM - Editing Boundry Mode, all of memory affected - * [20h = LNM - Linefeed Newline Mode, LF interpreted as CR LF - * [?1h = DECCKM - Cursor Keys Mode, send ESC O A for cursor up - * [?2h = DECANM - ANSI Mode, use ESC < to switch VT52 to ANSI - * [?3h = DECCOLM - COLumn mode, 132 characters per line - * [?4h = DECSCLM - SCrolL Mode, smooth scrolling - * [?5h = DECSCNM - SCreeN Mode, black on white background - * [?6h = DECOM - Origin Mode, line 1 is relative to scroll region - * [?7h = DECAWM - AutoWrap Mode, start newline after column 80 - * [?8h = DECARM - Auto Repeat Mode, key will autorepeat - * [?9h = DECINLM - INterLace Mode, interlaced for taking photos - * [?10h = DECEDM - EDit Mode, VT132 is in EDIT mode - * [?11h = DECLTM - Line Transmit Mode, ignore TTM, send line - [?12h = ? - * [?13h = DECSCFDM - Space Compression/Field Delimiting on, - * [?14h = DECTEM - Transmit Execution Mode, transmit on ENTER - [?15h = ? - * [?16h = DECEKEM - Edit Key Execution Mode, EDIT key is local - [?17h = ? - * [?18h = DECPFF - Print FormFeed mode, send FF after printscreen - * [?19h = DECPEXT - Print Extent mode, print entire screen - * [?20h = OV1 - Overstrike, overlay characters on GIGI - * [?21h = BA1 - Local BASIC, GIGI to keyboard and screen - * [?22h = BA2 - Host BASIC, GIGI to host computer - * [?23h = PK1 - GIGI numeric keypad sends reprogrammable sequences - * [?24h = AH1 - Autohardcopy before erasing or rolling GIGI screen - * [?29h = - Use only the proper pitch for the LA100 font - * [?38h = DECTEK - TEKtronix mode graphics -151 69 i * MC - Media Copy (printer port on VT102) - * [0i = Send contents of text screen to printer - [1i = Fill screen from auxiliary input (printer's keyboard) - [2i = Send screen to secondary output device - [3i = Fill screen from secondary input device - * [4i = Turn on copying received data to primary output (VT125) - * [4i = Received data goes to VT102 screen, not to its printer - * [5i = Turn off copying received data to primary output (VT125) - * [5i = Received data goes to VT102's printer, not its screen - * [6i = Turn off copying received data to secondary output (VT125) - * [7i = Turn on copying received data to secondary output (VT125) - * [?0i = Graphics screen dump goes to graphics printer VT125,VT240 - * [?1i = Print cursor line, terminated by CR LF - * [?2i = Graphics screen dump goes to host computer VT125,VT240 - * [?4i = Disable auto print - * [?5i = Auto print, send a line at a time when linefeed received -152 6A j Reserved for future standardization -153 6B k Reserved for future standardization -154 6C l * RM - Reset Mode (. means permanently reset on VT100) - * [1l = GATM - Transmit only unprotected characters (VT132) - . [2l = KAM - Enable input from keyboard - . [3l = CRM - Control characters are not displayable characters - * [4l = IRM - Reset to replacement mode (VT102) - . [5l = SRTM - Report only on command (DSR) - * [6l = ERM - Erase only unprotected fields - . [7l = VEM - IL/DL affect lines after current line - [8l, [9l are reserved - . [10l = HEM - ICH and IRM shove characters forward, DCH pulls - . [11l = PUM - Use character positions for HPA/HPR/VPA/VPR/HVP - [12l = SRM - Local echo - input from keyboard sent to screen - . [13l = FEAM - HPA/VPA/SGR/etc are acted upon when received - . [14l = FETM - Format Effectors are sent to the printer - [15l = MATM - Send only current area if SATM is reset - * [16l = TTM - Transmit partial page, up to cursor position - [17l = SATM - Transmit areas bounded by SSA/ESA/DAQ - . [18l = TSM - Setting a tab stop on one line affects all lines - . [19l = EBM - Insert does not overflow to next page - * [20l = LNM - Linefeed does not change horizontal position - * [?1l = DECCKM - Cursor keys send ANSI cursor position commands - * [?2l = DECANM - Use VT52 emulation instead of ANSI mode - * [?3l = DECCOLM - 80 characters per line (erases screen) - * [?4l = DECSCLM - Jump scrolling - * [?5l = DECSCNM - Normal screen (white on black background) - * [?6l = DECOM - Line numbers are independent of scrolling region - * [?7l = DECAWM - Cursor remains at end of line after column 80 - * [?8l = DECARM - Keys do not repeat when held down - * [?9l = DECINLM - Display is not interlaced to avoid flicker - * [?10l = DECEDM - VT132 transmits all key presses - * [?11l = DECLTM - Send page or partial page depending on TTM - [?12l = ? - * [?13l = DECSCFDM - Don't suppress trailing spaces on transmit - * [?14l = DECTEM - ENTER sends ESC S (STS) a request to send - [?15l = ? - * [?16l = DECEKEM - EDIT key transmits either $[10h or $[10l - [?17l = ? - * [?18l = DECPFF - Don't send a formfeed after printing screen - * [?19l = DECPEXT - Print only the lines within the scroll region - * [?20l = OV0 - Space is destructive, replace not overstrike, GIGI - * [?21l = BA0 - No BASIC, GIGI is On-Line or Local - * [?22l = BA0 - No BASIC, GIGI is On-Line or Local - * [?23l = PK0 - Ignore reprogramming on GIGI keypad and cursors - * [?24l = AH0 - No auto-hardcopy when GIGI screen erased - * [?29l = Allow all character pitches on the LA100 - * [?38l = DECTEK - Ignore TEKtronix graphics commands -155 6D m * SGR - Set Graphics Rendition (affects character attributes) - * [0m = Clear all special attributes - * [1m = Bold or increased intensity - * [2m = Dim or secondary color on GIGI (superscript on XXXXXX) - [3m = Italic (subscript on XXXXXX) - * [4m = Underscore, [0;4m = Clear, then set underline only - * [5m = Slow blink - [6m = Fast blink (overscore on XXXXXX) - * [7m = Negative image, [0;1;7m = Bold + Inverse - [8m = Concealed (do not display character echoed locally) - [9m = Reserved for future standardization - * [10m = Select primary font (LA100) - * [11m - [19m = Selete alternate font (LA100 has 11 thru 14) - [20m = FRAKTUR (whatever that means) - * [22m = Cancel bold or dim attribute only (VT220) - * [24m = Cancel underline attribute only (VT220) - * [25m = Cancel fast or slow blink attribute only (VT220) - * [27m = Cancel negative image attribute only (VT220) - * [30m = Write with black, [40m = Set background to black (GIGI) - * [31m = Write with red, [41m = Set background to red - * [32m = Write with green, [42m = Set background to green - * [33m = Write with yellow, [43m = Set background to yellow - * [34m = Write with blue, [44m = Set background to blue - * [35m = Write with magenta, [45m = Set background to magenta - * [36m = Write with cyan, [46m = Set background to cyan - * [37m = Write with white, [47m = Set background to white - [38m, [39m, [48m, [49m are reserved -156 6E n * DSR - Device Status Report - * [0n = Terminal is ready, no malfunctions detected - [1n = Terminal is busy, retry later - [2n = Terminal is busy, it will send DSR when ready - * [3n = Malfunction, please try again - [4n = Malfunction, terminal will send DSR when ready - * [5n = Command to terminal to report its status - * [6n = Command to terminal requesting cursor position (CPR) - * [?15n = Command to terminal requesting printer status, returns - [?10n = OK, [?11n = not OK, [?13n = no printer. - * [?25n = "Are User Defined Keys Locked?" (VT220) -157 6F o DAQ - Define Area Qualification starting at current position - [0o = Accept all input, transmit on request - [1o = Protected and guarded, accept no input, do not transmit - [2o = Accept any printing character in this field - [3o = Numeric only field - [4o = Alphabetic (A-Z and a-z) only - [5o = Right justify in area - [3;6o = Zero fill in area - [7o = Set horizontal tab stop, this is the start of the field - [8o = Protected and unguarded, accept no input, do transmit - [9o = Space fill in area - -============================================================================== - - Private Control Sequences (allowed by ANSI X3.41-1974). - These take parameter strings and terminate with the last half of lowercase. - -Oct Hex * (* marks function used in DEC VT series or LA series terminals) ---- -- - - -------------------------------------------------------------------- -160 70 p * DECSTR - Soft Terminal Reset - [!p = Soft Terminal Reset -161 71 q * DECLL - Load LEDs - [0q = Turn off all, [?1;4q turns on L1 and L4, etc - [154;155;157q = VT100 goes bonkers - [2;23!q = Partial screen dump from GIGI to graphics printer - [0"q = DECSCA Select Character Attributes off - [1"q = DECSCA - designate set as non-erasable - [2"q = DECSCA - designate set as erasable -162 72 r * DECSTBM - Set top and bottom margins (scroll region on VT100) - [4;20r = Set top margin at line 4 and bottom at line 20 -163 73 s * DECSTRM - Set left and right margins on LA100,LA120 - [5;130s = Set left margin at column 5 and right at column 130 -164 74 t * DECSLPP - Set physical lines per page - [66t = Paper has 66 lines (11 inches at 6 per inch) -165 75 u * DECSHTS - Set many horizontal tab stops at once on LA100 - [9;17;25;33;41;49;57;65;73;81u = Set standard tab stops -166 76 v * DECSVTS - Set many vertical tab stops at once on LA100 - [1;16;31;45v = Set vert tabs every 15 lines -167 77 w * DECSHORP - Set horizontal pitch on LAxxx printers - [1w = 10 characters per inch, [2w = 12 characters per inch - [0w=10, [3w=13.2, [4w=16.5, [5w=5, [6w=6, [7w=6.6, [8w=8.25 -170 78 x * DECREQTPARM - Request terminal parameters - [3;5;2;64;64;1;0x = Report, 7 bit Even, 1200 baud, 1200 baud -171 79 y * DECTST - Invoke confidence test - [2;1y = Power-up test on VT100 series (and VT100 part of VT125) - [3;1y = Power-up test on GIGI (VK100) - [4;1y = Power-up test on graphics portion of VT125 -172 7A z * DECVERP - Set vertical pitch on LA100 - [1z = 6 lines per inch, [2z = 8 lines per inch - [0z=6, [3z=12, [4z=3, [5z=3, [6z=4 -173 7B { Private -174 7C | * DECTTC - Transmit Termination Character - [0| = No extra characters, [1| = terminate with FF -175 7D } * DECPRO - Define protected field on VT132 - [0} = No protection, [1;4;5;7} = Any attribute is protected - [254} = Characters with no attributes are protected -176 7E ~ * DECKEYS - Sent by special function keys - [1~=FIND, [2~=INSERT, [3~=REMOVE, [4~=SELECT, [5~=PREV, [6~=NEXT - [17~=F6...[34~=F20 ([23~=ESC,[24~=BS,[25~=LF,[28~=HELP,[29~=DO) -177 7F DELETE is always ignored - -============================================================================== - Control Sequences with intermediate characters (from ANSI X3.64-1979). - Note that there is a SPACE character before the terminating alphabetic. - -Oct Hex * (* marks function used in DEC VT series or LA series terminals) ---- -- - - -------------------------------------------------------------------- -100 40 @ SL - Scroll Left - [4 @ = Move everything over 4 columns, 4 new columns at right -101 41 A SR - Scroll Right - [2 A = Move everything over 2 columns, 2 new columns at left -102 42 B GSM - Graphic Size Modification - [110;50 B = Make 110% high, 50% wide -103 43 C GSS - Graphic Size Selection - [120 C = Make characters 120 decipoints (1/6 inch) high -104 44 D FNT - FoNT selection (used by SGR, [10m thru [19m) - [0;23 D = Make primary font be registered font #23 -105 45 E TSS - Thin Space Specification - [36 E = Define a thin space to be 36 decipoints (1/20 inch) -106 46 F JFY - JustiFY, done by the terminal/printer - [0 E = No justification - [1 E = Fill, bringing words up from next line if necessary - [2 E = Interword spacing, adjust spaces between words - [3 E = Letter spacing, adjust width of each letter - [4 E = Use hyphenation - [5 E = Flush left margin - [6 E = Center following text between margins (until [0 E) - [7 E = Flush right margin - [8 E = Italian form (underscore instead of hyphen) -107 47 G SPI - SPacing Increment (in decipoints) - [120;72 G = 6 per inch vertical, 10 per inch horizontal -110 48 H QUAD- Do quadding on current line of text (typography) - [0 H = Flush left, [1 H = Flush left and fill with leader - [2 H = Center, [3 H = Center and fill with leader - [4 H = Flush right, [5 H = Flush right and fill with leader -111 49 I Reserved for future standardization -157 67 o Reserved for future standardization -160 70 p Private use - ... May be defined by the printer manufacturer -176 7E ~ Private use -177 7F DELETE is always ignored - -============================================================================== -Minimum requirements for VT100 emulation: - -1) To act as a passive display, implement the 4 cursor commands, the 2 erase - commands, direct cursor addressing, and at least inverse characters. - The software should be capable of handling strings with 16 numeric parameters - with values in the range of 0 to 255. - - [A Move cursor up one row, stop if a top of screen - [B Move cursor down one row, stop if at bottom of screen - [C Move cursor forward one column, stop if at right edge of screen - [D Move cursor backward one column, stop if at left edge of screen - [H Home to row 1 column 1 (also [1;1H) - [J Clear from current position to bottom of screen - [K Clear from current position to end of line - [24;80H Position to line 24 column 80 (any line 1 to 24, any column 1 to 132) - [0m Clear attributes to normal characters - [7m Add the inverse video attribute to succeeding characters - [0;7m Set character attributes to inverse video only - -2) To enter data in VT100 mode, implement the 4 cursor keys and the 4 PF keys. - It must be possible to enter ESC, TAB, BS, DEL, and LF from the keyboard. - - [A Sent by the up-cursor key (alternately ESC O A) - [B Sent by the down-cursor key (alternately ESC O B) - [C Sent by the right-cursor key (alternately ESC O C) - [D Sent by the left-cursor key (alternately ESC O D) - OP PF1 key sends ESC O P - OQ PF2 key sends ESC O Q - OR PF3 key sends ESC O R - OS PF3 key sends ESC O S - [c Request for the terminal to identify itself - [?1;0c VT100 with memory for 24 by 80, inverse video character attribute - [?1;2c VT100 capable of 132 column mode, with bold+blink+underline+inverse - -3) When doing full-screen editing on a VT100, implement directed erase, the - numeric keypad in applications mode, and the limited scrolling region. - The latter is needed to do insert/delete line functions without rewriting - the screen. - - [0J Erase from current position to bottom of screen inclusive - [1J Erase from top of screen to current position inclusive - [2J Erase entire screen (without moving the cursor) - [0K Erase from current position to end of line inclusive - [1K Erase from beginning of line to current position inclusive - [2K Erase entire line (without moving cursor) - [12;24r Set scrolling region to lines 12 thru 24. If a linefeed or an - INDex is received while on line 24, the former line 12 is deleted - and rows 13-24 move up. If a RI (reverse Index) is received while - on line 12, a blank line is inserted there as rows 12-13 move down. - All VT100 compatible terminals (except GIGI) have this feature. - ESC = Set numeric keypad to applications mode - ESC > Set numeric keypad to numbers mode - OA Up-cursor key sends ESC O A after ESC = ESC [ ? 1 h - OB Down-cursor key sends ESC O B " " " - OC Right-cursor key sends ESC O B " " " - OB Left-cursor key sends ESC O B " " " - OM ENTER key sends ESC O M after ESC = - Ol COMMA on keypad sends ESC O l " " (that's lowercase L) - Om MINUS on keypad sends ESC O m " " - Op ZERO on keypad sends ESC O p " " - Oq ONE on keypad sends ESC O q " " - Or TWO on keypad sends ESC O r " " - Os THREE on keypad sends ESC O s " " - Ot FOUR on keypad sends ESC O t " " - Ou FIVE on keypad sends ESC O u " " - Ov SIX on keypad sends ESC O v " " - Ow SEVEN on keypad sends ESC O w " " - Ox EIGHT on keypad sends ESC O x " " - Oy NINE on keypad sends ESC O y " " - -4) If the hardware is capable of double width/double height: - - #3 Top half of a double-width double-height line - #4 Bottom half of a double-width double-height line - #5 Make line single-width (lines are set this way when cleared by ESC [ J) - #6 Make line double-width normal height (40 or 66 characters) - -5) If the terminal emulator is capable of insert/delete characters, -insert/delete lines, insert/replace mode, and can do a full-screen dump to -the printer (in text mode), then it should identify itself as a VT102 - - [c Request for the terminal to identify itself - [?6c VT102 (printer port, 132 column mode, and ins/del standard) - [1@ Insert a blank character position (shift line to the right) - [1P Delete a character position (shift line to the left) - [1L Insert blank line at current row (shift screen down) - [1M Delete the current line (shift screen up) - [4h Set insert mode, new characters shove existing ones to the right - [4l Reset insert mode, new characters replace existing ones - [0i Print screen (all 24 lines) to the printer - [4i All received data goes to the printer (nothing to the screen) - [5i All received data goes to the screen (nothing to the printer) - - -[End of ANSICODE.TXT] diff --git a/util/config.h.in b/util/config.h.in deleted file mode 100644 index 57e29db2..00000000 --- a/util/config.h.in +++ /dev/null @@ -1,22 +0,0 @@ -/* $Id: config.h.in,v 1.1 2009-05-13 23:32:21 nicm Exp $ */ - -#cmakedefine HAVE_LIBUTIL_H -#cmakedefine HAVE_PTY_H -#cmakedefine HAVE_UTIL_H - -#cmakedefine HAVE_PATHS_H -#cmakedefine HAVE_QUEUE_H -#cmakedefine HAVE_TREE_H - -#cmakedefine HAVE_ASPRINTF -#cmakedefine HAVE_DAEMON -#cmakedefine HAVE_FGETLN -#cmakedefine HAVE_FORKPTY -#cmakedefine HAVE_GETOPT -#cmakedefine HAVE_SETPROCTITLE -#cmakedefine HAVE_STRLCAT -#cmakedefine HAVE_STRLCPY -#cmakedefine HAVE_STRTONUM -#cmakedefine HAVE_VSYSLOG - -#cmakedefine HAVE_PROGNAME diff --git a/util/fuzz.c b/util/fuzz.c deleted file mode 100644 index 16b01df5..00000000 --- a/util/fuzz.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <sys/types.h> - -#include <stdio.h> -#include <stdlib.h> -#include <time.h> -#include <unistd.h> - -int -main(void) -{ - time_t t; - int i; - - setvbuf(stdout, NULL, _IONBF, 0); - - t = time(NULL); - srandom((u_int) t); - - for (;;) { - putchar('\033'); - - for (i = 0; i < random() % 25; i++) { - if (i > 22) - putchar(';'); - else - putchar(random() % 256); - } - - //usleep(100); - } -} |