Lines Matching refs:s
42 public static function isNormalized(string $s, int $form = self::FORM_C) argument
47 if (!isset($s[strspn($s, self::$ASCII)])) {
50 if (self::NFC == $form && preg_match('//u', $s) && !preg_match('/[^\x00-\x{2FF}]/u', $s)) {
54 return self::normalize($s, $form) === $s;
57 public static function normalize(string $s, int $form = self::FORM_C) argument
59 if (!preg_match('//u', $s)) {
70 return $s;
80 if ('' === $s) {
97 $r = self::decompose($s, $K);
113 private static function recompose($s) argument
122 $i = $s[0] < "\x80" ? 1 : $ulenMask[$s[0] & "\xF0"];
123 $len = \strlen($s);
125 $lastUchr = substr($s, 0, $i);
129 if ($s[$i] < "\x80") {
137 if ($j = strspn($s, $ASCII, $i + 1)) {
138 $lastUchr .= substr($s, $i, $j);
143 $lastUchr = $s[$i];
149 $ulen = $ulenMask[$s[$i] & "\xF0"];
150 $uchr = substr($s, $i, $ulen);
179 $uchr = substr($s, $i + $ulen, 3);
197 private static function decompose($s, $c) argument
211 $len = \strlen($s);
214 if ($s[$i] < "\x80") {
223 $j = 1 + strspn($s, $ASCII, $i + 1);
224 $result .= substr($s, $i, $j);
229 $ulen = $ulenMask[$s[$i] & "\xF0"];
230 $uchr = substr($s, $i, $ulen);
249 $s = str_repeat(' ', -$i).$s;
255 $s[$i + $j] = $uchr[$ulen + $j];