isFullWidth.js 864 B

1234567891011121314151617181920212223242526272829
  1. var isInt = require('./isInt');
  2. exports = function isFullWidth(c) {
  3. if (!isInt(c)) {
  4. return false;
  5. }
  6. return (
  7. c >= 0x1100 &&
  8. (c <= 0x115f ||
  9. c === 0x2329 ||
  10. c === 0x232a ||
  11. (0x2e80 <= c && c <= 0x3247 && c !== 0x303f) ||
  12. (0x3250 <= c && c <= 0x4dbf) ||
  13. (0x4e00 <= c && c <= 0xa4c6) ||
  14. (0xa960 <= c && c <= 0xa97c) ||
  15. (0xac00 <= c && c <= 0xd7a3) ||
  16. (0xf900 <= c && c <= 0xfaff) ||
  17. (0xfe10 <= c && c <= 0xfe19) ||
  18. (0xfe30 <= c && c <= 0xfe6b) ||
  19. (0xff01 <= c && c <= 0xff60) ||
  20. (0xffe0 <= c && c <= 0xffe6) ||
  21. (0x1b000 <= c && c <= 0x1b001) ||
  22. (0x1f200 <= c && c <= 0x1f251) ||
  23. (0x20000 <= c && c <= 0x3fffd))
  24. );
  25. };
  26. module.exports = exports;