'CJK Reserve 1' => 0x2fffd,
'CJK Reserve 2' => 0x3fffd,
'Bomofo' => 0x312f,
'Bomofo Ext' => 0x31b7,
'Lisu' => 0xa4fd,
'Yi' => 0xa48f,
];
// Generate characters consisting of starts, midpoints, and ends.
$chars =
[];
foreach ($starts as $key =>
$value) { $chars[] =
$this->
code2utf($starts[$key]);
$mid =
round(0.5 *
($starts[$key] +
$ends[$key]));
$chars[] =
$this->
code2utf($mid);
$chars[] =
$this->
code2utf($ends[$key]);
} // Merge into a string and tokenize.
$string =
implode('',
$chars);
$text_processor = \Drupal::
service('search.text_processor'
);
assert($text_processor instanceof SearchTextProcessorInterface
);
$out =
trim($text_processor->
analyze($string));
$expected =
mb_strtolower(implode(' ',
$chars));