Rob Landley | 5cf7c2d | 2006-02-21 06:44:43 +0000 | [diff] [blame] | 1 | # |
| 2 | # For a description of the syntax of this configuration file, |
Kartik Agaram | 43b17b1 | 2018-05-31 22:15:55 -0700 | [diff] [blame] | 3 | # see docs/Kconfig-language.txt. |
Rob Landley | 5cf7c2d | 2006-02-21 06:44:43 +0000 | [diff] [blame] | 4 | # |
| 5 | |
Denys Vlasenko | a3df2fa | 2017-07-15 20:49:32 +0200 | [diff] [blame] | 6 | comment "Library Tuning" |
Rob Landley | 5cf7c2d | 2006-02-21 06:44:43 +0000 | [diff] [blame] | 7 | |
Denys Vlasenko | d70e0e9 | 2010-06-08 12:15:11 +0200 | [diff] [blame] | 8 | INSERT |
| 9 | |
Denys Vlasenko | 24860fa | 2016-11-24 22:30:52 +0100 | [diff] [blame] | 10 | choice |
| 11 | prompt "Buffer allocation policy" |
| 12 | default FEATURE_BUFFERS_USE_MALLOC |
| 13 | help |
Denys Vlasenko | 86d5bf4 | 2017-07-27 02:59:13 +0200 | [diff] [blame] | 14 | There are 3 ways busybox can handle buffer allocations: |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 15 | - Use malloc. This costs code size for the call to xmalloc. |
| 16 | - Put them on stack. For some very small machines with limited stack |
| 17 | space, this can be deadly. For most folks, this works just fine. |
| 18 | - Put them in BSS. This works beautifully for computers with a real |
| 19 | MMU (and OS support), but wastes runtime RAM for uCLinux. This |
Denys Vlasenko | 86d5bf4 | 2017-07-27 02:59:13 +0200 | [diff] [blame] | 20 | behavior was the only one available for versions 0.48 and earlier. |
Denys Vlasenko | 24860fa | 2016-11-24 22:30:52 +0100 | [diff] [blame] | 21 | |
| 22 | config FEATURE_BUFFERS_USE_MALLOC |
| 23 | bool "Allocate with Malloc" |
| 24 | |
| 25 | config FEATURE_BUFFERS_GO_ON_STACK |
| 26 | bool "Allocate on the Stack" |
| 27 | |
| 28 | config FEATURE_BUFFERS_GO_IN_BSS |
| 29 | bool "Allocate in the .bss section" |
| 30 | |
| 31 | endchoice |
| 32 | |
Denis Vlasenko | 7d219aa | 2006-10-05 10:17:08 +0000 | [diff] [blame] | 33 | config PASSWORD_MINLEN |
"Robert P. J. Day" | 087b9d6 | 2006-07-02 18:35:39 +0000 | [diff] [blame] | 34 | int "Minimum password length" |
| 35 | default 6 |
| 36 | range 5 32 |
| 37 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 38 | Minimum allowable password length. |
"Robert P. J. Day" | 087b9d6 | 2006-07-02 18:35:39 +0000 | [diff] [blame] | 39 | |
Denys Vlasenko | 522041e | 2011-09-10 13:25:57 +0200 | [diff] [blame] | 40 | config MD5_SMALL |
Denys Vlasenko | 7e7e08f | 2009-07-06 23:24:20 +0200 | [diff] [blame] | 41 | int "MD5: Trade bytes for speed (0:fast, 3:slow)" |
Denys Vlasenko | db70033 | 2015-10-25 20:36:03 +0100 | [diff] [blame] | 42 | default 1 # all "fast or small" options default to small |
Rob Landley | 5cf7c2d | 2006-02-21 06:44:43 +0000 | [diff] [blame] | 43 | range 0 3 |
| 44 | help |
Denys Vlasenko | 25aadc8 | 2021-12-30 13:07:12 +0100 | [diff] [blame] | 45 | Trade binary size versus speed for the md5 algorithm. |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 46 | Approximate values running uClibc and hashing |
| 47 | linux-2.4.4.tar.bz2 were: |
Denys Vlasenko | 25aadc8 | 2021-12-30 13:07:12 +0100 | [diff] [blame] | 48 | value user times (sec) text size (386) |
| 49 | 0 (fastest) 1.1 6144 |
| 50 | 1 1.4 5392 |
| 51 | 2 3.0 5088 |
| 52 | 3 (smallest) 5.1 4912 |
| 53 | |
| 54 | config SHA1_SMALL |
| 55 | int "SHA1: Trade bytes for speed (0:fast, 3:slow)" |
| 56 | default 3 # all "fast or small" options default to small |
| 57 | range 0 3 |
| 58 | help |
| 59 | Trade binary size versus speed for the sha1 algorithm. |
Denys Vlasenko | 1891fdd | 2022-02-18 17:09:51 +0100 | [diff] [blame] | 60 | With FEATURE_COPYBUF_KB=64: |
Denys Vlasenko | 25aadc8 | 2021-12-30 13:07:12 +0100 | [diff] [blame] | 61 | throughput MB/s size of sha1_process_block64 |
| 62 | value 486 x86-64 486 x86-64 |
Denys Vlasenko | 1891fdd | 2022-02-18 17:09:51 +0100 | [diff] [blame] | 63 | 0 440 485 3481 3502 |
| 64 | 1 265 265 641 696 |
| 65 | 2,3 220 210 342 364 |
Rob Landley | 5cf7c2d | 2006-02-21 06:44:43 +0000 | [diff] [blame] | 66 | |
Denys Vlasenko | 711e20e | 2022-01-07 00:43:59 +0100 | [diff] [blame] | 67 | config SHA1_HWACCEL |
| 68 | bool "SHA1: Use hardware accelerated instructions if possible" |
| 69 | default y |
| 70 | help |
| 71 | On x86, this adds ~590 bytes of code. Throughput |
| 72 | is about twice as fast as fully-unrolled generic code. |
| 73 | |
Denys Vlasenko | 6472ac9 | 2022-02-03 14:15:20 +0100 | [diff] [blame] | 74 | config SHA256_HWACCEL |
| 75 | bool "SHA256: Use hardware accelerated instructions if possible" |
| 76 | default y |
| 77 | help |
| 78 | On x86, this adds ~1k bytes of code. |
| 79 | |
Denys Vlasenko | 30a8652 | 2013-01-15 01:12:26 +0100 | [diff] [blame] | 80 | config SHA3_SMALL |
| 81 | int "SHA3: Trade bytes for speed (0:fast, 1:slow)" |
Denys Vlasenko | db70033 | 2015-10-25 20:36:03 +0100 | [diff] [blame] | 82 | default 1 # all "fast or small" options default to small |
Denys Vlasenko | 30a8652 | 2013-01-15 01:12:26 +0100 | [diff] [blame] | 83 | range 0 1 |
| 84 | help |
Denys Vlasenko | 25aadc8 | 2021-12-30 13:07:12 +0100 | [diff] [blame] | 85 | Trade binary size versus speed for the sha3 algorithm. |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 86 | SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate): |
| 87 | 64-bit x86: +270 bytes of code, 45% faster |
| 88 | 32-bit x86: +450 bytes of code, 75% faster |
Denys Vlasenko | 30a8652 | 2013-01-15 01:12:26 +0100 | [diff] [blame] | 89 | |
Denys Vlasenko | 94c78aa | 2021-10-12 13:23:29 +0200 | [diff] [blame] | 90 | config FEATURE_NON_POSIX_CP |
| 91 | bool "Non-POSIX, but safer, copying to special nodes" |
| 92 | default y |
Denis Vlasenko | 3afac4c | 2007-06-19 13:46:24 +0000 | [diff] [blame] | 93 | help |
Denys Vlasenko | 94c78aa | 2021-10-12 13:23:29 +0200 | [diff] [blame] | 94 | With this option, "cp file symlink" will delete symlink |
| 95 | and create a regular file. This does not conform to POSIX, |
| 96 | but prevents a symlink attack. |
| 97 | Similarly, "cp file device" will not send file's data |
| 98 | to the device. (To do that, use "cat file >device") |
Denis Vlasenko | 3afac4c | 2007-06-19 13:46:24 +0000 | [diff] [blame] | 99 | |
Denys Vlasenko | 94c78aa | 2021-10-12 13:23:29 +0200 | [diff] [blame] | 100 | config FEATURE_VERBOSE_CP_MESSAGE |
| 101 | bool "Give more precise messages when copy fails (cp, mv etc)" |
Denis Vlasenko | a61cb92 | 2007-06-19 11:24:47 +0000 | [diff] [blame] | 102 | default n |
| 103 | help |
Denys Vlasenko | 94c78aa | 2021-10-12 13:23:29 +0200 | [diff] [blame] | 104 | Error messages with this feature enabled: |
Denis Vlasenko | a61cb92 | 2007-06-19 11:24:47 +0000 | [diff] [blame] | 105 | |
Denys Vlasenko | 94c78aa | 2021-10-12 13:23:29 +0200 | [diff] [blame] | 106 | $ cp file /does_not_exist/file |
| 107 | cp: cannot create '/does_not_exist/file': Path does not exist |
| 108 | $ cp file /vmlinuz/file |
| 109 | cp: cannot stat '/vmlinuz/file': Path has non-directory component |
| 110 | |
| 111 | If this feature is not enabled, they will be, respectively: |
| 112 | |
| 113 | cp: cannot create '/does_not_exist/file': No such file or directory |
| 114 | cp: cannot stat '/vmlinuz/file': Not a directory |
| 115 | |
| 116 | This will cost you ~60 bytes. |
| 117 | |
| 118 | config FEATURE_USE_SENDFILE |
| 119 | bool "Use sendfile system call" |
| 120 | default y |
Denys Vlasenko | 2aeb201 | 2018-04-17 12:43:54 +0200 | [diff] [blame] | 121 | help |
Denys Vlasenko | 94c78aa | 2021-10-12 13:23:29 +0200 | [diff] [blame] | 122 | When enabled, busybox will use the kernel sendfile() function |
| 123 | instead of read/write loops to copy data between file descriptors |
| 124 | (for example, cp command does this a lot). |
| 125 | If sendfile() doesn't work, copying code falls back to read/write |
| 126 | loop. sendfile() was originally implemented for faster I/O |
| 127 | from files to sockets, but since Linux 2.6.33 it was extended |
| 128 | to work for many more file types. |
| 129 | |
| 130 | config FEATURE_COPYBUF_KB |
| 131 | int "Copy buffer size, in kilobytes" |
| 132 | range 1 1024 |
| 133 | default 4 |
| 134 | help |
| 135 | Size of buffer used by cp, mv, install, wget etc. |
| 136 | Buffers which are 4 kb or less will be allocated on stack. |
| 137 | Bigger buffers will be allocated with mmap, with fallback to 4 kb |
| 138 | stack buffer if mmap fails. |
| 139 | |
| 140 | config MONOTONIC_SYSCALL |
| 141 | bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" |
| 142 | default y |
| 143 | help |
| 144 | Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring |
| 145 | time intervals (time, ping, traceroute etc need this). |
| 146 | Probably requires Linux 2.6+. If not selected, gettimeofday |
| 147 | will be used instead (which gives wrong results if date/time |
| 148 | is reset). |
| 149 | |
| 150 | config IOCTL_HEX2STR_ERROR |
| 151 | bool "Use ioctl names rather than hex values in error messages" |
| 152 | default y |
| 153 | help |
| 154 | Use ioctl names rather than hex values in error messages |
| 155 | (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this |
| 156 | saves about 1400 bytes. |
Denys Vlasenko | 2aeb201 | 2018-04-17 12:43:54 +0200 | [diff] [blame] | 157 | |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 158 | config FEATURE_EDITING |
| 159 | bool "Command line editing" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 160 | default y |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 161 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 162 | Enable line editing (mainly for shell command line). |
Denis Vlasenko | e8a0788 | 2007-06-10 15:08:44 +0000 | [diff] [blame] | 163 | |
| 164 | config FEATURE_EDITING_MAX_LEN |
| 165 | int "Maximum length of input" |
| 166 | range 128 8192 |
| 167 | default 1024 |
| 168 | depends on FEATURE_EDITING |
| 169 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 170 | Line editing code uses on-stack buffers for storage. |
| 171 | You may want to decrease this parameter if your target machine |
| 172 | benefits from smaller stack usage. |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 173 | |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 174 | config FEATURE_EDITING_VI |
| 175 | bool "vi-style line editing commands" |
| 176 | default n |
| 177 | depends on FEATURE_EDITING |
| 178 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 179 | Enable vi-style line editing. In shells, this mode can be |
| 180 | turned on and off with "set -o vi" and "set +o vi". |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 181 | |
| 182 | config FEATURE_EDITING_HISTORY |
| 183 | int "History size" |
Denys Vlasenko | 2c4de5b | 2011-03-31 13:16:52 +0200 | [diff] [blame] | 184 | # Don't allow way too big values here, code uses fixed "char *history[N]" struct member |
| 185 | range 0 9999 |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 186 | default 255 |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 187 | depends on FEATURE_EDITING |
| 188 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 189 | Specify command history size (0 - disable). |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 190 | |
| 191 | config FEATURE_EDITING_SAVEHISTORY |
| 192 | bool "History saving" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 193 | default y |
Denys Vlasenko | 99862cb | 2010-09-12 17:34:13 +0200 | [diff] [blame] | 194 | depends on FEATURE_EDITING |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 195 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 196 | Enable history saving in shells. |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 197 | |
Denys Vlasenko | bede215 | 2011-09-04 16:12:33 +0200 | [diff] [blame] | 198 | config FEATURE_EDITING_SAVE_ON_EXIT |
| 199 | bool "Save history on shell exit, not after every command" |
| 200 | default n |
| 201 | depends on FEATURE_EDITING_SAVEHISTORY |
| 202 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 203 | Save history on shell exit, not after every command. |
Denys Vlasenko | bede215 | 2011-09-04 16:12:33 +0200 | [diff] [blame] | 204 | |
Denys Vlasenko | a669eca | 2011-07-11 07:36:59 +0200 | [diff] [blame] | 205 | config FEATURE_REVERSE_SEARCH |
| 206 | bool "Reverse history search" |
| 207 | default y |
Denys Vlasenko | fe0dc34 | 2015-10-30 21:39:19 +0100 | [diff] [blame] | 208 | depends on FEATURE_EDITING |
Denys Vlasenko | a669eca | 2011-07-11 07:36:59 +0200 | [diff] [blame] | 209 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 210 | Enable readline-like Ctrl-R combination for reverse history search. |
| 211 | Increases code by about 0.5k. |
Denys Vlasenko | a669eca | 2011-07-11 07:36:59 +0200 | [diff] [blame] | 212 | |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 213 | config FEATURE_TAB_COMPLETION |
| 214 | bool "Tab completion" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 215 | default y |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 216 | depends on FEATURE_EDITING |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 217 | |
| 218 | config FEATURE_USERNAME_COMPLETION |
| 219 | bool "Username completion" |
Denys Vlasenko | 1afa494 | 2016-12-23 13:40:24 +0100 | [diff] [blame] | 220 | default y |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 221 | depends on FEATURE_TAB_COMPLETION |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 222 | |
| 223 | config FEATURE_EDITING_FANCY_PROMPT |
| 224 | bool "Fancy shell prompts" |
Denys Vlasenko | 5d26df6 | 2010-07-16 15:31:38 +0200 | [diff] [blame] | 225 | default y |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 226 | depends on FEATURE_EDITING |
| 227 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 228 | Setting this option allows for prompts to use things like \w and |
| 229 | \$ and escape codes. |
Denis Vlasenko | 38f6319 | 2007-01-22 09:03:07 +0000 | [diff] [blame] | 230 | |
Ron Yorston | 2328690 | 2018-02-25 20:09:54 +0100 | [diff] [blame] | 231 | config FEATURE_EDITING_WINCH |
| 232 | bool "Enable automatic tracking of window size changes" |
| 233 | default y |
| 234 | depends on FEATURE_EDITING |
| 235 | |
Denys Vlasenko | 020f406 | 2009-05-17 16:44:54 +0200 | [diff] [blame] | 236 | config FEATURE_EDITING_ASK_TERMINAL |
| 237 | bool "Query cursor position from terminal" |
| 238 | default n |
| 239 | depends on FEATURE_EDITING |
| 240 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 241 | Allow usage of "ESC [ 6 n" sequence. Terminal answers back with |
| 242 | current cursor position. This information is used to make line |
| 243 | editing more robust in some cases. |
| 244 | If you are not sure whether your terminals respond to this code |
| 245 | correctly, or want to save on code size (about 400 bytes), |
| 246 | then do not turn this option on. |
Denys Vlasenko | 020f406 | 2009-05-17 16:44:54 +0200 | [diff] [blame] | 247 | |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 248 | config LOCALE_SUPPORT |
| 249 | bool "Enable locale support (system needs locale for this to work)" |
| 250 | default n |
| 251 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 252 | Enable this if your system has locale support and you would like |
| 253 | busybox to support locale settings. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 254 | |
| 255 | config UNICODE_SUPPORT |
| 256 | bool "Support Unicode" |
| 257 | default y |
| 258 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 259 | This makes various applets aware that one byte is not |
| 260 | one character on screen. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 261 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 262 | Busybox aims to eventually work correctly with Unicode displays. |
| 263 | Any older encodings are not guaranteed to work. |
| 264 | Probably by the time when busybox will be fully Unicode-clean, |
| 265 | other encodings will be mainly of historic interest. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 266 | |
| 267 | config UNICODE_USING_LOCALE |
| 268 | bool "Use libc routines for Unicode (else uses internal ones)" |
| 269 | default n |
| 270 | depends on UNICODE_SUPPORT && LOCALE_SUPPORT |
| 271 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 272 | With this option on, Unicode support is implemented using libc |
| 273 | routines. Otherwise, internal implementation is used. |
| 274 | Internal implementation is smaller. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 275 | |
| 276 | config FEATURE_CHECK_UNICODE_IN_ENV |
| 277 | bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables" |
| 278 | default n |
| 279 | depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE |
| 280 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 281 | With this option on, Unicode support is activated |
| 282 | only if locale-related variables have the value of the form |
| 283 | "xxxx.utf8" |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 284 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 285 | Otherwise, Unicode support will be always enabled and active. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 286 | |
| 287 | config SUBST_WCHAR |
| 288 | int "Character code to substitute unprintable characters with" |
| 289 | depends on UNICODE_SUPPORT |
| 290 | default 63 |
| 291 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 292 | Typical values are 63 for '?' (works with any output device), |
| 293 | 30 for ASCII substitute control code, |
| 294 | 65533 (0xfffd) for Unicode replacement character. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 295 | |
| 296 | config LAST_SUPPORTED_WCHAR |
| 297 | int "Range of supported Unicode characters" |
| 298 | depends on UNICODE_SUPPORT |
| 299 | default 767 |
| 300 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 301 | Any character with Unicode value bigger than this is assumed |
| 302 | to be non-printable on output device. Many applets replace |
| 303 | such characters with substitution character. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 304 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 305 | The idea is that many valid printable Unicode chars |
| 306 | nevertheless are not displayed correctly. Think about |
| 307 | combining charachers, double-wide hieroglyphs, obscure |
| 308 | characters in dozens of ancient scripts... |
| 309 | Many terminals, terminal emulators, xterms etc will fail |
| 310 | to handle them correctly. Choose the smallest value |
| 311 | which suits your needs. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 312 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 313 | Typical values are: |
| 314 | 126 - ASCII only |
| 315 | 767 (0x2ff) - there are no combining chars in [0..767] range |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 316 | (the range includes Latin 1, Latin Ext. A and B), |
| 317 | code is ~700 bytes smaller for this case. |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 318 | 4351 (0x10ff) - there are no double-wide chars in [0..4351] range, |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 319 | code is ~300 bytes smaller for this case. |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 320 | 12799 (0x31ff) - nearly all non-ideographic characters are |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 321 | available in [0..12799] range, including |
| 322 | East Asian scripts like katakana, hiragana, hangul, |
| 323 | bopomofo... |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 324 | 0 - off, any valid printable Unicode character will be printed. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 325 | |
| 326 | config UNICODE_COMBINING_WCHARS |
| 327 | bool "Allow zero-width Unicode characters on output" |
| 328 | default n |
| 329 | depends on UNICODE_SUPPORT |
| 330 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 331 | With this option off, any Unicode char with width of 0 |
| 332 | is substituted on output. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 333 | |
| 334 | config UNICODE_WIDE_WCHARS |
| 335 | bool "Allow wide Unicode characters on output" |
| 336 | default n |
| 337 | depends on UNICODE_SUPPORT |
| 338 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 339 | With this option off, any Unicode char with width > 1 |
| 340 | is substituted on output. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 341 | |
| 342 | config UNICODE_BIDI_SUPPORT |
| 343 | bool "Bidirectional character-aware line input" |
| 344 | default n |
| 345 | depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE |
| 346 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 347 | With this option on, right-to-left Unicode characters |
| 348 | are treated differently on input (e.g. cursor movement). |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 349 | |
| 350 | config UNICODE_NEUTRAL_TABLE |
| 351 | bool "In bidi input, support non-ASCII neutral chars too" |
| 352 | default n |
| 353 | depends on UNICODE_BIDI_SUPPORT |
| 354 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 355 | In most cases it's enough to treat only ASCII non-letters |
| 356 | (i.e. punctuation, numbers and space) as characters |
| 357 | with neutral directionality. |
| 358 | With this option on, more extensive (and bigger) table |
| 359 | of neutral chars will be used. |
Denys Vlasenko | 1255925 | 2016-11-24 22:18:55 +0100 | [diff] [blame] | 360 | |
| 361 | config UNICODE_PRESERVE_BROKEN |
| 362 | bool "Make it possible to enter sequences of chars which are not Unicode" |
| 363 | default n |
| 364 | depends on UNICODE_SUPPORT |
| 365 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 366 | With this option on, on line-editing input (such as used by shells) |
| 367 | invalid UTF-8 bytes are not substituted with the selected |
| 368 | substitution character. |
| 369 | For example, this means that entering 'l', 's', ' ', 0xff, [Enter] |
| 370 | at shell prompt will list file named 0xff (single char name |
| 371 | with char value 255), not file named '?'. |