$data) { unset($current); foreach ($data as $codepoint) { if (isset($current)) { if ($codepoint != $current + 1) { $final[$class][] = array($start, $current); $start = $codepoint; } } else { $start = $codepoint; } $current = $codepoint; } $final[$class][] = array($start, $current); } $exclude = ''; $length = 0; foreach ($final as $class => $data) { if (!in_array($class, array('Lu', 'Ll', 'Lt', 'Lo', 'Lm', 'Nd', 'No', 'Mc', 'Mn'))) { foreach ($data as $range) { $current = "$range[0]}"; $offset = 1; if ($range[0] != $range[1]) { $current .= "-$range[1]}"; $offset = 2; } $current_length = strlen($current) + $offset; if ($length + $current_length > 78) { $exclude .= "' .\n'"; $length = 0; } $length += $current_length; $exclude .= $current; } } } $exclude = str_replace('0x', '\x{', $exclude) ."\n";