Implemented llvm::sys::locale::columnWidth and isPrint for the case of generic UTF8...
authorAlexander Kornienko <alexfh@google.com>
Wed, 7 Aug 2013 00:07:07 +0000 (00:07 +0000)
committerAlexander Kornienko <alexfh@google.com>
Wed, 7 Aug 2013 00:07:07 +0000 (00:07 +0000)
commitece0bec0c824e71f062656ed5c727baf2a7bfc90
treea60c6a3b376085470d329dca710518c256eb7f4e
parentf65993999079bcde7b04373eca9ffa2be0e7ffe9
Implemented llvm::sys::locale::columnWidth and isPrint for the case of generic UTF8-capable terminal.

Summary:
This is a second attempt to get this right. After reading the Unicode
Standard I came up with the code that uses definitions of "printable" and
"column width" more suitable for terminal output (i.e. fixed-width fonts and
special treatment of many control characters).
The implementation here can probably be used for Windows and MacOS if someone
can test it properly.
The patch addresses PR14910.

Reviewers: jordan_rose, gribozavr

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1253

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187837 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/UnicodeCharRanges.h [new file with mode: 0644]
lib/Support/LocaleGeneric.inc
unittests/Support/CMakeLists.txt
unittests/Support/LocaleTest.cpp [new file with mode: 0644]