From e00ad0b5012aed794900b642de3c93ab71c45ec0 Mon Sep 17 00:00:00 2001 From: elfmz Date: Thu, 10 Nov 2022 00:31:59 +0300 Subject: fixes for underlined and crossed out characters; more tuning of truecolor colorer palette --- WinPort/src/Backend/TTY/TTYOutput.cpp | 5 +- WinPort/src/Backend/WX/Paint.cpp | 23 +- WinPort/src/WinPortHandle.cpp | 3 +- colorer/configs/base/hrc/base/asm.hrc | 24 ++ colorer/configs/base/hrc/base/c-unix.ent.hrc | 24 ++ colorer/configs/base/hrc/base/c.hrc | 10 + colorer/configs/base/hrc/base/cpp.hrc | 1 + colorer/configs/base/hrc/base/zz-c.txt | 130 +++++++ colorer/configs/base/hrc/base/zz-consts.hrx | 440 +++++++++++++++++++++++ colorer/configs/base/hrc/base/zz-consts.txt | 518 +++++++++++++++++++++++++++ colorer/configs/base/hrc/base/zz-posix.hrx | 169 +++++++++ colorer/configs/base/hrc/base/zz-posix.txt | 176 +++++++++ colorer/configs/base/hrc/lib/default.hrc | 1 + colorer/configs/base/hrd/rgb/default.hrd | 14 +- colorer/src/pcolorer2/FarEditor.cpp | 59 ++- 15 files changed, 1548 insertions(+), 49 deletions(-) create mode 100644 colorer/configs/base/hrc/base/zz-c.txt create mode 100644 colorer/configs/base/hrc/base/zz-consts.hrx create mode 100644 colorer/configs/base/hrc/base/zz-consts.txt create mode 100644 colorer/configs/base/hrc/base/zz-posix.hrx create mode 100644 colorer/configs/base/hrc/base/zz-posix.txt diff --git a/WinPort/src/Backend/TTY/TTYOutput.cpp b/WinPort/src/Backend/TTY/TTYOutput.cpp index e09739a3..2cd6eb49 100644 --- a/WinPort/src/Backend/TTY/TTYOutput.cpp +++ b/WinPort/src/Backend/TTY/TTYOutput.cpp @@ -21,8 +21,7 @@ #define ESC "\x1b" #define ATTRIBUTES_AFFECTING_BACKGROUND \ - (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY \ - | BACKGROUND_TRUECOLOR | COMMON_LVB_UNDERSCORE | COMMON_LVB_STRIKEOUT) + (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY | BACKGROUND_TRUECOLOR) void TTYOutput::TrueColors::AppendSuffix(std::string &out, DWORD rgb) { @@ -62,7 +61,7 @@ void TTYOutput::WriteUpdatedAttributes(DWORD64 attr, bool is_space) } if (is_space && (xa & ATTRIBUTES_AFFECTING_BACKGROUND) == 0) { if ((attr & BACKGROUND_TRUECOLOR) == 0 || GET_RGB_BACK(xa) == 0) { - if ( ((attr | _prev_attr) & COMMON_LVB_REVERSE_VIDEO) == 0) { + if ( ((attr | _prev_attr) & (COMMON_LVB_REVERSE_VIDEO | COMMON_LVB_UNDERSCORE | COMMON_LVB_STRIKEOUT)) == 0) { return; } } diff --git a/WinPort/src/Backend/WX/Paint.cpp b/WinPort/src/Backend/WX/Paint.cpp index 1eabb702..8aa7580f 100644 --- a/WinPort/src/Backend/WX/Paint.cpp +++ b/WinPort/src/Backend/WX/Paint.cpp @@ -700,11 +700,15 @@ void WXCustomDrawChar::Painter::FillPixel(wxCoord left, wxCoord top) void ConsolePainter::NextChar(unsigned int cx, DWORD64 attributes, const wchar_t *wcz, unsigned int nx) { + if (!wcz[0] || !WCHAR_IS_VALID(wcz[0])) { + wcz = L" "; + } + WXCustomDrawChar::DrawT custom_draw = nullptr; - if (!wcz[0] || (!wcz[1] && (wcz[0] == L' ' || !WCHAR_IS_VALID(wcz[0]) || (_context->IsCustomDrawEnabled() + if ((!wcz[1] && (wcz[0] == L' ' || (_context->IsCustomDrawEnabled() && (custom_draw = WXCustomDrawChar::Get(wcz[0])) != nullptr)))) { - if (!_buffer.empty()) + if (!_buffer.empty()) FlushBackground(cx + nx - 1); FlushText(cx + nx - 1); } @@ -712,7 +716,10 @@ void ConsolePainter::NextChar(unsigned int cx, DWORD64 attributes, const wchar_t const WinPortRGB &clr_back = ConsoleBackground2RGB(attributes); PrepareBackground(cx, clr_back, nx); - if (!wcz[0] || (!wcz[1] && (wcz[0] == L' ' || !WCHAR_IS_VALID(wcz[0])))) { + const bool underlined = (attributes & COMMON_LVB_UNDERSCORE) != 0; + const bool strikeout = (attributes & COMMON_LVB_STRIKEOUT) != 0; + + if (!strikeout && !underlined && wcz[0] == L' ' && !wcz[1]) { return; } @@ -722,15 +729,19 @@ void ConsolePainter::NextChar(unsigned int cx, DWORD64 attributes, const wchar_t FlushBackground(cx + nx); WXCustomDrawCharPainter cdp(*this, clr_text, clr_back); custom_draw(cdp, _start_y, cx); - FlushDecorations(cx); + if (underlined || strikeout) { + _start_cx = cx; + _prev_underlined = underlined; + _prev_strikeout = strikeout; + _clr_text = clr_text; + FlushDecorations(cx + nx); + } _start_cx = (unsigned int)-1; _prev_fit_font_index = 0; return; } uint8_t fit_font_index = _context->CharFitTest(_dc, wcz); - const bool underlined = (attributes & COMMON_LVB_UNDERSCORE) != 0; - const bool strikeout = (attributes & COMMON_LVB_STRIKEOUT) != 0; if (fit_font_index == _prev_fit_font_index && _prev_underlined == underlined && _prev_strikeout == strikeout && _start_cx != (unsigned int)-1 && _clr_text == clr_text && _context->IsPaintBuffered()) { diff --git a/WinPort/src/WinPortHandle.cpp b/WinPort/src/WinPortHandle.cpp index 4aef8208..a4fa01c6 100644 --- a/WinPort/src/WinPortHandle.cpp +++ b/WinPort/src/WinPortHandle.cpp @@ -67,7 +67,6 @@ WinPortHandle *WinPortHandle_Reference(HANDLE h) if (g_winport_handles.find(wph)==g_winport_handles.end()) return NULL; wph->Reference(); - } + } return wph; } - diff --git a/colorer/configs/base/hrc/base/asm.hrc b/colorer/configs/base/hrc/base/asm.hrc index 0431f99c..9084899a 100644 --- a/colorer/configs/base/hrc/base/asm.hrc +++ b/colorer/configs/base/hrc/base/asm.hrc @@ -84,6 +84,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/colorer/configs/base/hrc/base/c-unix.ent.hrc b/colorer/configs/base/hrc/base/c-unix.ent.hrc index 63ab4873..6038c820 100644 --- a/colorer/configs/base/hrc/base/c-unix.ent.hrc +++ b/colorer/configs/base/hrc/base/c-unix.ent.hrc @@ -5,6 +5,8 @@ + + @@ -34,6 +36,9 @@ + + + @@ -44,15 +49,20 @@ + + + + + @@ -61,6 +71,7 @@ + @@ -491,9 +502,14 @@ + + + + + @@ -677,6 +693,14 @@ + + + + + + + + diff --git a/colorer/configs/base/hrc/base/c.hrc b/colorer/configs/base/hrc/base/c.hrc index 029c2a4b..53a937e1 100644 --- a/colorer/configs/base/hrc/base/c.hrc +++ b/colorer/configs/base/hrc/base/c.hrc @@ -645,6 +645,16 @@ + + + + + + + + + + diff --git a/colorer/configs/base/hrc/base/cpp.hrc b/colorer/configs/base/hrc/base/cpp.hrc index 623e514e..f226e019 100644 --- a/colorer/configs/base/hrc/base/cpp.hrc +++ b/colorer/configs/base/hrc/base/cpp.hrc @@ -250,6 +250,7 @@ + diff --git a/colorer/configs/base/hrc/base/zz-c.txt b/colorer/configs/base/hrc/base/zz-c.txt new file mode 100644 index 00000000..b63a8d60 --- /dev/null +++ b/colorer/configs/base/hrc/base/zz-c.txt @@ -0,0 +1,130 @@ +abort +abs +acos +asctime +asin +atan +atan2 +atexit +atof +atoi +atol +bsearch +calloc +ceil +clearerr +clock +cos +cosh +ctime +difftime +div +exit +exp +fabs +fclose +feof +ferror +fflush +fgetc +fgetpos +fgets +floor +fmod +fopen +fprintf +fputc +fputs +fread +free +freopen +frexp +fscanf +fseek +fsetpos +ftell +fwrite +getc +getchar +getenv +gets +gmtime +isalnum +isalpha +iscntrl +isdigit +isgraph +islower +isprint +ispunct +isspace +isupper +isxdigit +labs +ldexp +ldiv +localtime +log +log10 +malloc +memchr +memcmp +memcpy +memmove +memset +mktime +modf +perror +pow +printf +putc +putchar +puts +qsort +rand +realloc +remove +rename +rewind +scanf +setbuf +setvbuf +sin +sinh +sprintf +sqrt +srand +sscanf +strcat +strchr +strcmp +strcoll +strcpy +strcspn +strerror +strftime +strlen +strncat +strncmp +strncpy +strpbrk +strrchr +strspn +strstr +strtod +strtok +strtol +strtoul +strxfrm +system +tan +tanh +time +tmpfile +tmpname +tolower +toupper +ungetc +vfprintf +vprintf +vsprintf diff --git a/colorer/configs/base/hrc/base/zz-consts.hrx b/colorer/configs/base/hrc/base/zz-consts.hrx new file mode 100644 index 00000000..6226890a --- /dev/null +++ b/colorer/configs/base/hrc/base/zz-consts.hrx @@ -0,0 +1,440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/colorer/configs/base/hrc/base/zz-consts.txt b/colorer/configs/base/hrc/base/zz-consts.txt new file mode 100644 index 00000000..a23d59f7 --- /dev/null +++ b/colorer/configs/base/hrc/base/zz-consts.txt @@ -0,0 +1,518 @@ +COMMAND_LINE_SIZE +TIOCM_CAR +TIOCM_CD +TIOCM_CTS +TIOCM_DSR +TIOCM_DTR +TIOCM_LE +TIOCM_OUT1 +TIOCM_OUT2 +TIOCM_RI +TIOCM_RNG +TIOCM_RTS +TIOCM_SR +TIOCM_ST +E2BIG +EACCES +EADDRINUSE +EADDRNOTAVAIL +EAFNOSUPPORT +EAGAIN +EALREADY +EBADE +EBADF +EBADFD +EBADMSG +EBADR +EBADRQC +EBADSLT +EBUSY +ECANCELED +ECHILD +ECHRNG +ECOMM +ECONNABORTED +ECONNREFUSED +ECONNRESET +EDEADLK +EDEADLOCK +EDESTADDRREQ +EDOM +EDQUOT +EEXIST +EFAULT +EFBIG +EHOSTDOWN +EHOSTUNREACH +EHWPOISON +EIDRM +EILSEQ +EINPROGRESS +EINTR +EINVAL +EIO +EISCONN +EISDIR +EISNAM +EKEYEXPIRED +EKEYREJECTED +EKEYREVOKED +EL2HLT +EL2NSYNC +EL3HLT +EL3RST +ELIBACC +ELIBBAD +ELIBEXEC +ELIBMAX +ELIBSCN +ELNRANGE +ELOOP +EMEDIUMTYPE +EMFILE +EMLINK +EMSGSIZE +EMULTIHOP +ENAMETOOLONG +ENETDOWN +ENETRESET +ENETUNREACH +ENFILE +ENOANO +ENOBUFS +ENODATA +ENODEV +ENOENT +ENOEXEC +ENOKEY +ENOLCK +ENOLINK +ENOMEDIUM +ENOMEM +ENOMSG +ENONET +ENOPKG +ENOPROTOOPT +ENOSPC +ENOSR +ENOSTR +ENOSYS +ENOTBLK +ENOTCONN +ENOTDIR +ENOTEMPTY +ENOTRECOVERABLE +ENOTSOCK +ENOTSUP +ENOTTY +ENOTUNIQ +ENXIO +EOPNOTSUPP +EOVERFLOW +EOWNERDEAD +EPERM +EPFNOSUPPORT +EPIPE +EPROTO +EPROTONOSUPPORT +EPROTOTYPE +ERANGE +EREMCHG +EREMOTE +EREMOTEIO +ERESTART +ERFKILL +EROFS +ESHUTDOWN +ESOCKTNOSUPPORT +ESPIPE +ESRCH +ESTALE +ESTRPIPE +ETIME +ETIMEDOUT +ETOOMANYREFS +ETXTBSY +EUCLEAN +EUNATCH +EUSERS +EWOULDBLOCK +EXDEV +EXFULL +FASYNC +FD_CLOEXEC +F_DUPFD +F_EXLCK +F_GETFD +F_GETFL +F_GETLK +F_GETLK64 +F_GETOWN +F_GETOWNER_UIDS +F_GETOWN_EX +F_GETSIG +FIOASYNC +FIOCLEX +FIOGETOWN +FIONBIO +FIONCLEX +FIONREAD +FIOSETOWN +F_LINUX_SPECIFIC_BASE +F_LOCK +F_OFD_GETLK +F_OFD_SETLK +F_OFD_SETLKW +F_OWNER_PGRP +F_OWNER_PID +F_OWNER_TID +F_RDLCK +F_SETFD +F_SETFL +F_SETLK +F_SETLK64 +F_SETLKW +F_SETLKW64 +F_SETOWN +F_SETOWN_EX +F_SETSIG +F_SHLCK +F_TEST +F_TLOCK +F_ULOCK +F_UNLCK +F_WRLCK +LOCK_EX +LOCK_MAND +LOCK_NB +LOCK_READ +LOCK_RW +LOCK_SH +LOCK_UN +LOCK_WRITE +MADV_DODUMP +MADV_DOFORK +MADV_DONTDUMP +MADV_DONTFORK +MADV_DONTNEED +MADV_FREE +MADV_HUGEPAGE +MADV_HWPOISON +MADV_KEEPONFORK +MADV_MERGEABLE +MADV_NOHUGEPAGE +MADV_NORMAL +MADV_RANDOM +MADV_REMOVE +MADV_SEQUENTIAL +MADV_SOFT_OFFLINE +MADV_UNMERGEABLE +MADV_WILLNEED +MADV_WIPEONFORK +MAP_ANONYMOUS +MAP_DENYWRITE +MAP_EXECUTABLE +MAP_FILE +MAP_FIXED +MAP_GROWSDOWN +MAP_HUGETLB +MAP_LOCKED +MAP_NONBLOCK +MAP_NORESERVE +MAP_POPULATE +MAP_PRIVATE +MAP_SHARED +MAP_SHARED_VALIDATE +MAP_STACK +MAP_SYNC +MAP_TYPE +MCL_CURRENT +MCL_FUTURE +MCL_ONFAULT +MLOCK_ONFAULT +MS_ASYNC +MS_INVALIDATE +MS_SYNC +_NSIG +O_ACCMODE +O_APPEND +O_CLOEXEC +O_CREAT +O_DIRECT +O_DIRECTORY +O_DSYNC +O_EXCL +O_LARGEFILE +O_NDELAY +O_NOATIME +O_NOCTTY +O_NOFOLLOW +O_NONBLOCK +O_PATH +O_RDONLY +O_RDWR +__O_SYNC +O_SYNC +__O_TMPFILE +O_TMPFILE +O_TMPFILE_MASK +O_TRUNC +O_WRONLY +PAGE_SIZE +PKEY_ACCESS_MASK +PKEY_DISABLE_ACCESS +PKEY_DISABLE_WRITE +POLL_BUSY_LOOP +POLLERR +POLLFREE +POLLHUP +POLLIN +POLLMSG +POLLNVAL +POLLOUT +POLLPRI +POLLRDBAND +POLLRDHUP +POLLRDNORM +POLLREMOVE +POLLWRBAND +POLLWRNORM +POLLWRNORM +PROT_EXEC +PROT_GROWSDOWN +PROT_GROWSUP +PROT_NONE +PROT_READ +PROT_SEM +PROT_WRITE +RLIMIT_CORE +RLIMIT_CPU +RLIMIT_DATA +RLIMIT_FSIZE +RLIMIT_LOCKS +RLIMIT_MSGQUEUE +RLIMIT_NICE +RLIMIT_RTPRIO +RLIMIT_RTTIME +RLIMIT_SIGPENDING +RLIMIT_STACK +RLIM_NLIMITS +SCM_TIMESTAMP +SCM_TIMESTAMPING +SCM_TIMESTAMPING_OPT_STATS +SCM_TIMESTAMPING_PKTINFO +SCM_TIMESTAMPNS +SCM_WIFI_STATUS +SEEK_CUR +SEEK_END +SEEK_SET +S_IFBLK +S_IFCHR +S_IFDIR +S_IFMT +S_IFREG +SIGABRT +SIGALRM +SIG_BLOCK +SIGBUS +SIGCHLD +SIGCONT +SIG_DFL +SIG_ERR +SIGFPE +SIGHUP +SIG_IGN +SIGILL +SIGINT +SIGIO +SIGIOT +SIGKILL +SIGLOST +SIGPIPE +SIGPOLL +SIGPROF +SIGPWR +SIGQUIT +SIGRTMAX +SIGRTMIN +SIGSEGV +SIG_SETMASK +SIGSTKFLT +SIGSTOP +SIGSYS +SIGTERM +SIGTRAP +SIGTSTP +SIGTTIN +SIGTTOU +SIG_UNBLOCK +SIGUNUSED +SIGURG +SIGUSR1 +SIGUSR2 +SIGVTALRM +SIGWINCH +SIGXCPU +SIGXFSZ +SIOCATMARK +SIOCGPGRP +SIOCGSTAMP +SIOCGSTAMPNS +SIOCSPGRP +S_IRGRP +S_IROTH +S_IRUSR +S_IRWXG +S_IRWXO +S_IRWXU +S_ISGID +S_ISUID +S_IWGRP +S_IWOTH +S_IWUSR +S_IXGRP +S_IXOTH +S_IXUSR +SO_ACCEPTCONN +SO_ATTACH_BPF +SO_ATTACH_FILTER +SO_ATTACH_REUSEPORT_CBPF +SO_ATTACH_REUSEPORT_EBPF +SO_BINDTODEVICE +SO_BPF_EXTENSIONS +SO_BROADCAST +SO_BSDCOMPAT +SO_BUSY_POLL +SO_CNX_ADVICE +SO_COOKIE +SO_DEBUG +SO_DETACH_BPF +SO_DETACH_FILTER +SO_DOMAIN +SO_DONTROUTE +SO_ERROR +SO_GET_FILTER +SO_INCOMING_CPU +SO_INCOMING_NAPI_ID +SO_KEEPALIVE +SO_LINGER +SO_LOCK_FILTER +SOL_SOCKET +SO_MARK +SO_MAX_PACING_RATE +SO_MEMINFO +SO_NO_CHECK +SO_NOFCS +SO_OOBINLINE +SO_PASSCRED +SO_PASSSEC +SO_PEEK_OFF +SO_PEERCRED +SO_PEERGROUPS +SO_PEERNAME +SO_PEERSEC +SO_PRIORITY +SO_PROTOCOL +SO_RCVBUF +SO_RCVBUFFORCE +SO_RCVLOWAT +SO_RCVTIMEO +SO_REUSEADDR +SO_REUSEPORT +SO_RXQ_OVFL +SO_SECURITY_AUTHENTICATION +SO_SECURITY_ENCRYPTION_NETWORK +SO_SECURITY_ENCRYPTION_TRANSPORT +SO_SELECT_ERR_QUEUE +SO_SNDBUF +SO_SNDBUFFORCE +SO_SNDLOWAT +SO_SNDTIMEO +SO_TIMESTAMP +SO_TIMESTAMPING +SO_TIMESTAMPNS +SO_TYPE +SO_WIFI_STATUS +SO_ZEROCOPY +STDERR_FILENO +STDIN_FILENO +STDOUT_FILENO +TCFLSH +TCGETA +TCGETS +TCGETS2 +TCGETX +TCSBRK +TCSBRKP +TCSETA +TCSETAF +TCSETAW +TCSETS +TCSETS2 +TCSETSF +TCSETSF2 +TCSETSW +TCSETSW2 +TCSETX +TCSETXF +TCSETXW +TCXONC +TIOCCBRK +TIOCCONS +TIOCEXCL +TIOCGDEV +TIOCGETD +TIOCGEXCL +TIOCGICOUNT +TIOCGLCKTRMIOS +TIOCGPGRP +TIOCGPKT +TIOCGPTLCK +TIOCGPTN +TIOCGPTPEER +TIOCGRS485 +TIOCGSERIAL +TIOCGSID +TIOCGSOFTCAR +TIOCGWINSZ +TIOCINQ +TIOCLINUX +TIOCMBIC +TIOCMBIS +TIOCMGET +TIOCMIWAIT +TIOCM_LOOP +TIOCMSET +TIOCNOTTY +TIOCNXCL +TIOCOUTQ +TIOCPKT +TIOCPKT_DATA +TIOCPKT_DOSTOP +TIOCPKT_FLUSHREAD +TIOCPKT_FLUSHWRITE +TIOCPKT_IOCTL +TIOCPKT_NOSTOP +TIOCPKT_START +TIOCPKT_STOP +TIOCSBRK +TIOCSCTTY +TIOCSERCONFIG +TIOCSERGETLSR +TIOCSERGETMULTI +TIOCSERGSTRUCT +TIOCSERGWILD +TIOCSERSETMULTI +TIOCSERSWILD +TIOCSER_TEMT +TIOCSETD +TIOCSIG +TIOCSLCKTRMIOS +TIOCSPGRP +TIOCSPTLCK +TIOCSRS485 +TIOCSSERIAL +TIOCSSOFTCAR +TIOCSTI +TIOCSWINSZ +TIOCVHANGUP diff --git a/colorer/configs/base/hrc/base/zz-posix.hrx b/colorer/configs/base/hrc/base/zz-posix.hrx new file mode 100644 index 00000000..db8355e3 --- /dev/null +++ b/colorer/configs/base/hrc/base/zz-posix.hrx @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/colorer/configs/base/hrc/base/zz-posix.txt b/colorer/configs/base/hrc/base/zz-posix.txt new file mode 100644 index 00000000..e6bfaab9 --- /dev/null +++ b/colorer/configs/base/hrc/base/zz-posix.txt @@ -0,0 +1,176 @@ +access +alarm +cfgetispeed +cfgetospeed +cfsetispeed +cfsetospeed +chdir +chmod +chown +close +closedir +creat +ctermid +cuserid +execl +execle +execlp +execv +execve +execvp +fcntl +fdopen +fileno +fork +vfork +fpathconf +fstat +getcwd +getegid +getenv +geteuid +getgid +getgrgid +getgrnam +getgroups +getlogin +getpgrp +getpid +getppid +getpwnam +getpwuid +getuid +ioctl +isalnum +isatty +kill +killpg +link +longjmp +lstat +mkdir +mkfifo +open +opendir +pause +pipe +pipe2 +poll +pread +pwrite +read +readdir +rename +rewinddir +rmdir +select +setgid +setjmp +setpgid +setsid +setuid +sigaction +sigaddset +sigdelset +sigemptyset +sigfillset +sigismember +siglongjmp +signal +sigpending +sigprocmask +sigsetjmp +sigsuspend +sleep +stat +spawn +spawnp +sysconf +tcdrain +tcflow +tcflush +tcgetattr +tcgetpgrp +tcsendbreak +tcsetattr +tcsetpgrp +times +tmpname +ttyname +tzset +umask +uname +unlink +utime +waitpid +write + +pthread_create +pthread_cancel +pthread_detach +pthread_equal +pthread_exit +pthread_join +pthread_kill +pthread_once +pthread_self +pthread_setcancelstate +pthread_setcanceltype +pthread_testcancel +pthread_yield +pthread_attr_destroy +pthread_attr_getinheritsched +pthread_attr_getschedparam +pthread_attr_getschedpolicy +pthread_attr_getscope +pthread_attr_getstacksize +pthread_attr_getstackaddr +pthread_attr_getdetachstate +pthread_attr_init +pthread_attr_setinheritsched +pthread_attr_setschedparam +pthread_attr_setschedpolicy +pthread_attr_setscope +pthread_attr_setstacksize +pthread_attr_setstackaddr +pthread_attr_setdetachstate +pthread_mutexattr_destroy +pthread_mutexattr_getprioceiling +pthread_mutexattr_getprotocol +pthread_mutexattr_gettype +pthread_mutexattr_init +pthread_mutexattr_setprioceiling +pthread_mutexattr_setprotocol +pthread_mutexattr_settype +pthread_mutex_destroy +pthread_mutex_init +pthread_mutex_lock +pthread_mutex_timedlock +pthread_mutex_trylock +pthread_mutex_unlock +pthread_condattr_destroy +pthread_condattr_init +pthread_cond_broadcast +pthread_cond_destroy +pthread_cond_init +pthread_cond_signal +pthread_cond_timedwait +pthread_cond_wait +pthread_rwlock_destroy +pthread_rwlock_init +pthread_rwlock_rdlock +pthread_rwlock_tryrdlock +pthread_rwlock_trywrlock +pthread_rwlock_unlock +pthread_rwlock_wrlock +pthread_rwlockattr_destroy +pthread_rwlockattr_getpshared +pthread_rwlockattr_init +pthread_rwlockattr_setpshared +pthread_key_create +pthread_key_delete +pthread_getspecific +pthread_setspecific +pthread_atfork +pthread_cleanup_pop +pthread_cleanup_push diff --git a/colorer/configs/base/hrc/lib/default.hrc b/colorer/configs/base/hrc/lib/default.hrc index 67163779..9c660c20 100644 --- a/colorer/configs/base/hrc/lib/default.hrc +++ b/colorer/configs/base/hrc/lib/default.hrc @@ -136,6 +136,7 @@ + diff --git a/colorer/configs/base/hrd/rgb/default.hrd b/colorer/configs/base/hrd/rgb/default.hrd index 1a916823..cfb6973b 100644 --- a/colorer/configs/base/hrd/rgb/default.hrd +++ b/colorer/configs/base/hrd/rgb/default.hrd @@ -16,7 +16,7 @@ - + @@ -36,8 +36,6 @@ - - @@ -62,7 +60,7 @@ - + @@ -72,18 +70,18 @@ - + - + - - + + diff --git a/colorer/src/pcolorer2/FarEditor.cpp b/colorer/src/pcolorer2/FarEditor.cpp index b5a5caf9..1429b126 100644 --- a/colorer/src/pcolorer2/FarEditor.cpp +++ b/colorer/src/pcolorer2/FarEditor.cpp @@ -1311,36 +1311,35 @@ void FarEditor::addFARColor(int lno, int s, int e, color col) ec.Base.StartPos = s; ec.Base.EndPos = e-1; if (col.fg || col.bk) { - if (col.style & AI_STYLE_UNDERLINE) { - ec.Base.Color|= COMMON_LVB_UNDERSCORE; - } - if (col.style & AI_STYLE_STRIKEOUT) { - ec.Base.Color|= COMMON_LVB_STRIKEOUT; - } - ec.TrueFore.R = ((col.fg >> 16) & 0xFF); - ec.TrueFore.G = ((col.fg >> 8) & 0xFF); - ec.TrueFore.B = ((col.fg) & 0xFF); - ec.TrueFore.Flags = 1; - ec.TrueBack.R = ((col.bk >> 16) & 0xFF); - ec.TrueBack.G = ((col.bk >> 8) & 0xFF); - ec.TrueBack.B = ((col.bk) & 0xFF); - ec.TrueBack.Flags = 1; - - if (ec.TrueFore.R > 0x10) ec.Base.Color|= FOREGROUND_RED; - if (ec.TrueFore.G > 0x10) ec.Base.Color|= FOREGROUND_GREEN; - if (ec.TrueFore.B > 0x10) ec.Base.Color|= FOREGROUND_BLUE; - - if (ec.TrueBack.R > 0x10) ec.Base.Color|= BACKGROUND_RED; - if (ec.TrueBack.G > 0x10) ec.Base.Color|= BACKGROUND_GREEN; - if (ec.TrueBack.B > 0x10) ec.Base.Color|= BACKGROUND_BLUE; - - if (ec.TrueFore.R > 0x80 || ec.TrueFore.G > 0x80 || ec.TrueFore.B > 0x80) { - ec.Base.Color = FOREGROUND_INTENSITY; - } - - if (ec.Base.Color == 0 || ec.TrueBack.R > 0x80 || ec.TrueBack.G > 0x80 || ec.TrueBack.B > 0x80) { - ec.Base.Color = BACKGROUND_INTENSITY; - } + ec.TrueFore.R = ((col.fg >> 16) & 0xFF); + ec.TrueFore.G = ((col.fg >> 8) & 0xFF); + ec.TrueFore.B = ((col.fg) & 0xFF); + ec.TrueFore.Flags = 1; + ec.TrueBack.R = ((col.bk >> 16) & 0xFF); + ec.TrueBack.G = ((col.bk >> 8) & 0xFF); + ec.TrueBack.B = ((col.bk) & 0xFF); + ec.TrueBack.Flags = 1; + + if (ec.TrueFore.R > 0x10) ec.Base.Color|= FOREGROUND_RED; + if (ec.TrueFore.G > 0x10) ec.Base.Color|= FOREGROUND_GREEN; + if (ec.TrueFore.B > 0x10) ec.Base.Color|= FOREGROUND_BLUE; + + if (ec.TrueBack.R > 0x10) ec.Base.Color|= BACKGROUND_RED; + if (ec.TrueBack.G > 0x10) ec.Base.Color|= BACKGROUND_GREEN; + if (ec.TrueBack.B > 0x10) ec.Base.Color|= BACKGROUND_BLUE; + + if (ec.TrueFore.R > 0x80 || ec.TrueFore.G > 0x80 || ec.TrueFore.B > 0x80) { + ec.Base.Color = FOREGROUND_INTENSITY; + } + if (ec.Base.Color == 0 || ec.TrueBack.R > 0x80 || ec.TrueBack.G > 0x80 || ec.TrueBack.B > 0x80) { + ec.Base.Color = BACKGROUND_INTENSITY; + } + if (col.style & AI_STYLE_UNDERLINE) { + ec.Base.Color|= COMMON_LVB_UNDERSCORE; + } + if (col.style & AI_STYLE_STRIKEOUT) { + ec.Base.Color|= COMMON_LVB_STRIKEOUT; + } } #if 0 -- cgit v1.2.3