非推奨の形態素解析 API の機能の 1 つは、「日本語/中国語テキストのルディ テキストを取得する」ことです。その特定の機能の置き換えを求める場合、次のコードは一例です。ただし、形態素解析 API の他の機能の置き換えについてはわかりません。
CFStringRef testString = CFSTR("のちに検知されたトークンの範囲用として使用");
CFStringTokenizerRef tokenizer = CFStringTokenizerCreate(kCFAllocatorDefault,
testString,
CFRangeMake(0, CFStringGetLength(testString)),
kCFStringTokenizerUnitWordBoundary,
CFLocaleCreate(kCFAllocatorDefault, CFSTR("Japanese")));
do
{
if (CFStringTokenizerAdvanceToNextToken(tokenizer) == kCFStringTokenizerTokenNone) {
break;
}
CFStringRef originalToken = CFStringCreateWithSubstring(kCFAllocatorDefault,
testString,
CFStringTokenizerGetCurrentTokenRange(tokenizer));
// Get Latin transcription from the Japanese text
CFMutableStringRef convertedToken = (CFMutableStringRef)CFStringTokenizerCopyCurrentTokenAttribute(tokenizer,
kCFStringTokenizerAttributeLatinTranscription);
NSLog(@"token: %@ -> latin: %@", originalToken, convertedToken);
// Get kana from Latin transcription
CFStringTransform(convertedToken, NULL, kCFStringTransformLatinHiragana, false);
NSLog(@"token: %@ -> latin: %@", originalToken, convertedToken);
}
while (true);