dist/jspdf.node.debug.js
function _getCharType(ch) {
      var charCode = ch.charCodeAt(),
          range = charCode >> 8,
          rangeIdx = _UNICODE_RANGES_MAP[range];

      if (rangeIdx !== undefined) {
        return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xFF)];
      } else if (range === 0xFC || range === 0xFD) {
        return "AL";
      } else if (_LTR_RANGES_REG_EXPR.test(range)) {
        //unlikely case
        return "L";
      } else if (range === 8) {
        // even less likely
        return "R";
      }

      return "N"; //undefined type, mark as neutral
    }
function _getCharType(ch) {
      var charCode = ch.charCodeAt(),
          range = charCode >> 8,
          rangeIdx = _UNICODE_RANGES_MAP[range];

      if (rangeIdx !== undefined) {
        return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xFF)];
      } else if (range === 0xFC || range === 0xFD) {
        return "AL";
      } else if (_LTR_RANGES_REG_EXPR.test(range)) {
        //unlikely case
        return "L";
      } else if (range === 8) {
        // even less likely
        return "R";
      }

      return "N"; //undefined type, mark as neutral
    }
function _getCharType ( ch ) { var charCode = ch . charCodeAt ( ) , range = charCode >> 8 , rangeIdx = _UNICODE_RANGES_MAP [ range ] ; if ( rangeIdx !== undefined ) { return _UNICODE_TYPES [ rangeIdx * 256 + ( charCode & 0xFF ) ] ; } else if ( range === 0xFC || range === 0xFD ) { return "AL" ; } else if ( _LTR_RANGES_REG_EXPR . test ( range ) ) { //unlikely case return "L" ; } else if ( range === 8 ) { // even less likely return "R" ; } return "N" ; //undefined type, mark as neutral }
for reference see 3.2 in http://unicode.org/reports/tr9/
for reference see 3 . 2 in http : // unicode . org / reports / tr9 /