|
12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- has-unicode
- ===========
-
- Try to guess if your terminal supports unicode
-
- ```javascript
- var hasUnicode = require("has-unicode")
-
- if (hasUnicode()) {
- // the terminal probably has unicode support
- }
- ```
- ```javascript
- var hasUnicode = require("has-unicode").tryHarder
- hasUnicode(function(unicodeSupported) {
- if (unicodeSupported) {
- // the terminal probably has unicode support
- }
- })
- ```
-
- ## Detecting Unicode
-
- What we actually detect is UTF-8 support, as that's what Node itself supports.
- If you have a UTF-16 locale then you won't be detected as unicode capable.
-
- ### Windows
-
- Since at least Windows 7, `cmd` and `powershell` have been unicode capable,
- but unfortunately even then it's not guaranteed. In many localizations it
- still uses legacy code pages and there's no facility short of running
- programs or linking C++ that will let us detect this. As such, we
- report any Windows installation as NOT unicode capable, and recommend
- that you encourage your users to override this via config.
-
- ### Unix Like Operating Systems
-
- We look at the environment variables `LC_ALL`, `LC_CTYPE`, and `LANG` in
- that order. For `LC_ALL` and `LANG`, it looks for `.UTF-8` in the value.
- For `LC_CTYPE` it looks to see if the value is `UTF-8`. This is sufficient
- for most POSIX systems. While locale data can be put in `/etc/locale.conf`
- as well, AFAIK it's always copied into the environment.
-
|