在 Android Studio 中组合多个 Unicode 字符以形成另一个新字符,例如 Glyph 或 Conjunct

问题描述 投票:0回答:1

我正在尝试用我的母语创建一个键盘,其中某些字符是由其他字符组合而成的。 这是我尝试过的代码片段

<Key
        android:codes="0x91C,0x094D,0x091E"
        android:keyLabel="ज्ञ" />
    <Key
        android:codes="0x915,0x094D,0x937"
        android:keyLabel="क्ष" />
    <Key
        android:codes="0x936,0x094D,0x930"
        android:keyLabel="श्र" />

在第一个示例中 0x91C = ज,0x094D = ् ,0x091E = ञ; 我尝试在 Unicode 之间使用 +,但也没有尝试过。 有没有正确的语法或代码需要我在这里更新。

java android unicode utf-8 keyboard
1个回答
0
投票

为示例分配一个代码点 - android:codes="116" 并在 InputMethodService 文件中定义一个方法定义该方法

public class IndicKeyboardService extends InputMethodService implements KeyboardView.OnKeyboardActionListener {

@Override
public void onKey(int primaryCode, int[] keyCodes) {
    InputConnection inputConnection = getCurrentInputConnection();
    if (inputConnection != null) {
        switch (primaryCode) {
            case 116: // Example code, match your actual key code
                inputConnection.commitText("\u0924\u094D\u0930", 1);
                break;
            // Handle other keys...
            default:
                inputConnection.commitText(String.valueOf((char) primaryCode), 1);
                break;
        }
    }
}

通过这种方式,您可以组合代码点来形成字形/连接词。

© www.soinside.com 2019 - 2024. All rights reserved.