public static function isalnumat($str, $pos) { if ($pos >= strlen($str)) { return false; } return QRinput::lookAnTable(ord($str[$pos])) >= 0; }
public function encodeModeAn($version) { try { $words = (int) ($this->size / 2); $bs = new QRbitstream(); $bs->appendNum(4, 0x2); $bs->appendNum(QRspec::lengthIndicator(Constants::QR_MODE_AN, $version), $this->size); for ($i = 0; $i < $words; $i++) { $val = (int) QRinput::lookAnTable(ord($this->data[$i * 2])) * 45; $val += (int) QRinput::lookAnTable(ord($this->data[$i * 2 + 1])); $bs->appendNum(11, $val); } if ($this->size & 1) { $val = QRinput::lookAnTable(ord($this->data[$words * 2])); $bs->appendNum(6, $val); } $this->bstream = $bs; return 0; } catch (Exception $e) { return -1; } }