kernelconcepts / rosetta Goto Github PK
View Code? Open in Web Editor NEWrosetta - multistroke / full word handwriting recognition for X
License: GNU General Public License v2.0
rosetta - multistroke / full word handwriting recognition for X
License: GNU General Public License v2.0
rosetta - multistroke / full word handwriting recognition for X Copyright (C) 2003 Ole Reinhardt <[email protected]> Rosetta is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Comments are welcome. What is rosetta? ---------------- Rosetta is a new handwriting recognition engine for the X Window System. It supports multi stroke recognition and recognition for whole words / sentences. It captures characters written in a small window with a pointing device (mouse, tablet or pen), recognizes them and passes the relating keypress events to the actualy focused window. You can write multi characters at once, but they may not be connected (like script). Single characters are recognized depending on the field you write in (lowercase, uppercase or special characters), multiple characters are recognizes as lower case characters . Rosetta has been developed on Linux systems, (i386 and StrongARM), but should be quite portable to any reasonable system with X. Rosetta still is experimental. Many of the ideas that have gone into the development of Rosetta are derived from xmerlin, written by Stefan Hellkvist. To His Ideas I added the multi stroke support and some more classification functions, resulting in Rosetta. What does rosetta depend on? ---------------------------- To compile rosetta you will need: X A C compiler To compile the rosetta learning application you'll also need GTK 2.x and the GPE build framework (e.g. libgpewidget) Compiling rosetta ----------------- If you would like to compile rosetta, simply edit the Makefile to point to correct locations for X and GPE and the type make. (Yes, this is a primitive build environment -- something fancy like autoconf perhaps will come in a future release). To install, simply type make install Using rosetta ------------- The rosetta package consists of two applications. rosetta itself and the rosetta leaning application. Running rosetta the first time will result in a long startup time. There will be done some precalculations which will be saved in /usr/local/share/rosetta/rosetta.pc Rosetta will be installed together with a standard config file for german and english characters. The config file is located in /etc/rosetta.conf Rosetta neets a database of known strokes. The one shipped with rosetta contains my handwriting. You could create your own by starting the learning application, klick on the "learn" button and then write character by character all characters shown in the "Name" field. Every character can contain of one or more strokes. After closing the learning application your own database is saved. The global database is located at: /usr/local/share/rosetta/rosetta.db The user database is located at: ~/.rosetta/rosetta.db After starting rosetta itself you'll get a small input window. With mbdesktop it will be integrated as new input method. The input window is seperated into three fields. Field "abc" is dedicated to lower case characters / numbers and some interpunctation characters. Field "ABC" is dedicated to upper case characters and also numbers and some interpunctation characters. Field "Symbol" is dedicated to all other characters and special function keys (eg. cursor keys, function keys etc.) If you write only one character the field you write in will be respected. If you write more than one character all characters will be assumed to be lower characters / numbers or some of the interpunctation characters (same as if you wrote in "abc" field). All characters have to be seperated from each other, so you may not write script but "printed characters". If you write more than one word rosetta will try to find out the word seperation. The german "umlaute" (e.g. äöü) wont have their own representation in the database. They will be matched by the number of "dots" you wrote on top of the character. This is configurable in the config file. In the learning application you can overwrite each character by hand or learn the whole configured alphabet. To overwrite a single character simply navigate to the character and then write the new one. To train the whole alphabet navigate to the first alphabet and press the learn button. Now write every character as shown in the "name" label. As configured in the config file every character is repeatet several times in the database to get better results in the recognition. Automatic learning is stopped by navigation in the database or by changing to the testmode. In testmode (Test tab) you can write characters and words an will see the result in the input box. Well, that's about it. Feel free to send me comments, suggestions, or bug fixes. -Ole Reinhardt <[email protected]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.