Code point translation for computer text, using state tables
First Claim
1. A method of using a computer to translate a source text whose glyphs and control codes are represented by a string of code points from a set of source code points to a destination text whose glyphs and control codes are represented by a string of code points from a set of destination code points, comprising the steps of:
- accessing a translation state table, said translation state table having at least one row of cells, each said row having an associated state value, and said cells being indexed by said source code points;
using a current state to select a row of said translation state table;
using an input code point sequence from said source text to select a cell within said row;
if said cell contains a next state value, repeating said steps of using said current state and of using an input code point sequence until a desired destination code point sequence is provided;
updating said current state with a next state value;
repeating said steps of using a current state, using an input code point sequence, and repeating, for each next input code point sequence.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of using a computer (11) to translate a source text file (10) to a destination text file (15). The source text file (11) is written with code points from one code page; whereas the destination text file (15) is written with code points from another code page. The computer (11) accesses a state table library (13a) and executes a translate process (13b). A state table (25) from the library (13a) has rows of cells, each row being associated with a different state. Each cell contains or implies a next state and may also contain an output code point sequence. During translation, the table (25) uses a current state to select a row and uses an input code point sequence from the source text file to select a table entry. The input code point sequence is processed until an output code point is produced. For multi-byte translations, the table (25) has a cells containing a state that results in reprocessing of input code point sequences.
-
Citations
16 Claims
-
1. A method of using a computer to translate a source text whose glyphs and control codes are represented by a string of code points from a set of source code points to a destination text whose glyphs and control codes are represented by a string of code points from a set of destination code points, comprising the steps of:
-
accessing a translation state table, said translation state table having at least one row of cells, each said row having an associated state value, and said cells being indexed by said source code points; using a current state to select a row of said translation state table; using an input code point sequence from said source text to select a cell within said row; if said cell contains a next state value, repeating said steps of using said current state and of using an input code point sequence until a desired destination code point sequence is provided; updating said current state with a next state value; repeating said steps of using a current state, using an input code point sequence, and repeating, for each next input code point sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of generating a state table for use in translating a source text whose glyphs and control codes are represented by a string of code points from a set of source code points to a destination text whose glyphs and control codes are represented by a string of code points from a set of destination code points, comprising the steps of:
-
assigning a common identifier to gylphs and control codes used in both said source text and said destination text; creating a source code page definition file containing each source code point and its associated common identifier; creating a destination code page definition file containing each destination code point and its associated common identifier; reading a source code point in said source code page definition file and using said common identifier to locate a destination code point in said destination code page definition file, thereby locating a table entry for said source code point, wherein said table entry may represent either a state value or an output destination code point sequence; determining a row of said table in which to place said table entry, said row having an associated state; placing said table entry in said row; and repeating said steps of reading, determining, and placing for each of said source code points. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification