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 "á")</it>", 35d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa * Romaji-to-Kana conversion in Japanese <it>(ex: "w"+"a" to "わ")</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