One不贊成使用的語素分析API具有「獲取日文/中文文本的魯迪文本」。如果您要求替換該特定功能,那麼以下代碼就是一個示例。但是,我不知道替換語素分析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);
嘗試使用仲裁處來代替。我在iOS下使用它。 – aehlke 2015-12-22 02:02:34