1053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/*
259aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma * Copyright (C) 2008-2012  OMRON SOFTWARE Co., Ltd.
3053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
4053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * you may not use this file except in compliance with the License.
6053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * You may obtain a copy of the License at
7053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
8053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
10053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * See the License for the specific language governing permissions and
14053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * limitations under the License.
15053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
16053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
17053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpackage jp.co.omronsoft.openwnn;
18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
19053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.content.SharedPreferences;
20053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/**
22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * The interface of pre-converter for input string used by OpenWnn.
23053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * <br>
24053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * This is a simple converter for Romaji-to-Kana input, Hangul input, etc.
25f96267ad0d85ede52c300ae5456d7e4ecb50915cDaisuke Miyakawa * Before converting the input string by {@link WnnEngine}, {@link OpenWnn} invokes this converter.
26053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD.  All Rights Reserved.
28053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
29053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpublic interface LetterConverter {
30053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Convert the layer #0 text(pressed key sequence) to layer #1 text(pre converted string).
32053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
33053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * This conversion is used for converting some key input to a character.
34d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * For example, Latin capital letter conversion <it>(ex: "'"+"a" to "&#x00E1;")</it>",
35d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * Romaji-to-Kana conversion in Japanese <it>(ex: "w"+"a" to "&#x308F;")</it>,
36053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Hangul conversion in Korean.
37053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
38d2f2d7241a8f9e02da0930b31b7cb90e4d43423bDaisuke Miyakawa     * @param text      The text data includes input sequence(layer #0) and output area(layer #1)
39d2f2d7241a8f9e02da0930b31b7cb90e4d43423bDaisuke Miyakawa     * @return      {@code true} if conversion is completed; {@code false} if not.
40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
41053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public boolean convert(ComposingText text);
42053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
43053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
44d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * Reflect the preferences in the letter converter.
45053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
46053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * @param pref      The preferences
47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
48053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public void setPreferences(SharedPreferences pref);
49053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project}
50