CA1162318A - Character set expansion - Google Patents
Character set expansionInfo
- Publication number
- CA1162318A CA1162318A CA000387015A CA387015A CA1162318A CA 1162318 A CA1162318 A CA 1162318A CA 000387015 A CA000387015 A CA 000387015A CA 387015 A CA387015 A CA 387015A CA 1162318 A CA1162318 A CA 1162318A
- Authority
- CA
- Canada
- Prior art keywords
- character
- small
- cap
- characters
- print element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J25/00—Actions or mechanisms not otherwise provided for
- B41J25/24—Case-shift mechanisms; Fount-change arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
Abstract
CHARACTER SET EXPANSION
Abstract of the Disclosure A method of, and system for, increasing the number of characters available to be printed with a single print element. If a printer is printing from storage and the character being presented to the printer does not match the print element in use, a determination is made as to whether the character is in fact available on the element. If so, the character is caused to be printed. If not, a determination is made as to whether the presented character can be constructed from characters existing on the print element. If so, construction is caused to occur to avoid a print element change. If, however, the presented character does not exist on the print element and cannot be constructed from characters that do exist on the print element, a requirement for a print element change is signalled.
Following a change, printing will continue with the new print element as long as characters are available, or can be constructed from available characters. As such, throughput is improved and required operator attention is diminished.
Abstract of the Disclosure A method of, and system for, increasing the number of characters available to be printed with a single print element. If a printer is printing from storage and the character being presented to the printer does not match the print element in use, a determination is made as to whether the character is in fact available on the element. If so, the character is caused to be printed. If not, a determination is made as to whether the presented character can be constructed from characters existing on the print element. If so, construction is caused to occur to avoid a print element change. If, however, the presented character does not exist on the print element and cannot be constructed from characters that do exist on the print element, a requirement for a print element change is signalled.
Following a change, printing will continue with the new print element as long as characters are available, or can be constructed from available characters. As such, throughput is improved and required operator attention is diminished.
Description
1 16~318 .,.
CHARACTER SET EXPANSION
DESCRIPTION
Background of the Invention l. Field of the Invention This invention generally relates to handling differing print element requirements. More specifically, this invention relates to expanding the usefulness of print elements in order to reduce print element change requirements and increase throughput.
CHARACTER SET EXPANSION
DESCRIPTION
Background of the Invention l. Field of the Invention This invention generally relates to handling differing print element requirements. More specifically, this invention relates to expanding the usefulness of print elements in order to reduce print element change requirements and increase throughput.
2. Description of the Prior Art With the advent of electronic keyboards in word processing systems, the ability to efficiently change keyboard coding to accommodate different print elements has been improved. Mechanical type changes 15 are no longer reqùired. An operator can now change from, for example, English keyboard coding to ~erman keyboard coding by simply keying a keyboard coding change to the system.
There are two types of systems which are readily 20 available in the marketplace today. One includes an interactive keyboard and printer, and the other includes an interactive keyboard and display. In the interactive keyboard/printer system, characters are printed as keyed. In both, keyed characters and 25 keyboard coding changes are stored in a text buffer for later printout and control of printout. During printout at any time using prior art systems, a matching of keyboard coding and printer print elements is required to provide intelligible printed text.
30 Such a requirement can result in an excessive number of print element changes. This is particularly the case when printing is to occur from a buffer and sequentially stored English and German columns are to be printed out in a side-by-side format.
AT9-80-03~
In order to more fully appreciate the problems encountered with present day systems, it is to be recalled that each of the characters and/or graphics included on a print element exist at a particular location on the element. For a wide range of characters, the locations are the same on a wide variety of elements. For example, a lower case "a"
will exist at the same location on many of the print elements available for a particular system. A change 10 in keyboard coding presents no problem for this character as long as the character exists on the print element being used. On the other hand, there are certain characters which exist at different locations on different print elements. If the keyboard coding 15 does not match the print element being used, a different character than that keyed will be printed, even though the keyed character is available on the element. With the instant invention, there is in essence a recoding to cause the intended character to 20 be printed from the print element. There are other instances where a composite character such as, for example, an overstruck "a" (â) is called for by the keyboard coding. This composite character is not available as a single character on a wide range of 25 elements, but both the overstrike and lower case "a"
characters are widely available on many elements. If both are available on the element in use, the character can be constructed according to this invention.
Representative of the closest known prior art related to reducing print element change requirements are U. S. patents 4,026,403 and 4,205,922. In the first mentioned patent, a reduction in print element change requirements is realized in that the most 35 frequently used or needed characters are arranged on a first to be used print element. Using the first element, all characters capable of being printed are printed on a page and then a second print element is , , ,--required. The second print element is then used to the extent possible to fill in unprinted areas on the page. I~ the entire page has not been printed, at least a third print element is required.
U. S. patent 4,205,922 addresses the problem of stored print element chan~e requirements not corresponding to current printer requirements. That is, when text is stored sequentially, but printed out non-sequentially, a stored print element change 10 requirement may not, in fact, require a chanae in elements. The disclosed system is structured to alert the operator only when changes are actually necessary.
In summary, the above described art is relevant to varying degrees, but falls short of either 15 anticipating or rendering the instant invention obvious. More specifically, the instant invention presents an advance over the prior art in that se~uentially called for print element changes are actually required and signalled only when the print ~0 element in use does not contain the next character to be printed and the next character to be printed cannot be constructed from the characters existing on the print element in use. Some of the more important advantages of this advance are 1) the flexibility of 25 standard, readily available print elements is improved, and 2) actual print element change requirements are reduced.
Summary of the Invention Both a method of, and system for, efficiently 30 managing print element changes are provided in that both character availability and character construction are looked to before alerting an operator of a print element change requirement.
The characters making up the various keyboards 35 available to the system are mapped in a minimum number of keyboard code maps. Existing in various of the maps are characters which are identically coded. In AT~-80-034 1 ~62318 other instances" difEerent coding rel)resents dirferent characters in di~ferent maps. Once a keyboard has been selected, the system wil select an aPpropriate keyboard code map to distin(luish coding during input keying. Both selections are stored in a ~uffer ~uch that a keyboard code map identi~ication code and a keyboard identification code properly identify following text codes. Assuming that at a particular point in time printing is from the buffer and the print element in use matches the last read keyboard identification code. Each character code read is reordered to determine whether it falls within either an invariant, variant, or composite character category. Regardless, reading causes a printing of the corresponding character. For a character read following a subsequent different keyboard identification code, the category can become 1mportant. If invariant, reordering causes a printing as before. If the character falls within a variant ~0 category and exists on the element, a translation operation is necessary. This is to correct for the code read not matching the desired character position on the element. If the character is not available on the element and the character is not a composite character, a change requirement is signalled. If the character falls wtihin a composite category, and the characters required to construct the composite character are available, category determinations are made to determine whether printing will occur from reordering and/or a translation operations.
Regardless, printing is caused to occur. If the character cannot be constructed due to the absence of a required character on the print element, a change requirement is signalled.
Under the above, once a print element is in use, printing can continue beyond normal print element limitations, and keyboard codiny changes no longer automatically require a change in print elements.
1 162~18 Brief Description of ~he Drawings Fig. 1 is a block diagram illustrating, in siMplified form, a basic keyboard/display word processing system.
Fig. 2 illustrates in greater detail the makeup of a storage device included in the control and storage block of Fig. 1.
Fig. 3 i-llustrates in greater detail the makeup of the control section of the control and storage 10 block of Fig. l.
Fig. 4 is a flow chart illustrating the operations performed by the processor of Fig. 3 under the control of the reordering program or algorithm denoted in Fig. 2.
Figs. 5-7 illustrate in greater detail the table makeup of the program section of the storage device shown in Fig. 2.
Figs. 8-12 are flow charts illustrating the operations performed by the processor of Fig. 3 under 20 the control of the translation program or algorithm of Fig. 2.
Figs. 13 and 14 are flow charts illustrating the operations performed by the processor of Fig. 3 in providing for continued printing following the reading 25 of a different keyboard identification code from the text storage buffer of Fig. 2.
Fig. 15 is similar to Fig. 2, but illustrates the handling of incoming text from an external source.
Description o~ the Preferred ~mbodiment For a more detailed understanding of the invention, reference is made to Fig. 1. In this figure is shown a simplified block diagram illustration of a basic word processing system. The system includes a keyboard 1 having an alpha/numeric 3ssection and an outboard section. The alpha/numeric section includes standard keys and bars for AT9-80-(`8~
There are two types of systems which are readily 20 available in the marketplace today. One includes an interactive keyboard and printer, and the other includes an interactive keyboard and display. In the interactive keyboard/printer system, characters are printed as keyed. In both, keyed characters and 25 keyboard coding changes are stored in a text buffer for later printout and control of printout. During printout at any time using prior art systems, a matching of keyboard coding and printer print elements is required to provide intelligible printed text.
30 Such a requirement can result in an excessive number of print element changes. This is particularly the case when printing is to occur from a buffer and sequentially stored English and German columns are to be printed out in a side-by-side format.
AT9-80-03~
In order to more fully appreciate the problems encountered with present day systems, it is to be recalled that each of the characters and/or graphics included on a print element exist at a particular location on the element. For a wide range of characters, the locations are the same on a wide variety of elements. For example, a lower case "a"
will exist at the same location on many of the print elements available for a particular system. A change 10 in keyboard coding presents no problem for this character as long as the character exists on the print element being used. On the other hand, there are certain characters which exist at different locations on different print elements. If the keyboard coding 15 does not match the print element being used, a different character than that keyed will be printed, even though the keyed character is available on the element. With the instant invention, there is in essence a recoding to cause the intended character to 20 be printed from the print element. There are other instances where a composite character such as, for example, an overstruck "a" (â) is called for by the keyboard coding. This composite character is not available as a single character on a wide range of 25 elements, but both the overstrike and lower case "a"
characters are widely available on many elements. If both are available on the element in use, the character can be constructed according to this invention.
Representative of the closest known prior art related to reducing print element change requirements are U. S. patents 4,026,403 and 4,205,922. In the first mentioned patent, a reduction in print element change requirements is realized in that the most 35 frequently used or needed characters are arranged on a first to be used print element. Using the first element, all characters capable of being printed are printed on a page and then a second print element is , , ,--required. The second print element is then used to the extent possible to fill in unprinted areas on the page. I~ the entire page has not been printed, at least a third print element is required.
U. S. patent 4,205,922 addresses the problem of stored print element chan~e requirements not corresponding to current printer requirements. That is, when text is stored sequentially, but printed out non-sequentially, a stored print element change 10 requirement may not, in fact, require a chanae in elements. The disclosed system is structured to alert the operator only when changes are actually necessary.
In summary, the above described art is relevant to varying degrees, but falls short of either 15 anticipating or rendering the instant invention obvious. More specifically, the instant invention presents an advance over the prior art in that se~uentially called for print element changes are actually required and signalled only when the print ~0 element in use does not contain the next character to be printed and the next character to be printed cannot be constructed from the characters existing on the print element in use. Some of the more important advantages of this advance are 1) the flexibility of 25 standard, readily available print elements is improved, and 2) actual print element change requirements are reduced.
Summary of the Invention Both a method of, and system for, efficiently 30 managing print element changes are provided in that both character availability and character construction are looked to before alerting an operator of a print element change requirement.
The characters making up the various keyboards 35 available to the system are mapped in a minimum number of keyboard code maps. Existing in various of the maps are characters which are identically coded. In AT~-80-034 1 ~62318 other instances" difEerent coding rel)resents dirferent characters in di~ferent maps. Once a keyboard has been selected, the system wil select an aPpropriate keyboard code map to distin(luish coding during input keying. Both selections are stored in a ~uffer ~uch that a keyboard code map identi~ication code and a keyboard identification code properly identify following text codes. Assuming that at a particular point in time printing is from the buffer and the print element in use matches the last read keyboard identification code. Each character code read is reordered to determine whether it falls within either an invariant, variant, or composite character category. Regardless, reading causes a printing of the corresponding character. For a character read following a subsequent different keyboard identification code, the category can become 1mportant. If invariant, reordering causes a printing as before. If the character falls within a variant ~0 category and exists on the element, a translation operation is necessary. This is to correct for the code read not matching the desired character position on the element. If the character is not available on the element and the character is not a composite character, a change requirement is signalled. If the character falls wtihin a composite category, and the characters required to construct the composite character are available, category determinations are made to determine whether printing will occur from reordering and/or a translation operations.
Regardless, printing is caused to occur. If the character cannot be constructed due to the absence of a required character on the print element, a change requirement is signalled.
Under the above, once a print element is in use, printing can continue beyond normal print element limitations, and keyboard codiny changes no longer automatically require a change in print elements.
1 162~18 Brief Description of ~he Drawings Fig. 1 is a block diagram illustrating, in siMplified form, a basic keyboard/display word processing system.
Fig. 2 illustrates in greater detail the makeup of a storage device included in the control and storage block of Fig. 1.
Fig. 3 i-llustrates in greater detail the makeup of the control section of the control and storage 10 block of Fig. l.
Fig. 4 is a flow chart illustrating the operations performed by the processor of Fig. 3 under the control of the reordering program or algorithm denoted in Fig. 2.
Figs. 5-7 illustrate in greater detail the table makeup of the program section of the storage device shown in Fig. 2.
Figs. 8-12 are flow charts illustrating the operations performed by the processor of Fig. 3 under 20 the control of the translation program or algorithm of Fig. 2.
Figs. 13 and 14 are flow charts illustrating the operations performed by the processor of Fig. 3 in providing for continued printing following the reading 25 of a different keyboard identification code from the text storage buffer of Fig. 2.
Fig. 15 is similar to Fig. 2, but illustrates the handling of incoming text from an external source.
Description o~ the Preferred ~mbodiment For a more detailed understanding of the invention, reference is made to Fig. 1. In this figure is shown a simplified block diagram illustration of a basic word processing system. The system includes a keyboard 1 having an alpha/numeric 3ssection and an outboard section. The alpha/numeric section includes standard keys and bars for AT9-80-(`8~
3 1 8 G
characters, numbers, symbcls, spaces, carrier return~, case shifts, etc. The outboard section includes keys for cursor control, power on/cff, etc. The particular arrangement and inclusion of keys in either section is irrelevant. Of ;mportance is that there are sufficient keys available to 1) su,)port use of a plurality of print elements, and 2) cause a system change upon t:he keyin~ of a change in keyboard coding.
Keyboard 1 is connected to a control and storage 10 unit 2. In control and storage unit 2 are a storaqe device including a text storage buffer, and a processor for controlling reading and writing of c'ata out of, and into, the text storage buffer. Further details of the storage device of unit 2 will be set 15 forth later herein when reference is made to Fig. 2.
Further details of the processor will be set forth in the following explanation of Fig. 3. For a clearer understanding of the following, it is to be noted that the processor in ~ig. 3 is denoted by reference 2~ numeral 60. Processor 60 also controls the output of data to a printer 3, a CRT display 4, and a floppy disk reader/recorder 5. The actual control of printer 3, display 4, and reader/recorder 5 forms not part of this invention. Therefore, further discussion is not 25 considered warranted. Processor 60 is under the control of programs read off of a floppy disk into the storage device of control and storage unit 2. ~s far as this invention is concerned, it is to be assumed that the programs have already been read, and stored 30 in unit 2.
Refer next to Fig. 2. In this figure is shown a random access memory divided into a data section 6 and a processor section 7. Data section 6 includes a text storage buffer 8, a unit control block 9, and a line 35 buffer 10. For purposes of the following cescription, it is to be assumed that an operator has keyed and caused the storing of text and appropriate keyboard coding in text storage buffer 8. ~,lso, it is to be , assumed that all processor control programming has been stored in section 7, and that the processor will ultimately cause the characters stored in line buffer 10 t:o be printed. Characters stored in line buffer 10 are to be ultimately printed by printer 3 in Fig. 1 with a proper print element.
To store, format, etc., a line of characters in line buffer 10, processor 60 sequentially reads each character and other code in buffer 8 along line 21.
10 Durin~ previous keyboarding, a code was stored for a keyed keyboard identification and following keyed characters. Based on the keyed keyboard identification, a keyboard code map was chosen and an identification code was stored therefor. Upon the 15 reading of keyboard and code map identification codes for a printing operation, outputs are apDlied alon~
lines 12 and 11, respectively, to unit control block g. During the reading of characters in buffer 8, processor ~0 causes a graphic set reordering operation 20 under the control of a program denoted by block 15.
This reorderinq will be further described when reference is made to Fig. 4. Keyboard and code ma~
identification outputs from control block 9 are along lines 13 and 14 when needed by processor 60. Control 25 block 9 can simply be a storage device which is sampled on an as needed basis. Following a graphic set reordering, a reorder number is applied along line 16 for any needed translation operation by processor 60 under the control of a program denoted by block 17.
30 The translation operation will be further described when reference is made to Figs. 8-12. For now, a translation operation is meant to include matching a character on a print element in use with the character stored in buffer 8. A number of situations and 35 circumstances arise which require a translation operation. One is that the coding required to drive the printer in use differs from the coding in buffer 8. Another is that, under the same situation as the ATg-80-()34 first, keyboard coding or the characters in buff~r 8 does not match the ~rint element in use. These and other situations and circumstances will be more fully appreciated upon a reading of the remainder of the specification.
During a reordering operation, code maps such as 18, 19, etc., which are set out later herein as tables 5, 6, and 7 are indexed. Table structure utilized during the translation operation, and represented by 10 block 22, set out in Figs. 5-7. These figures will be described in greater detail later herein.
Following a reading of a character in buffer 8, a reordering operation will be performed dependent upon the keyboard coding, and any necessary translation 15 operation will be performed to ultimately provide a code or group of codes along line 20 capable of being utilized by the printer in use. Codes that are output along line 20 are stored, formatted, etc., in line buffer 10. The actual storage, formatting, etc., 20 forms no part of this invention.
Refer next to ~ig. 3. In this figure are shown the details of processor 60 which is capable of performing the operations of this invention under pro~ram control. In practice, processor 60 includes 25 an INTEL 8086 Microcomputer chip. Typical logic hardware elements forming processor ~0 include a control logic unit 25 which responds to instructions from the random access memory of Fig. 2 applied along bus 28. The control logic unit 25 is also in the data 30 stream identified by the data and address bus 26 interconnected to various other logic units of processor 60.
In response to instructions from section 7, control logic unit 25 generates control signals to 35 other logic elements of processor 60. These control signals are interconnected to the various elements by means of a control line 29 which is illustrated directly connected to an arithmetic logic unit 30 and AT9-80-~34 identified as a "control" line 29 to other eleme~ts of processor 60. Synchronous operations of the control unit 25 with other logic elements of processor 60 is achieved by means of clock pulses input to processor 5 60 from an external clock source on bus 31. This bus i5 also shown interconnected to ~arious other loaic elements of processor 60. In addition, bus 11 is connected to reader/recorder 5, display 4, and the memory shown in Fig. 2.
Data to be processed in processor 60 is input either through a bus control logic unit 32 or a program input/output control logic unit 33. The bus control logic 32 connects to the random access memory of Fig. 2 and receives instructions for processing 15 data input to input/output control ~3. Thus, input/output control 33 receives data from keyboard 1 while bus control logic 32 receives instructions from the random access memory. Note that different storage sections o~ the random access memory are identifiable 20 for instruction storage and data storage. Device controls from processor 60 are output through program input/output controller 33 over a data bus 27.
Input data on the data bus 28 is passed internally through processor 60 on the bus 26 to 25 control unit 25. Arithmetic logic unit 30, in response to a control signal on line 29 and in accordance with instructions received on memory bus 28, performs arithmetic computations which may be stored in temporary scratch registers 34. Various 30 other transfers of data between the arithmetic logic unit 30 and other logic elements of processor 60 are, of course, possible. Such additional transfers may be to a status register 35, data pointer register 36 or a stack pointer register 37. Also in the data stream 35 for these various logic elements by means of ~he bus 26 is a program counter 38.
A particular operating sequence for processor 60 is detrmined by instructions on the memory bus 28 and ~T9-80-034 1() input data on the bus 28, or bus ?7 from ke~board 1.
As an example, in response to recei~ed instructions, processor 60 transfers data stored in scratch registers 34 to one of registers 3~, 37, or 35. Such operations o~ a processor as detailed in Fig. ~ are considered to be well known and ur.derstood by one of ordinary skill in the data processing field. A
detailed description of each of the operations of the processor of Fig. 3 for the described invention would be counterproductive to an understanding of the invention as claimed.
Set out below are three EBCDIC (Extended ~inarv Coded Decimal Interchange Code) maps which are designated tables 1-3. In each of these tables, the first four columns are made up of control codes and can be ignored as far as this invention is concerned.
With the first four columns being ignored, the first character of concern is a space (Sl~ which is in a position defined as hexadecimal 40 (X'40').
AT9-~0-n34 1 1~2318 _ _ ,_ -O _ oJ _ _ ____ _ _ _ __ _ -O
~ _ o ~ z ~n ~ ~ > ~ x ~ ~ ~ <o c) ,o ~o lo _ ~ o _ _ y _ z o--a _ _ <~--,~ _ :~
_-- ~ -- m --_------ I --I ~o :o J o ~o ~o m ~ _ 4~ _ ~ __ ~ ~ ~ ~ r _ _ ~ _ ~ o o ~ ~ ~ ._ ~ ~ 3 x ,~ .. ._ .~, ~? ~ ~~ ~) _ o O ._ ~, _ E ~ o c~ ~:r _ a ~ ol _ _ ~ _ _ _ o _ a D _ __ ., _ ~ ,_ ~ _ ~ _ Dl ~, ~W ~llJ :111 ~IIJ ~- <- :- ~_ ~ .. t~ @) _ ll _ ~IJ' .D O- O l ~ ~ ~ ~ ~ ~<t o~I ~ ~Z __ ~ ;~ l A ~`
u~ o Oo ~a ~ :~ ,~) ~.. ~- :- ,_ c~ ._ U) ~ _ .~ ~
~ t ~ o o o o o o o o ~ ~
- ~ M~)~d - ~ ~ ~ ~ 1~` ~ cn ~ m ~, o ~J IL
!3 1 8 _ _ _ o __ - ~' _ ___ _ _ -:~ >~ - O
_ . o _ ~z _ __ >--3 x _ _ _ <o o ~r ~o ~o _ . o ~ _ Y J :~: z o m a ~ _ ~ ~ , _ ~, -_ ~ -- m " c~ I~J , . ~ _ _ < O : O _ ~ O ~ O
m _ _ __ oN --- -~ -~Z ~1) ~- --~
~t O ~0 ~ ~n ~ ~ > iC X >. ~J J >Z ~ ~_ >0cn O . ._ _ _ _ - o ~ ~J . ~ ~c: ,~ .. 3:~
CO O O D _ _ _ _ ~ ,~: ._ _ > C t:, ~ ~ > '-- ~ ~n ,_ _ _~ _ __ ~ _ _ >~ ~J -J -.. _ _ _ _ _,_ _ o O __ d :~ _ _ ,~ "J _ ~<~ __ _ ~ l ~ _ ~
U o ~ ~ ~ ~ .:~ ~_ ~ >- ~_ ~ ._ V~ ~ _ .~ ~
~t~ ~
. _ .. _ .. . . .. _ . _ . .. . .. _ . .. . . .. . _ . .. .. .. . , .. , , , _ , ~ ~- I o I ~ 1 _ ~ _ ~ _ _ ~ _ _ ':~ _ _ ~
_ _ o _ ~ _ ~ _ > 3 x ~ ~ -<o :o ,o ~o _ C _ O _ 7 Y J _ Z O _ a cY _ <, ::, , ~ _ _ ~ ~ -- m --c~ ------ I -- ' ' ` --_ o o ___ _ _ , __ .r _ __ Q _ _C _ _ O . _ _ _ c _ Q IJ _ _ D ~¦ _ _ _ O O _ _ __ --_ ' ,_ _ b _ .~. _ ~` _ ~W <I~J lLI ~llJ ~_. ~_ :- ~- ~ .. $~ @J _ ll _ 1 ~ç O O l ~ <~ .'2 ~t `~ )~ ~ ~ )~? __ .~ ~ l ~ ~. ;~
Ul O o8 ~ <~ :~ J~ ~_ <~ :~ ,_ ._ ~ ~ ~ _ ~ <
., . . . . . . . . ._ . .. , .. _. . ... .... . ... . . . ._ . ~ . . ... .. ... . . . .. .... . .. .. . , _ .
_ 1 ~62318 Since X'40' is the first usable character, this value will be used as a basis in assigning reorder numbers to the other available characters. As a matter of basic background, which will become pertinent later herein, X'40' is represented in binary form as 01000000. In decimal or base 10, X'40' is equal to 64.
11623~8 Referring specifically to Table 1, it will be noted that the characters encompassed between X'40' and X'F~' are substantially universal. That is, the majority o~ characters required for ~rinting in the English, Spanish, ~erman, and French languages are encompassed in Table 1. ~lso, there are certain characters which are common to all tables and are assigned the same value. For example, refer to the small "a". This character or graphic is in Position X'81' in all tables. The small "a" is assiqned to an invariant category as will be explained later herein.
At the same time, there are other characters, such as beta, located at position X'59' in Tables 1 and 2, but not existing in Table 3. As such, beta is assigned to a variant character category.
If operation is not in Table 1 and "0" is called for and does not exist on the print element being used, construction is required if printing is to take ~lace at all. Referring to Table 2, a "/" is located at position X'61' and a capital "O" is located at X'D6'. In view of the above, "0" is assigned to a composite category.
With the above in mind, reference is next made to the following Table 4.
REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
characters, numbers, symbcls, spaces, carrier return~, case shifts, etc. The outboard section includes keys for cursor control, power on/cff, etc. The particular arrangement and inclusion of keys in either section is irrelevant. Of ;mportance is that there are sufficient keys available to 1) su,)port use of a plurality of print elements, and 2) cause a system change upon t:he keyin~ of a change in keyboard coding.
Keyboard 1 is connected to a control and storage 10 unit 2. In control and storage unit 2 are a storaqe device including a text storage buffer, and a processor for controlling reading and writing of c'ata out of, and into, the text storage buffer. Further details of the storage device of unit 2 will be set 15 forth later herein when reference is made to Fig. 2.
Further details of the processor will be set forth in the following explanation of Fig. 3. For a clearer understanding of the following, it is to be noted that the processor in ~ig. 3 is denoted by reference 2~ numeral 60. Processor 60 also controls the output of data to a printer 3, a CRT display 4, and a floppy disk reader/recorder 5. The actual control of printer 3, display 4, and reader/recorder 5 forms not part of this invention. Therefore, further discussion is not 25 considered warranted. Processor 60 is under the control of programs read off of a floppy disk into the storage device of control and storage unit 2. ~s far as this invention is concerned, it is to be assumed that the programs have already been read, and stored 30 in unit 2.
Refer next to Fig. 2. In this figure is shown a random access memory divided into a data section 6 and a processor section 7. Data section 6 includes a text storage buffer 8, a unit control block 9, and a line 35 buffer 10. For purposes of the following cescription, it is to be assumed that an operator has keyed and caused the storing of text and appropriate keyboard coding in text storage buffer 8. ~,lso, it is to be , assumed that all processor control programming has been stored in section 7, and that the processor will ultimately cause the characters stored in line buffer 10 t:o be printed. Characters stored in line buffer 10 are to be ultimately printed by printer 3 in Fig. 1 with a proper print element.
To store, format, etc., a line of characters in line buffer 10, processor 60 sequentially reads each character and other code in buffer 8 along line 21.
10 Durin~ previous keyboarding, a code was stored for a keyed keyboard identification and following keyed characters. Based on the keyed keyboard identification, a keyboard code map was chosen and an identification code was stored therefor. Upon the 15 reading of keyboard and code map identification codes for a printing operation, outputs are apDlied alon~
lines 12 and 11, respectively, to unit control block g. During the reading of characters in buffer 8, processor ~0 causes a graphic set reordering operation 20 under the control of a program denoted by block 15.
This reorderinq will be further described when reference is made to Fig. 4. Keyboard and code ma~
identification outputs from control block 9 are along lines 13 and 14 when needed by processor 60. Control 25 block 9 can simply be a storage device which is sampled on an as needed basis. Following a graphic set reordering, a reorder number is applied along line 16 for any needed translation operation by processor 60 under the control of a program denoted by block 17.
30 The translation operation will be further described when reference is made to Figs. 8-12. For now, a translation operation is meant to include matching a character on a print element in use with the character stored in buffer 8. A number of situations and 35 circumstances arise which require a translation operation. One is that the coding required to drive the printer in use differs from the coding in buffer 8. Another is that, under the same situation as the ATg-80-()34 first, keyboard coding or the characters in buff~r 8 does not match the ~rint element in use. These and other situations and circumstances will be more fully appreciated upon a reading of the remainder of the specification.
During a reordering operation, code maps such as 18, 19, etc., which are set out later herein as tables 5, 6, and 7 are indexed. Table structure utilized during the translation operation, and represented by 10 block 22, set out in Figs. 5-7. These figures will be described in greater detail later herein.
Following a reading of a character in buffer 8, a reordering operation will be performed dependent upon the keyboard coding, and any necessary translation 15 operation will be performed to ultimately provide a code or group of codes along line 20 capable of being utilized by the printer in use. Codes that are output along line 20 are stored, formatted, etc., in line buffer 10. The actual storage, formatting, etc., 20 forms no part of this invention.
Refer next to ~ig. 3. In this figure are shown the details of processor 60 which is capable of performing the operations of this invention under pro~ram control. In practice, processor 60 includes 25 an INTEL 8086 Microcomputer chip. Typical logic hardware elements forming processor ~0 include a control logic unit 25 which responds to instructions from the random access memory of Fig. 2 applied along bus 28. The control logic unit 25 is also in the data 30 stream identified by the data and address bus 26 interconnected to various other logic units of processor 60.
In response to instructions from section 7, control logic unit 25 generates control signals to 35 other logic elements of processor 60. These control signals are interconnected to the various elements by means of a control line 29 which is illustrated directly connected to an arithmetic logic unit 30 and AT9-80-~34 identified as a "control" line 29 to other eleme~ts of processor 60. Synchronous operations of the control unit 25 with other logic elements of processor 60 is achieved by means of clock pulses input to processor 5 60 from an external clock source on bus 31. This bus i5 also shown interconnected to ~arious other loaic elements of processor 60. In addition, bus 11 is connected to reader/recorder 5, display 4, and the memory shown in Fig. 2.
Data to be processed in processor 60 is input either through a bus control logic unit 32 or a program input/output control logic unit 33. The bus control logic 32 connects to the random access memory of Fig. 2 and receives instructions for processing 15 data input to input/output control ~3. Thus, input/output control 33 receives data from keyboard 1 while bus control logic 32 receives instructions from the random access memory. Note that different storage sections o~ the random access memory are identifiable 20 for instruction storage and data storage. Device controls from processor 60 are output through program input/output controller 33 over a data bus 27.
Input data on the data bus 28 is passed internally through processor 60 on the bus 26 to 25 control unit 25. Arithmetic logic unit 30, in response to a control signal on line 29 and in accordance with instructions received on memory bus 28, performs arithmetic computations which may be stored in temporary scratch registers 34. Various 30 other transfers of data between the arithmetic logic unit 30 and other logic elements of processor 60 are, of course, possible. Such additional transfers may be to a status register 35, data pointer register 36 or a stack pointer register 37. Also in the data stream 35 for these various logic elements by means of ~he bus 26 is a program counter 38.
A particular operating sequence for processor 60 is detrmined by instructions on the memory bus 28 and ~T9-80-034 1() input data on the bus 28, or bus ?7 from ke~board 1.
As an example, in response to recei~ed instructions, processor 60 transfers data stored in scratch registers 34 to one of registers 3~, 37, or 35. Such operations o~ a processor as detailed in Fig. ~ are considered to be well known and ur.derstood by one of ordinary skill in the data processing field. A
detailed description of each of the operations of the processor of Fig. 3 for the described invention would be counterproductive to an understanding of the invention as claimed.
Set out below are three EBCDIC (Extended ~inarv Coded Decimal Interchange Code) maps which are designated tables 1-3. In each of these tables, the first four columns are made up of control codes and can be ignored as far as this invention is concerned.
With the first four columns being ignored, the first character of concern is a space (Sl~ which is in a position defined as hexadecimal 40 (X'40').
AT9-~0-n34 1 1~2318 _ _ ,_ -O _ oJ _ _ ____ _ _ _ __ _ -O
~ _ o ~ z ~n ~ ~ > ~ x ~ ~ ~ <o c) ,o ~o lo _ ~ o _ _ y _ z o--a _ _ <~--,~ _ :~
_-- ~ -- m --_------ I --I ~o :o J o ~o ~o m ~ _ 4~ _ ~ __ ~ ~ ~ ~ r _ _ ~ _ ~ o o ~ ~ ~ ._ ~ ~ 3 x ,~ .. ._ .~, ~? ~ ~~ ~) _ o O ._ ~, _ E ~ o c~ ~:r _ a ~ ol _ _ ~ _ _ _ o _ a D _ __ ., _ ~ ,_ ~ _ ~ _ Dl ~, ~W ~llJ :111 ~IIJ ~- <- :- ~_ ~ .. t~ @) _ ll _ ~IJ' .D O- O l ~ ~ ~ ~ ~ ~<t o~I ~ ~Z __ ~ ;~ l A ~`
u~ o Oo ~a ~ :~ ,~) ~.. ~- :- ,_ c~ ._ U) ~ _ .~ ~
~ t ~ o o o o o o o o ~ ~
- ~ M~)~d - ~ ~ ~ ~ 1~` ~ cn ~ m ~, o ~J IL
!3 1 8 _ _ _ o __ - ~' _ ___ _ _ -:~ >~ - O
_ . o _ ~z _ __ >--3 x _ _ _ <o o ~r ~o ~o _ . o ~ _ Y J :~: z o m a ~ _ ~ ~ , _ ~, -_ ~ -- m " c~ I~J , . ~ _ _ < O : O _ ~ O ~ O
m _ _ __ oN --- -~ -~Z ~1) ~- --~
~t O ~0 ~ ~n ~ ~ > iC X >. ~J J >Z ~ ~_ >0cn O . ._ _ _ _ - o ~ ~J . ~ ~c: ,~ .. 3:~
CO O O D _ _ _ _ ~ ,~: ._ _ > C t:, ~ ~ > '-- ~ ~n ,_ _ _~ _ __ ~ _ _ >~ ~J -J -.. _ _ _ _ _,_ _ o O __ d :~ _ _ ,~ "J _ ~<~ __ _ ~ l ~ _ ~
U o ~ ~ ~ ~ .:~ ~_ ~ >- ~_ ~ ._ V~ ~ _ .~ ~
~t~ ~
. _ .. _ .. . . .. _ . _ . .. . .. _ . .. . . .. . _ . .. .. .. . , .. , , , _ , ~ ~- I o I ~ 1 _ ~ _ ~ _ _ ~ _ _ ':~ _ _ ~
_ _ o _ ~ _ ~ _ > 3 x ~ ~ -<o :o ,o ~o _ C _ O _ 7 Y J _ Z O _ a cY _ <, ::, , ~ _ _ ~ ~ -- m --c~ ------ I -- ' ' ` --_ o o ___ _ _ , __ .r _ __ Q _ _C _ _ O . _ _ _ c _ Q IJ _ _ D ~¦ _ _ _ O O _ _ __ --_ ' ,_ _ b _ .~. _ ~` _ ~W <I~J lLI ~llJ ~_. ~_ :- ~- ~ .. $~ @J _ ll _ 1 ~ç O O l ~ <~ .'2 ~t `~ )~ ~ ~ )~? __ .~ ~ l ~ ~. ;~
Ul O o8 ~ <~ :~ J~ ~_ <~ :~ ,_ ._ ~ ~ ~ _ ~ <
., . . . . . . . . ._ . .. , .. _. . ... .... . ... . . . ._ . ~ . . ... .. ... . . . .. .... . .. .. . , _ .
_ 1 ~62318 Since X'40' is the first usable character, this value will be used as a basis in assigning reorder numbers to the other available characters. As a matter of basic background, which will become pertinent later herein, X'40' is represented in binary form as 01000000. In decimal or base 10, X'40' is equal to 64.
11623~8 Referring specifically to Table 1, it will be noted that the characters encompassed between X'40' and X'F~' are substantially universal. That is, the majority o~ characters required for ~rinting in the English, Spanish, ~erman, and French languages are encompassed in Table 1. ~lso, there are certain characters which are common to all tables and are assigned the same value. For example, refer to the small "a". This character or graphic is in Position X'81' in all tables. The small "a" is assiqned to an invariant category as will be explained later herein.
At the same time, there are other characters, such as beta, located at position X'59' in Tables 1 and 2, but not existing in Table 3. As such, beta is assigned to a variant character category.
If operation is not in Table 1 and "0" is called for and does not exist on the print element being used, construction is required if printing is to take ~lace at all. Referring to Table 2, a "/" is located at position X'61' and a capital "O" is located at X'D6'. In view of the above, "0" is assigned to a composite category.
With the above in mind, reference is next made to the following Table 4.
REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
4 E SMALL
F SMALL
K SMALL
P SMALL
Q SMALL
U SMALL
Z SMALL
~' A CAP
E CAP
J CAP
O CAP
T CAP
- I 16231~
REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
Y CAP
52 ~EQ. HYPHEN
54 CO~A
ZERO
FIVE
r ~ SEVEN
EIGHT
PERIOD
SLASH
667 CLOSE PAREN.
COLON
71 OPEN PAREN.
REQ. SPACE
OPEN BRACKET
CIRCUMFLEX ACC.
DEGREE/OVERCIR.
CEDILLA ACCENT
82 DIAERESIS, UMLAUT, TREMA
CARON ACCENT
VERTICAL LINE
TABLE 4 (cont.) REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
92 INT. CURRENCY
94 D STROKE, CAP
CENT SIGN
102 I DOTLESS, SMALL
105 TWO, SUPERSCRIPT
106 THREE, SUPERSCRIPT
109 OPEN QUOTE, EUR.
110 CLOSE QUOTE, EUR.
111 D, ICELANDIC, SMALL
112 THORN, SMALL
114 A UNDERSCORE, SMALL
115 O UNDERSCORE, SMALL
116 AE DIPTHONG, SMALL
117 AE DIPTHONG, CAP
118 MICRO, MU
119 SPANISH OPEN EXCLAM. PT.
121 THORN, CAP
124 FLORIN, GUILDER
133 A OGONEK, SMALL
134 E OGONEK, SMALL
135 A OGONEK, CAP
137 E OGONER, CAP
TABLE 4 (cont.) lg REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
138 L APOSTROPHE, SMALL
139 D STROKE, SMALL
140 L APOSTROPHE, CAP
142 T APOSTROPHE, SMALL
143 O DOUBLE ACUTE, SMALL
144 U DOUBLE ACUTE, SMALL
145 T APOSTROPHE, CAP
146 O DOUBLE ACUTE, CAP
147 U DOUBLE ACUTE, CAP
148 A BREVE, SMALL
149 G BREVE, CAP
150 A BREVE, CAP
151 G BREVE, CAP
154 APOSTROPHE N, SMALL
155 A CIRCUMFLEX, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
159 A TILDE, SMALL
160 A OVERCIRCLE, SMALL
161 C CEDILLA, SMALL
162 N TILDE, SMALL
163 A OVERCIRCLE, SMALL
164 E ACUTE, SMALL
165 E CIRCUMFLEX, SMALL
166 E DIAERESIS, SMALL
~ ~ 167 E GRAVE, SMALL
168 I ACUTE, SMALL
169 I CIRCUMFLEX, SMALL
170 I DIAERESIS, SMALL
171 I GRAVE, SMALL
173 A CIRCUMELEX, CAP
174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
177 A TILDE, CAP
178 A OVERCIRCLE, CAP
179 C CEDILLA, CAP
180 N TILDE, CAP
181 C SLASH, SMALL
182 E ACUTE, CAP
183 E CIRCUMFLEX, CAP
TABLE 4 (cont.) ,~
REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
184 E DIAERESIS, CAP
185 E GRAVE, CAP
186 I ACUTE, CAP
187 I CIRCUMFLEX, CAP
188 I DIAERESIS, CAP
189 I GRAVE, CAP
190 C SLASH, CAP
191 Y ACUTE, SMALL
192 Y ACUTE, CAP
193 POUND SIGN, LIRA
195 O CIRCUMFLEX, S~LL
196 O DIAERESIS, SMALL
197 O GRAVE, SMALL
198 O ACUTE, SMALL
199 O TILDE, SMALL
200 U CIRCUMFLEX, SMALL
201 U DIAERESIS, SMALL
202 U GRAVE, SMALL
203 U ACUTE, SMALL
204 Y DIAERESIS, SMALL
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
207 O GRAVE, CAP
q~8 O ACUTE, CAP
209 O TILDE, CAP
210 U CIRCUMFLEX, CAP
211 U DIAERESIS, CAP
212 U GRAVE, CAP
213 U ACUTE, CAP
214 E CARON, SMALL
215 C CARON, SMALL
216 C ACUTE, SMALL
217 U OVERCIRCLE, SMALL
218 D CARON, SMALL
219 L CARON, SMALL
220 L ACUTE, SMALL
221 E CARON, CAP
222 C CARON, CAP
223 C ACUTE, CAP
224 U OVERCIRCLE, CAP
225 D CARON, CAP
226 I CARON, CAP
227 I ACUTE, CAP
228 N CARON, SMALL
229 R CARON, SMALL
TABLE 4 (cont.) 1 ~62318 REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
230 S ACUTE, SMALL
231 I STROKE, SMALL
232 N ACUTE, SMALL
233 S CARON, SMALL
234 N CARON, CAP
235 B CARON, CAP
236 S ACUTE, CAP
237 Z OVERDOT, SMALL
238 Z OVERDOT, CAP
239 Z CARON, SMALL
240 Z ACUTE, SMALL
241 Z CARON, CAP
242 Z ACUTE, CAP
243 I STROKE, CAP
244 N ACUTE, CAP
245 S CARON, CAP
246 R ACUTE, SMALL
247 T CARON, SMALL
248 R ACUTE, SMALL
249 T CARON, CAP
250 I OVERDOT, CAP
251 S SEDILA, SMALL
252 S SEDILA, CAP
253 T SEDILA, SMALL
254 T SEDILA, CAP
TABLE 4 (cont.) In Table 4, each of the characters are ordered and assigned a value according to their frequency of use.
~or example, a small "a" is the most frequently used character and is assigned a decimal value of ~ero.
This zero v~lue is a reorder number which will be used as later described herein to either index a printer code for driving a golf ball printer or gate a code to an EBCDIC driven printer.
Diverting for a moment, additional background information is deemed in order. ~or the word processing system contemplated herein, the output coding of ~eyboard 1 will be EBCDIC, storage in buf~er 8 will be in EBCDIC, and the coding in line buf'er 10 will vary according to the printer being used.
Certain printers can be driven directly with EBCDIC, while others such as the single element (golf ball) IBM "Selectric"~ printers are driven with multibit codes which are transformed into tilt and rotate requirements. A printer which can be driven from EBCDIC is the daisy wheel 60 cps, IBM 5218 Printer.
This invention is applicable to both types of printers in reducing the number of required print element changes.
Not only are the reorder numbers assigned on fre~uency of use basis, the category of the character or graphic is identified by the reorder number in an ordered manner. As was pointed out earlier, the categories are invariant, variant, and composite. The categories themselves vary according to the graphic set being used. For example, for the IBM "Selectric"
printer 88 character graphic set, the invariant graphic reorder numbers range from 0-61. The variant graphic reorder numbers range from 62-154, and the , composite reorder numbers range from 155-255. For the IBM 5218 printer 96 character graphic set, the invariant reorder numbers will range from 0-72, the variant graphic numbers will range ~rom 73-154, and the composite reorder numbers will range from 155-255.
~ ssume that a printing operation has been initiated by an operator and coding for an English U. S. print element is read in the data stream in buffer 8. It is to be recalled that Table 1 is substantially universal. Based on the print element identification, code map #l (denoted by reference numeral 18 in ~ig. 2), which corresponds to Table 1, is selected. If the following character code is 10000001, this binary coding is equal to X'81'.
10 Thereafter, subtracted from the X'81' is X'40', leaving X'41'. X'41', equal to decimal 65, ~or indexing to a position in code map ~1. Code map ~1 is detailed in Table 5 below. Code map ~'s ' and 3 are set out in Tables 6 and 7 below, and correspond 15 respectively to Tables 2 and 3. Indexing down Table 5 to position 65, it will be seen that the character or graphic is a small "a".
155 A CIRCUMFLEX, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
159 A TILDE, SMALL
161 C CEDILLA, SMALL
162 N TILDE, SMALL
164 E ACUTE, SMALL
165 E CIRCUMFLEX, SMALL
166 E DIAERESIS, SMALL
167 E GRAVE, SMALL
168 I ACUTE, SMALL
169 I CIRCUMFLEX, SMALL
170 I DIAERESIS, SMALL
171 I GRAVE, SMALL
; 052 MINUS SIGN, HYPHEN
i 066 SLASH
173 A CIRCUMFLEX, CAP
: 174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
177 A TILDE, CAP
178 A OVERCIRCLE, CAP
179 C CEDILLA, CAP
180 N TILDE, CAP
181 O SLASH, SMALL
182 E ACUTE, CAP
183 E CIRCUMFLEX, CAP
184 E DIAERESIS, CAP
185 E GRAVE, CAP
186 I ACUTE, CAP
187 I CIRCUMFLEX, CAP
188 I DIAERESIS, CAP
189 I GRAVE, CAP
073 EQUAL SIG~
089 Q~OTATION MARK
190 O SLASH, CAP
000 A, SMALL
001 B, SMALL
002 C, SMALL
003 D, SMALL
004 E, SMALL
005 F, SMALL
006 G, SMALL
007 H, SMALL
008 I, SMALL
109 OPENING QUOTE, EUROPEAN
110 CLOSING QUOTE, EUROPEAN
111 D, ICELANDIC, SMALL
191 Y ACUTE, SMALL
112 THORN, SMALL
080 DEGREE, OVERCIRCLE
009 J, SMALL
010 K, SMALL
011 L, SMALL
012 M, SMALL
013 N, SMALL
014 O, SMALL
015 P, SMALL
016 Q, SMALL
017 R, SMALL
114 A UNDERSCORE, SMALL
TABLE 5 (cont.d) ,~.
115 O UNDERSCORE, SMALL
116 AE DIPTHONG, SMALL
117 AE DIPTHONG, CAP
118 MICRO, MU
018 S, SMALL
019 T, SMALL
020 U, SMALL
021 V, SMALL
022 W~ SMALL
023 X, SMALL
024 Y, SMALL
025 Z, SMALL
094 D STROKE, CAP
192 Y ACUTE, CAP
121 THORNE, CAP
193 POUND SIGN, LIRA
124 FLORIN, GUILDER
083 DIAERESIS, UMLAUT, TREMA ACCENT
026 A, CAP
027 B, CAP
028 C, CAP
029 D, CAP
030 E, CAP
031 F, CAP
032 G, CAP
TABLE 5 (cont.) 033 H, CAP
034 I, CAP
195 O CIRCUMFLEX, SMALL
196 O DIAERESIS, SMALL
197 O GRAVE, SMALL
198 O ACUTE, SMALL
199 O TILDE, SMALL
035 J, CAP
036 K, CAP
037 L, CAP
038 M, CAP
039 N, CAP
040 O, CAP
041 P, CAP
042 Q, CAP
043 R, CAP
102 I, DOTLESS, SMALL
200 U CIRCUMFLEX, SMALL
201 U DIAERESIS, SMALL
202 U GRAVE, SMALL
203 U ACUTE, SMALL
204 Y DIERESIS, SMALL
044 S, CAP
045 T, CAP
046 U, CAP
047 V, CAP
048 W, CAP
049 X, CAP
050 Y, CAP
051 Z, CAP
105 TWO, SUPERSCRIPT
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
207 O GRAVE, CAP
208 O ACUTE, CAP
209 O TILDE, CAP
TABLE 5 (cont.) 106 THREE, SUPERSCRIPT
210 U CIRCUMFLEX, CAP
211 U DIAERESIS, CAP
212 U GRAVE, CAP
213 U ACUTE, CAP
TABLE 5 (cont.) 133 A OGONEK, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
214 E CARON, SMALL
215 C CARON, SMALL
161 C CEDILLA, SMALL
216 C ACUTE, SMALL
164 E ACUTE, SMALL
134 E OGONEK, SMALL
166 E DIAERESIS, SMALL
217 E OVERCIRCLE, SMALL
168 I ACUTE, SMALL
218 D CARON, SMALL
219 L CARON, SMALL
220 L ACUTE, SMALL
052 MINUS SIGN, HYPHEN
135 A OGONEK, CAP
174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
221 E CARON, CAP
222 C CARON, CAP
179 C CEDILLA, CAP
223 C, ACUTE, CAP
182 E ACUTE, CAP
137 E OGONEK, CAP
184 E DIAERESIS, CAP
224 U OVERCIRCLE, CAP
186 I ACUTE, CAP
225 D CARON, CAP
226 L CARON, CAP
227 L ACUTE, CAP
079 GRA~E ACCENT
000 A, SMALL
001 B, SMALL
OG2 C, SMALL
003 D, SMALL
004 E, SMALL
005 F, SMALL
006 G, SMALL
007 H, SMALL
008 I, SMALL
138 I APOSTROPHE, SMALL
228 N CARON, SMALL
139 D STROKE, SMALL
191 Y ACUTE, SMALL
229 R CARON, SMALL
230 S ACUTE, SMALL
080 DEGREE, OVERCIRCLE
009 J, SMALL
010 K, SMALL
011 L, SMALL
012 M, SMALL
013 N, SMALL
014 O, SMALL
015 P, SMALL
016 Q, SMALL
017 R, SMALL
231 L STROKE, SMALL
232 N ACUTE, SMALL
TABLE 6 (cont.d) 233 S CARON, SMALL
018 S, SMALL
019 T, SMALL
020 U, SMALL
021 V, SMALL
022 W, SMALL
023 X, SMALL
024 Y, SMALL
025 Z, SMALL
140 L APOSTROPHE, CAP
234 N CARON, CAP
094 D STROKE, CAP
192 Y ACUTE, CAP
235 R CARON, CAP
236 S ACUTE, CAP
193 POUND SIGN, LIRA
237 Z OVERDOT, SMALL
238 Z OVERDOT, CAP
239 Z CARON, SMALL
240 Z ACUTE, SMALL
241 Z CARON, CAP
242 Z ACUTE, CAP
243 L STROKE, CAP
244 N ACUTE, CAP
245 S CARON, CAP
083 DIAERESIS, UMLAUT, TREMA ACCENT
142 T APOSTROPHE, SMALL
026 A, CAP
027 B, CAP
028 C, CAP
029 D, CAP
030 E, CAP
031 F, CAP
032 G, CAP
033 H, CAP
034 I, CAP
,, TABLE 6 (cont.) .
;, ~, ~ .
195 O CIRCUMFLEX, SMALL
196 O DIAERESIS, SMALL
246 R ACUTE, SMALL
198 O ACUTE, SMALL
143 O DOUBLE ACUTE, SMALL
035 J, CAP
036 K, CAP
037 L, CAP
038 M, CAP
039 N, CAP
040 O, CAP
041 P, CAP
042 Q, CAP
043 R, CAP
102 I, DOTLESS, SMALL
144 U DOUBLE ACUTE, SMALL
201 U DIAERESIS, SMALL
247 T CARON, SMALL
203 U ACUTE, SMALL
145 T APOSTROPHE, CAP
044 S, CAP
045 T, CAP
046 U, CAP
047 V, CAP
048 W, CAP
049 X, CAP
050 Y, CAP
051 Z, CAP
105 TWO, SUPERSCRIPT
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
248 R ACUTE, CAP
208 O ACUTE, CAP
146 O DOUBLE ACUTE, CAP
TABLE 6 (cont.) 1 1~2318 106 THREE, SUPERSCRIPT
147 U DOUBLE ACU~E, CAP
211 U DIAERESIS, CAP
149 T CARON, CAP
213 U ACUTE, CAP
TABLE 6 (cont.) ' 'e., 155 A CIRCUMFLEX, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
148 A BREVE, SMALL
161 C CEDILLA, SMALL
149 G BREVE, SMALL
164 E ACUTE, SMALL
165 E CIRCUMFLEX, SMALL
166 E DIAERESIS, SMALL
167 E GRAVE, SMALL
168 I ACUTE, SMALL
169 I CIRCUMFLEX, SMALL
170 I DIAERESIS, SMALL
171 I GRAVE, SMALL
250 I OVERDOT, CAP
05 2 MINUS SIGN, HYPHEN
173 A CIRCUMFLEX, CAP
174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
150 A BREVE, CAP
I78 A OVERCIRCLE, CAP
179 C CEDILLA, CAP
151 G BREVE, CAP
182 E ACUTE, CAP
183 E CIRCUMFLEX, CAP
184 E DIAERESIS, CAP
185 E GRAVE, CAP
186 I ACUTE, CAP
187 I CIRCUMFLEX, CAP
188 I DIAERESIS, CAP
189 I GRAVE, CAP
089 guoTATIoN MARK
000 A, SMALL
001 B, SMALL
002 C, SMALL
003 D, SMALL
004 E, SMALL
005 F, SMALL
006 G, SMALL
007 H, SMALL
008 I, SMALL
139 D STROKE, SMALL
251 S SEDILA, SMALL
080 DEGREE, OVERCIRCLE
009 J, SMALL
010 K, SMALL
011 L, SMALL
012 M, SMALL
013 N, SMALL
014 O, SMALL
015 P, SMALL
01Ç Q, SMALL
017 R, SMALL
TABLE 7 (cont.d) I 1623~8 118 MICRO, MU
018 S, SMALL
O19 T, SMALL
020 U, SMALL
021 V, SMALL
022 W, SMALL
023 X, SMALL
024 Y, SMALL
025 Z, SMALL
094 D STROKE, CAP
154 APOSTROPHE N, SMALL
252 S SEDILA, CAP
193 POUND SIGN, LIRA
083 DIAERESIS, UMLAUT, TREMA ACCENT
253 T SEDILA, SMALL
026 A, CAP
027 B, CAP
028 C, CAP
029 D, CAP
030 E, CAP
031 F, CAP
032 G, CAP
TABLE 7 (cont.
: AT9-80-034 033 H, CAP
034 I, CAP
195 O CIRCUMFLEX, SMALL
196 O DIAERESIS, SMALL
197 O GRAVE, SMALL
198 O ACUTE, SMALL
035 J, CAP
036 K, CAP
037 L, CAP
038 M, CAP
039 N, CAP
040 O, CAP
041 P, CAP
042 Q, CAP
043 R, CAP
102 I, DOTLESS, SMALL
200 U CIRCUMFLEX, SMALL
201 U DIAERESIS, SMALL
202 U G~AVE, SMALL
203 U ACUTE, SMALL
254 T SEDILA, CAP
044 S, CAP
045 T, CAP
046 U, CAP
047 V, CAP
048 W, CAP
049 X, CAP
050 Y, CAP
051 Z, CAP
105 TWO, SUPERSCRIPT
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
207 O GRAVE, CAP
208 O ACUTE, CAP
TABLE 7 (cont.) 3g 106 THREE, SUPERSCRIPT
210 U CIRCUMFLEX, CAP
211 U DIAERESIS, CAP
212 U GRAVE, CAP
213 U ACUTE, CAP
TABLE 7 (cont.) 3'3 The reorder number for the small "a" is 7.ero.
Identified is the invariant categor~, and as such the same character will exist in all of code maps 18, 19, etc., and on all the print elements. In the event a golf ball ty~e printer is being utilized, requirinc3 tilt and rotate information, the reorder number of zero is used to index into an invariant orinter code table to obtain a code which can be used to ~eet tilt and rotate requirements in printing a small "a". As 10 has been mentioned, each of the characters are categorized in terms of invariant, variant, and composite.
In the above, the overall reorderinc operation has been briefly described. In referring to Fig. 4, 15 the reordering operation is set forth in greater detail. When an ~BCDIC code is read out of text storage buffer 8 along line 21 to graphic set reordering block 15 in Fig. 2, a test, represented by logic sequence 61, identifies whether the code map 20 read out of the unit control block is available to the graphic set reordering algorithm identified by block 15 in Fig. 2. If not, the reordering sequence is terminated. The code maps available are identified by blocks 18, 19, 35c. It is to be assumed that the 25input to reordering block 15 along line 13 has indicated map number 1 (18 in Fig. 2). The EBCDIC
read out of text storage buffer ~ is contained in code map number 1. A test represented by logic sequence h2 is made to determine whether the EBCDIC code is a 30graphic (character) code. If not, the graphic set reordering operation or sequence is terminated. The reason is that if the code is not a graphic, then it is a control to which the reorderinq operation is not applicable. If the code read out of the text storage 35buffer is a graphic code, then a subtraction operation is performed as indicated by logic sequence number 63.
Following the subtraction operation, logic sequence 64 causes a conversion of the hexadecimal result to decimal for indexing into Table 5. Following indexing into Table 5 to obtain a reorder number, a translation operation may be in order. If the printer is EBCDIC driven and the reorder number indicates and invariant character, the reorder number serves as a gating term for gating the code for the "a" read out of buffer 8 to buffer 10. If the printer is not EBCDIC driven or the character is variant, a translation operation indicated by logic sequence 65 is performed. Translation logic sequence 65 is more fully described in detail in Figs. 8-12. Logic sequence 65 and the details set forth in Figs. 8-12 make up the algorithm of block 17 in Fig. 2. Before addressing block 17 in Fig. 2 and Figs. 8-12, the structure of the translation tables in block 22 of section 7 will be described. Reference for this description is to Figs. 5-7.
In Fig. 5 there is shown a storage table having stored therein, beginning at the top, the number of available invariant graphics. This number is dependent upon the printer in use. Next in the table appears an offset to print element tables which will be described with reference to Fig. 6. Thereafter, code maps 1-3 shown in Fig. 2 represented by Tables 5, 6, and 7 appear in the table, followed by a composite character table shown in more detail in Fig. 7. Next is stored a length of the invariant printer table and the invariant printer table shown in Fig. 7, followed by the variant printer code table shown in Fig. 7.
The portion of the table shown in Fig. 5 beginning with the composite character table and extending through the variant printer code table is included in block 22 of Fig. 2.
Refer next to Fig. 6 which illustrates a print element table, an offset to which is referred to in Fig. 5. In Fig.
6, the table is made up, in order, of 1) the number of print element tables illustrated in Fig. 7, 2) the print element table total length, 3) a code map identification code which can represent an~
one of maps 1-3 in ~ic3. 2 (Tables 5-7), 4) the number of graphic set identi~ication codes, ~) a list of the graphic set identification codes a~ailable for use and supported by a particular print ele~ent, fi) the n~;~ber of reorder numbers, i.e., how man~ ariant qraphics, and 7) a listin(l of the variant graphic reorder numbers. ~ll of the print element table illustrated in Fig. 6 forms part of block 22 in Fig. 2.
Refer next to Fig. 7. In this figure is illustrated in the upper left hand corner a code maP
table 71 in which is stored any one of the contents of code maps 1-~. Depending upon which one o code maps 1-3 is stored in code map table 71, and the particular 15 printer in use, pointers will be provided to invariant printer code table 72 and print element tables 73.
With the exception of code map table 71, the remainder of Fi~. 7 is included in block 22 of Fig. 2. Code map table 71 is included in either block 18, 19, etc., of 20 Fig. 2. If the variant reorder number is found in the print element table, the translation algorithm is pointed to the variant printer code table 74. If it is not found and is a composite reorder number, the translation algorithm is pointed to the composite 25 character table 75 for the reorder numbers of the characters that can be used to construct the character. The reorder numbers from the composite character table point the translation algorithm to the print element table 73 or the print element table 73 30 and the vaxiant printer code table 72.
With the above structure in mind, the operations performed by processor 60 under the control of the program or al~orithm contained in block 17 of Fig. 2 will be described. These operations are set forth in 35 detail in Figs. 8-12. Referring first to Fig. 8, logic sequences 61-64 are identical to those illustrated in Fig. 4. If a code map is not available and the character in EBCDIC code applied along line 21 is not a graphic, translation is not Dossible and the operation is terminated. This is illustrated by logic sequence 8l in ~ig. lO.
Following obtaining a reorder number by logic sequence ~4, a test is performed b~ lo~ic sequence ~2 to determine if the character falls into an invariant gra~hic category. If there is a positive result of the test performed in logic se~uence 82, a test is performed by logic sequence 83 to determine if the lO printer in use is an EBCDIC code driven printer. If so, the previously obtained reorder number is used as an ANDing condition for gating the EBCDIC code ap~lied along line ?l to buffer lO for ultimatel~ driving the printer to print the character. This is indicated by 15 logic sequence 84. If not, logic sequence 85 causes a printer code to be obtained from invariant printer code table 72 in Fig. 7. Upon obtaining the printer c~de from invariant printer code table 72, logic se~uence 86 in ~ig. 10 transmits the code to buffer 20 10.
If the result of the test performed by logic sequence ~2 is negative, a test is performed by logic sequence 87 to determine if the character appearing on line 21 exists on the print element on the printer. A
25 point to note here is that a selected print element may support a plurality of keyboards. The variant print element table of Fig. fi (denoted by reference numeral 73 in Fig. 7) is examined to find a table which supports the active graphic set (keyboard) 30 identification code. This is indicated by logic sequence 88 in Fig. lO. Assuming that the graphic set identification code or keyboard identification code is supported as indicated by logic sequence 89, a search is made to find the character as indicated by logic 35 sequence 90. This operation is a forerunner to the operation of constructin~ a character.
Refer next to Fig. ll. Logic sequence 91 calls for a scanning of the variant reorder numbers in print element tables 73 ~or a reorder nu~ber o~ the character. ~ test is made in logic se~uence 92 to determine if the reorder number for the character is present. If the character is not found, a determination, as indicated by log;c se~uence 93, is made as to whether the character falls into a composite category. Logic sequence 9~ causes a routing to the composite character operations shown in Fig. 12. In this figure, logic sequence 95 causes the 10 reorder number of graphics that can be used to construct the character to be obtained~ The ~raphic reorder numbers which can be used to construct the character are set out in the composite character table 75 in Fig. 7. ~ssume for a moment that the reorder 15 number from tables 73 is 190. In this case, the beginning of the composite category 155 is subtracted from 190. The result is 35 which is multiplied by 2 to ~rovide an index of 70. The index of 70 is used as a pointer into the composite character table 75.
20 Located in the composite character table are two side-by-side reorder numbers. ~ssume that the first for a "0" is 42 and the second is h6 Reorder number 42 is invariant, and therefore, can be translated. In this case, reorder number ~2 is used to index 25invariant printer code table 72. It is to be further assumed that located at the index position in the invariant printer code table 72 is .Y'59'. ~'59' provides the tilt/rotate information for ~rinting with a golf ball type printer. The second reorder number 30in the composite character table 75 was 66. This is the reorder number of a "/" and falls withi~ a variant category. In this case, the variant print element table 73 is indexed to position 66. The index position of the reorder number in the variant reorder 3snumber list of the print element table 73 is then used to index into the variant printer code table 74 to obtain a hexadecimal code for causing the printer to perform the correct tilt/rotate operation. Although 1 1623~8 alluded to earlier, it is to be specifically pointed out that the hexadecimal codes read out of both the invariant and variant printer code tables are different than the hexadecimal codes read from text storage buffer 8. That is, a "~" is stored in te~t storage buffer 8 in a binary equivalent to X'80'.
Based on the above assumptions, the hexadecimal codes read out of the invariant printer code table are X'59' and X'09', respectively, for causing correct tilt and lO rotate. In the event a daisy wheel printer is bein~
utilized, the reorder numbers 42 and 66 read out of the composite character table 75 are used respectively as gating terms for gating the appropriate hexadecimal codes to buffer lO.
Referring again to Fig. 12, logic sequence 96 calls for processing the first character. Processing the first char~cter involves a test b~ logic sequence 97 to determine if the first character read out of the composite character table 75 in Fig. 7 is invariant.
20 If so, the operations described above are repeated.
Logic sequence 98 causes the printer code from the invariant printer code table to be obtained. In the event that the first character in the composite character table 75 is not invariant, the events called 25Of logic sequence 90 are called for. It is to be noted that logic sequence 90 appears both in Figs. lO
and 12. This results in logic sequence 91 in Fig. ll being called for.
Thereafter, a test is made in logic sequence 99 30to determine if there has been a successful translation operation. If not, the character cannot be constructed with the print element. If there has been a successful translation operation, the second character in the composite character table 75 is 35processed. This is indicated by logic sequence lO0.
Processing of the second character first involves a test in logic sequence lOl to determine if the second character is invariant. If not, logic sequence 90 is 1 ~62318 again called for. If the second character is invariant, logic sequence 102 causes the printer code from the invariant printer code table 74 in Fig. 7 to be sought. lf a success~ul translation has taken place as indicated by the test in logic sequence 103 in Fig. 11, logic sequence 104 causes the system to set up for successful translation and operation is returned to logic se~uence 90 in Fig. 10. A
successful translation simply means that a reorder 10 number has been found. Following the test in logic sequence 103, if there has not been a successful translation then the operation of logic se~uence 105 are performed and operation returns to loaic sequence 90 in Fig. 10.
The operations of searching ior a reorder number are illustrated in Fig. 9. Logic sequence 106 causes a setup to search for a variant reorder number in print element table 73 in Fig. 7, ~his results in the operations performed by logic sequence 90 again being 20 performed. If a reorder number has been found as indicated by the test in logic sequence 107 the first graphic set identification (keyboard identification) in the print element table is set up to indicate to the operator the print element to mount to print the 25 character. ~his operation is indicated by logic sequence 108. In the event a reorder number has not been found by the test indicated in logic sequence 107, a test is performed by logic seguence 109 to determine if all print element tables have been 30 searched. If not, logic sequence 110 causes an incrementing to the next print element table and the operations of logic sequence 90 are again performed.
If in the event all tables have been searched, provision is made to handle the circumstances an 35 unsuccessful translation as indicated by logic sequence 111.
Referring again to Fig. 11 and the test indicated by logic sequence 92, if the character is a member of the keyboard identification, the index position in the variant reorder number list of the print element table is calculated as indicated by logic sequence 112.
Thereafter, the printer code from the variant printer code table is sought as indicated by logic sequence 113.
Reference is next made to Figs. 13 and 14. In these figures are depicted the operations leading to a prompting or signalling of an operator for a print 10 element change in the event a character cannot be printed. ~s indicated earlier, at the beginning of a document there exist multi-byte control codes. One of these codes is used to denote the keyboard identification. ~ test is made in logic sequence 114 15 to determine if the code is a control code. If not, a test is made in logic sequence llS to determine if the code read along line 21 is a character. If not, any single byte control code or codes are processed as indicated by logic sequence 116. Thereafter, a 20 determination is made by logic sequence 117 in Fig. 14 as to whether the document has been completed. If so, the operation is terminated. If not, the test performed by logic sequence 114 is repeated. If the results of the test in logic sequence 11~ are 25 positive, a test is made in logic sequence 118 to determine if the character is supported by the active keyboard. That is, a determination is made as to whether the character exists on the mounted print element. If so, the printer code for printer in use 30 is loaded into line buffer 10 in Fig. 2. This is indicated by logic sequence 119 in Fig. 14.
In the event the results of the test performed by logic sequence 114 are that the multi-byte control read along line 21 is a keyboard identification 35 change ~as indicated by logic sequence 120), the keyboard identification code is stored in a deferred keyboard identification code reglster as indicated by logic sequence 121. Thereafter, a test is made in loc1ic sequence 117 to determine if the document has been completed. If the multi-byte control appearing on line 21 is not a keyboard identification chan~e, the multi-byte control is processed as indicated by logic seguence 122.
Turning to the test performed by logic sequence 118, if the character read along line 21 is not supported by the keyboard, a test is made to determine whether there is a comparison between the active 10 keyboard and the keyboard identification code stored in the deferred keyboard identification code register.
This test is performed by logic sequence 123. If the results of the test performed by logic sequence 123 are negative, the character read along line 21 is 15 processed by logic sequence 126. If the results of the test performed by logic sequence 123 are positive, a test is performed by logic sequence 124 to determine if the character exists on the keyboard stored in the deferred keyboard identification register. The 20 register utilized for storing a deferred keyboard identification code can exist either in the processor or in section 6 in Fig. 2. If the results of the test performed by logic sequence 124 are ~ositive, the operator is prompted to install a proper print 25 element. This is indicated by logic sequence 125.
Following prompting of the need for a new print element, the appropriate printer code is inserted into line buffer as indicated by logic sequence 119. In the event the character does not exist on a print 30 element identified by a deferred keyboard identification code, a search is made of available keyboards ~print element tables) to obtain the particular character. This is represented by logic sequence 126. In the event a keyboard is not 35 available to the system, as indicated by the test performed by logic sequence 127, an underscore code is substituted for the non-processable character as indicated by logic sequence 128. On the other hand, 1 ~62318 if there is a keyboard available to the system, the operator is prompted to install a proper print element as indicated by logic sequence 125.
The following is both a summary of the more salient features of the above, and includes details not heretofore mentioned.
The print element tables 73 contain a list of reorder numbers that represent the graphics supported by the EBCDIC code maps of Tables 1-3. These are the characters available to the system. Each unique graphic on the code maps supported by the machine is represented by a unique reorder number rangins from 0-255. The print element tables are 192 bytes in length. Each contains the reorder numbers of the lS graphics that make up the code map graphic set. The reorder number for a graphic is placed in the table location that corresponds to the EBCDIC code ~inus X'40'. As pointed out earlier, a lower case "a" is represented as X'81', and its reorder number of 41 is in position 65 in all print element tables. As such, this character is invariant.
The print element tables are an integral part of the translation operations. Obtaining a reorder number determines the character category~ If the category is invariant, the reorder number is added to the top of the invariant printer code table and the contents of that location are the printer code that is to be output to the printer for that graphic. If the category is variant, the use of additional tables is required. The composite character table contains two reorder numbers per constructable graphic. The reorder numbers are the reorder numbers of the two graphics that can be used to construct the character read from buffer 8. The table contains the reorder number of the overstruck graphic in the first position and the reorder number of the overstriking graphic in the second position. The reorder number that begins the composite graphics is subtracted from the reorder 1 ~62318 ~9 number of the composite a raphic. ~he result is multi~lied by two to obtain the location of the two reorder numbers that are used to construct the graphic.
The IPCT length byte in Fig. 5 is used to determine if the printer code type is something other than EBCDIC. If this byte contains a zero, the EBCDIC
code is used to determine the printer code for the graphic.
The invariant printer code table 72 contains the printer specific codes that represent the characters that are on all print elements and have th~ same code on all print elements for a particular printer. The alphabetics, numerics and some special characters such as period, comma, slash, etc., will cause invariant printer code table 72 to be indexed from table 71.
The size of table 72 will vary dependent on the printer. The contents of table 7 will be tilt-rotate codes for a golf ball type printer. Table 72 is not required for EBCDIC driven printers.
The variant printer code table 74 contains the printer specific codes that represent the characters that are not on all print elements or have different codes or various print elements for a particular printer. The reorder numbers found in table 71 that represent variant graphics will cause table 71 to index tables 73 for translation operations. The position of the reorder number in tables 73 will be used as an index into this table to obtain the code that should be sent to the printer (buffer lQ) for the graphic. The size of table 73 will vary dependent on the printer. The contents of table 73 will be tilt-rotate codes. Table 74 is not needed by an EBCDIC driven printer.
Tables 73 contain the variant reorder numbers of those graphics that exist on the print element. When a variant character is to be translated, the keyboard identification codes in Table 73 are requested for the 5n active ke~board to deterrine if a print element table exists for the keyboard.
If the keyboard identification code is found, tables 73 are used to determine if the graphic is on
F SMALL
K SMALL
P SMALL
Q SMALL
U SMALL
Z SMALL
~' A CAP
E CAP
J CAP
O CAP
T CAP
- I 16231~
REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
Y CAP
52 ~EQ. HYPHEN
54 CO~A
ZERO
FIVE
r ~ SEVEN
EIGHT
PERIOD
SLASH
667 CLOSE PAREN.
COLON
71 OPEN PAREN.
REQ. SPACE
OPEN BRACKET
CIRCUMFLEX ACC.
DEGREE/OVERCIR.
CEDILLA ACCENT
82 DIAERESIS, UMLAUT, TREMA
CARON ACCENT
VERTICAL LINE
TABLE 4 (cont.) REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
92 INT. CURRENCY
94 D STROKE, CAP
CENT SIGN
102 I DOTLESS, SMALL
105 TWO, SUPERSCRIPT
106 THREE, SUPERSCRIPT
109 OPEN QUOTE, EUR.
110 CLOSE QUOTE, EUR.
111 D, ICELANDIC, SMALL
112 THORN, SMALL
114 A UNDERSCORE, SMALL
115 O UNDERSCORE, SMALL
116 AE DIPTHONG, SMALL
117 AE DIPTHONG, CAP
118 MICRO, MU
119 SPANISH OPEN EXCLAM. PT.
121 THORN, CAP
124 FLORIN, GUILDER
133 A OGONEK, SMALL
134 E OGONEK, SMALL
135 A OGONEK, CAP
137 E OGONER, CAP
TABLE 4 (cont.) lg REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
138 L APOSTROPHE, SMALL
139 D STROKE, SMALL
140 L APOSTROPHE, CAP
142 T APOSTROPHE, SMALL
143 O DOUBLE ACUTE, SMALL
144 U DOUBLE ACUTE, SMALL
145 T APOSTROPHE, CAP
146 O DOUBLE ACUTE, CAP
147 U DOUBLE ACUTE, CAP
148 A BREVE, SMALL
149 G BREVE, CAP
150 A BREVE, CAP
151 G BREVE, CAP
154 APOSTROPHE N, SMALL
155 A CIRCUMFLEX, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
159 A TILDE, SMALL
160 A OVERCIRCLE, SMALL
161 C CEDILLA, SMALL
162 N TILDE, SMALL
163 A OVERCIRCLE, SMALL
164 E ACUTE, SMALL
165 E CIRCUMFLEX, SMALL
166 E DIAERESIS, SMALL
~ ~ 167 E GRAVE, SMALL
168 I ACUTE, SMALL
169 I CIRCUMFLEX, SMALL
170 I DIAERESIS, SMALL
171 I GRAVE, SMALL
173 A CIRCUMELEX, CAP
174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
177 A TILDE, CAP
178 A OVERCIRCLE, CAP
179 C CEDILLA, CAP
180 N TILDE, CAP
181 C SLASH, SMALL
182 E ACUTE, CAP
183 E CIRCUMFLEX, CAP
TABLE 4 (cont.) ,~
REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
184 E DIAERESIS, CAP
185 E GRAVE, CAP
186 I ACUTE, CAP
187 I CIRCUMFLEX, CAP
188 I DIAERESIS, CAP
189 I GRAVE, CAP
190 C SLASH, CAP
191 Y ACUTE, SMALL
192 Y ACUTE, CAP
193 POUND SIGN, LIRA
195 O CIRCUMFLEX, S~LL
196 O DIAERESIS, SMALL
197 O GRAVE, SMALL
198 O ACUTE, SMALL
199 O TILDE, SMALL
200 U CIRCUMFLEX, SMALL
201 U DIAERESIS, SMALL
202 U GRAVE, SMALL
203 U ACUTE, SMALL
204 Y DIAERESIS, SMALL
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
207 O GRAVE, CAP
q~8 O ACUTE, CAP
209 O TILDE, CAP
210 U CIRCUMFLEX, CAP
211 U DIAERESIS, CAP
212 U GRAVE, CAP
213 U ACUTE, CAP
214 E CARON, SMALL
215 C CARON, SMALL
216 C ACUTE, SMALL
217 U OVERCIRCLE, SMALL
218 D CARON, SMALL
219 L CARON, SMALL
220 L ACUTE, SMALL
221 E CARON, CAP
222 C CARON, CAP
223 C ACUTE, CAP
224 U OVERCIRCLE, CAP
225 D CARON, CAP
226 I CARON, CAP
227 I ACUTE, CAP
228 N CARON, SMALL
229 R CARON, SMALL
TABLE 4 (cont.) 1 ~62318 REORDER NUMBER ASSIGNMENTS
REORDER NUMBER GRAPHIC
230 S ACUTE, SMALL
231 I STROKE, SMALL
232 N ACUTE, SMALL
233 S CARON, SMALL
234 N CARON, CAP
235 B CARON, CAP
236 S ACUTE, CAP
237 Z OVERDOT, SMALL
238 Z OVERDOT, CAP
239 Z CARON, SMALL
240 Z ACUTE, SMALL
241 Z CARON, CAP
242 Z ACUTE, CAP
243 I STROKE, CAP
244 N ACUTE, CAP
245 S CARON, CAP
246 R ACUTE, SMALL
247 T CARON, SMALL
248 R ACUTE, SMALL
249 T CARON, CAP
250 I OVERDOT, CAP
251 S SEDILA, SMALL
252 S SEDILA, CAP
253 T SEDILA, SMALL
254 T SEDILA, CAP
TABLE 4 (cont.) In Table 4, each of the characters are ordered and assigned a value according to their frequency of use.
~or example, a small "a" is the most frequently used character and is assigned a decimal value of ~ero.
This zero v~lue is a reorder number which will be used as later described herein to either index a printer code for driving a golf ball printer or gate a code to an EBCDIC driven printer.
Diverting for a moment, additional background information is deemed in order. ~or the word processing system contemplated herein, the output coding of ~eyboard 1 will be EBCDIC, storage in buf~er 8 will be in EBCDIC, and the coding in line buf'er 10 will vary according to the printer being used.
Certain printers can be driven directly with EBCDIC, while others such as the single element (golf ball) IBM "Selectric"~ printers are driven with multibit codes which are transformed into tilt and rotate requirements. A printer which can be driven from EBCDIC is the daisy wheel 60 cps, IBM 5218 Printer.
This invention is applicable to both types of printers in reducing the number of required print element changes.
Not only are the reorder numbers assigned on fre~uency of use basis, the category of the character or graphic is identified by the reorder number in an ordered manner. As was pointed out earlier, the categories are invariant, variant, and composite. The categories themselves vary according to the graphic set being used. For example, for the IBM "Selectric"
printer 88 character graphic set, the invariant graphic reorder numbers range from 0-61. The variant graphic reorder numbers range from 62-154, and the , composite reorder numbers range from 155-255. For the IBM 5218 printer 96 character graphic set, the invariant reorder numbers will range from 0-72, the variant graphic numbers will range ~rom 73-154, and the composite reorder numbers will range from 155-255.
~ ssume that a printing operation has been initiated by an operator and coding for an English U. S. print element is read in the data stream in buffer 8. It is to be recalled that Table 1 is substantially universal. Based on the print element identification, code map #l (denoted by reference numeral 18 in ~ig. 2), which corresponds to Table 1, is selected. If the following character code is 10000001, this binary coding is equal to X'81'.
10 Thereafter, subtracted from the X'81' is X'40', leaving X'41'. X'41', equal to decimal 65, ~or indexing to a position in code map ~1. Code map ~1 is detailed in Table 5 below. Code map ~'s ' and 3 are set out in Tables 6 and 7 below, and correspond 15 respectively to Tables 2 and 3. Indexing down Table 5 to position 65, it will be seen that the character or graphic is a small "a".
155 A CIRCUMFLEX, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
159 A TILDE, SMALL
161 C CEDILLA, SMALL
162 N TILDE, SMALL
164 E ACUTE, SMALL
165 E CIRCUMFLEX, SMALL
166 E DIAERESIS, SMALL
167 E GRAVE, SMALL
168 I ACUTE, SMALL
169 I CIRCUMFLEX, SMALL
170 I DIAERESIS, SMALL
171 I GRAVE, SMALL
; 052 MINUS SIGN, HYPHEN
i 066 SLASH
173 A CIRCUMFLEX, CAP
: 174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
177 A TILDE, CAP
178 A OVERCIRCLE, CAP
179 C CEDILLA, CAP
180 N TILDE, CAP
181 O SLASH, SMALL
182 E ACUTE, CAP
183 E CIRCUMFLEX, CAP
184 E DIAERESIS, CAP
185 E GRAVE, CAP
186 I ACUTE, CAP
187 I CIRCUMFLEX, CAP
188 I DIAERESIS, CAP
189 I GRAVE, CAP
073 EQUAL SIG~
089 Q~OTATION MARK
190 O SLASH, CAP
000 A, SMALL
001 B, SMALL
002 C, SMALL
003 D, SMALL
004 E, SMALL
005 F, SMALL
006 G, SMALL
007 H, SMALL
008 I, SMALL
109 OPENING QUOTE, EUROPEAN
110 CLOSING QUOTE, EUROPEAN
111 D, ICELANDIC, SMALL
191 Y ACUTE, SMALL
112 THORN, SMALL
080 DEGREE, OVERCIRCLE
009 J, SMALL
010 K, SMALL
011 L, SMALL
012 M, SMALL
013 N, SMALL
014 O, SMALL
015 P, SMALL
016 Q, SMALL
017 R, SMALL
114 A UNDERSCORE, SMALL
TABLE 5 (cont.d) ,~.
115 O UNDERSCORE, SMALL
116 AE DIPTHONG, SMALL
117 AE DIPTHONG, CAP
118 MICRO, MU
018 S, SMALL
019 T, SMALL
020 U, SMALL
021 V, SMALL
022 W~ SMALL
023 X, SMALL
024 Y, SMALL
025 Z, SMALL
094 D STROKE, CAP
192 Y ACUTE, CAP
121 THORNE, CAP
193 POUND SIGN, LIRA
124 FLORIN, GUILDER
083 DIAERESIS, UMLAUT, TREMA ACCENT
026 A, CAP
027 B, CAP
028 C, CAP
029 D, CAP
030 E, CAP
031 F, CAP
032 G, CAP
TABLE 5 (cont.) 033 H, CAP
034 I, CAP
195 O CIRCUMFLEX, SMALL
196 O DIAERESIS, SMALL
197 O GRAVE, SMALL
198 O ACUTE, SMALL
199 O TILDE, SMALL
035 J, CAP
036 K, CAP
037 L, CAP
038 M, CAP
039 N, CAP
040 O, CAP
041 P, CAP
042 Q, CAP
043 R, CAP
102 I, DOTLESS, SMALL
200 U CIRCUMFLEX, SMALL
201 U DIAERESIS, SMALL
202 U GRAVE, SMALL
203 U ACUTE, SMALL
204 Y DIERESIS, SMALL
044 S, CAP
045 T, CAP
046 U, CAP
047 V, CAP
048 W, CAP
049 X, CAP
050 Y, CAP
051 Z, CAP
105 TWO, SUPERSCRIPT
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
207 O GRAVE, CAP
208 O ACUTE, CAP
209 O TILDE, CAP
TABLE 5 (cont.) 106 THREE, SUPERSCRIPT
210 U CIRCUMFLEX, CAP
211 U DIAERESIS, CAP
212 U GRAVE, CAP
213 U ACUTE, CAP
TABLE 5 (cont.) 133 A OGONEK, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
214 E CARON, SMALL
215 C CARON, SMALL
161 C CEDILLA, SMALL
216 C ACUTE, SMALL
164 E ACUTE, SMALL
134 E OGONEK, SMALL
166 E DIAERESIS, SMALL
217 E OVERCIRCLE, SMALL
168 I ACUTE, SMALL
218 D CARON, SMALL
219 L CARON, SMALL
220 L ACUTE, SMALL
052 MINUS SIGN, HYPHEN
135 A OGONEK, CAP
174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
221 E CARON, CAP
222 C CARON, CAP
179 C CEDILLA, CAP
223 C, ACUTE, CAP
182 E ACUTE, CAP
137 E OGONEK, CAP
184 E DIAERESIS, CAP
224 U OVERCIRCLE, CAP
186 I ACUTE, CAP
225 D CARON, CAP
226 L CARON, CAP
227 L ACUTE, CAP
079 GRA~E ACCENT
000 A, SMALL
001 B, SMALL
OG2 C, SMALL
003 D, SMALL
004 E, SMALL
005 F, SMALL
006 G, SMALL
007 H, SMALL
008 I, SMALL
138 I APOSTROPHE, SMALL
228 N CARON, SMALL
139 D STROKE, SMALL
191 Y ACUTE, SMALL
229 R CARON, SMALL
230 S ACUTE, SMALL
080 DEGREE, OVERCIRCLE
009 J, SMALL
010 K, SMALL
011 L, SMALL
012 M, SMALL
013 N, SMALL
014 O, SMALL
015 P, SMALL
016 Q, SMALL
017 R, SMALL
231 L STROKE, SMALL
232 N ACUTE, SMALL
TABLE 6 (cont.d) 233 S CARON, SMALL
018 S, SMALL
019 T, SMALL
020 U, SMALL
021 V, SMALL
022 W, SMALL
023 X, SMALL
024 Y, SMALL
025 Z, SMALL
140 L APOSTROPHE, CAP
234 N CARON, CAP
094 D STROKE, CAP
192 Y ACUTE, CAP
235 R CARON, CAP
236 S ACUTE, CAP
193 POUND SIGN, LIRA
237 Z OVERDOT, SMALL
238 Z OVERDOT, CAP
239 Z CARON, SMALL
240 Z ACUTE, SMALL
241 Z CARON, CAP
242 Z ACUTE, CAP
243 L STROKE, CAP
244 N ACUTE, CAP
245 S CARON, CAP
083 DIAERESIS, UMLAUT, TREMA ACCENT
142 T APOSTROPHE, SMALL
026 A, CAP
027 B, CAP
028 C, CAP
029 D, CAP
030 E, CAP
031 F, CAP
032 G, CAP
033 H, CAP
034 I, CAP
,, TABLE 6 (cont.) .
;, ~, ~ .
195 O CIRCUMFLEX, SMALL
196 O DIAERESIS, SMALL
246 R ACUTE, SMALL
198 O ACUTE, SMALL
143 O DOUBLE ACUTE, SMALL
035 J, CAP
036 K, CAP
037 L, CAP
038 M, CAP
039 N, CAP
040 O, CAP
041 P, CAP
042 Q, CAP
043 R, CAP
102 I, DOTLESS, SMALL
144 U DOUBLE ACUTE, SMALL
201 U DIAERESIS, SMALL
247 T CARON, SMALL
203 U ACUTE, SMALL
145 T APOSTROPHE, CAP
044 S, CAP
045 T, CAP
046 U, CAP
047 V, CAP
048 W, CAP
049 X, CAP
050 Y, CAP
051 Z, CAP
105 TWO, SUPERSCRIPT
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
248 R ACUTE, CAP
208 O ACUTE, CAP
146 O DOUBLE ACUTE, CAP
TABLE 6 (cont.) 1 1~2318 106 THREE, SUPERSCRIPT
147 U DOUBLE ACU~E, CAP
211 U DIAERESIS, CAP
149 T CARON, CAP
213 U ACUTE, CAP
TABLE 6 (cont.) ' 'e., 155 A CIRCUMFLEX, SMALL
156 A DIAERESIS, SMALL
157 A GRAVE, SMALL
158 A ACUTE, SMALL
148 A BREVE, SMALL
161 C CEDILLA, SMALL
149 G BREVE, SMALL
164 E ACUTE, SMALL
165 E CIRCUMFLEX, SMALL
166 E DIAERESIS, SMALL
167 E GRAVE, SMALL
168 I ACUTE, SMALL
169 I CIRCUMFLEX, SMALL
170 I DIAERESIS, SMALL
171 I GRAVE, SMALL
250 I OVERDOT, CAP
05 2 MINUS SIGN, HYPHEN
173 A CIRCUMFLEX, CAP
174 A DIAERESIS, CAP
175 A GRAVE, CAP
176 A ACUTE, CAP
150 A BREVE, CAP
I78 A OVERCIRCLE, CAP
179 C CEDILLA, CAP
151 G BREVE, CAP
182 E ACUTE, CAP
183 E CIRCUMFLEX, CAP
184 E DIAERESIS, CAP
185 E GRAVE, CAP
186 I ACUTE, CAP
187 I CIRCUMFLEX, CAP
188 I DIAERESIS, CAP
189 I GRAVE, CAP
089 guoTATIoN MARK
000 A, SMALL
001 B, SMALL
002 C, SMALL
003 D, SMALL
004 E, SMALL
005 F, SMALL
006 G, SMALL
007 H, SMALL
008 I, SMALL
139 D STROKE, SMALL
251 S SEDILA, SMALL
080 DEGREE, OVERCIRCLE
009 J, SMALL
010 K, SMALL
011 L, SMALL
012 M, SMALL
013 N, SMALL
014 O, SMALL
015 P, SMALL
01Ç Q, SMALL
017 R, SMALL
TABLE 7 (cont.d) I 1623~8 118 MICRO, MU
018 S, SMALL
O19 T, SMALL
020 U, SMALL
021 V, SMALL
022 W, SMALL
023 X, SMALL
024 Y, SMALL
025 Z, SMALL
094 D STROKE, CAP
154 APOSTROPHE N, SMALL
252 S SEDILA, CAP
193 POUND SIGN, LIRA
083 DIAERESIS, UMLAUT, TREMA ACCENT
253 T SEDILA, SMALL
026 A, CAP
027 B, CAP
028 C, CAP
029 D, CAP
030 E, CAP
031 F, CAP
032 G, CAP
TABLE 7 (cont.
: AT9-80-034 033 H, CAP
034 I, CAP
195 O CIRCUMFLEX, SMALL
196 O DIAERESIS, SMALL
197 O GRAVE, SMALL
198 O ACUTE, SMALL
035 J, CAP
036 K, CAP
037 L, CAP
038 M, CAP
039 N, CAP
040 O, CAP
041 P, CAP
042 Q, CAP
043 R, CAP
102 I, DOTLESS, SMALL
200 U CIRCUMFLEX, SMALL
201 U DIAERESIS, SMALL
202 U G~AVE, SMALL
203 U ACUTE, SMALL
254 T SEDILA, CAP
044 S, CAP
045 T, CAP
046 U, CAP
047 V, CAP
048 W, CAP
049 X, CAP
050 Y, CAP
051 Z, CAP
105 TWO, SUPERSCRIPT
205 O CIRCUMFLEX, CAP
206 O DIAERESIS, CAP
207 O GRAVE, CAP
208 O ACUTE, CAP
TABLE 7 (cont.) 3g 106 THREE, SUPERSCRIPT
210 U CIRCUMFLEX, CAP
211 U DIAERESIS, CAP
212 U GRAVE, CAP
213 U ACUTE, CAP
TABLE 7 (cont.) 3'3 The reorder number for the small "a" is 7.ero.
Identified is the invariant categor~, and as such the same character will exist in all of code maps 18, 19, etc., and on all the print elements. In the event a golf ball ty~e printer is being utilized, requirinc3 tilt and rotate information, the reorder number of zero is used to index into an invariant orinter code table to obtain a code which can be used to ~eet tilt and rotate requirements in printing a small "a". As 10 has been mentioned, each of the characters are categorized in terms of invariant, variant, and composite.
In the above, the overall reorderinc operation has been briefly described. In referring to Fig. 4, 15 the reordering operation is set forth in greater detail. When an ~BCDIC code is read out of text storage buffer 8 along line 21 to graphic set reordering block 15 in Fig. 2, a test, represented by logic sequence 61, identifies whether the code map 20 read out of the unit control block is available to the graphic set reordering algorithm identified by block 15 in Fig. 2. If not, the reordering sequence is terminated. The code maps available are identified by blocks 18, 19, 35c. It is to be assumed that the 25input to reordering block 15 along line 13 has indicated map number 1 (18 in Fig. 2). The EBCDIC
read out of text storage buffer ~ is contained in code map number 1. A test represented by logic sequence h2 is made to determine whether the EBCDIC code is a 30graphic (character) code. If not, the graphic set reordering operation or sequence is terminated. The reason is that if the code is not a graphic, then it is a control to which the reorderinq operation is not applicable. If the code read out of the text storage 35buffer is a graphic code, then a subtraction operation is performed as indicated by logic sequence number 63.
Following the subtraction operation, logic sequence 64 causes a conversion of the hexadecimal result to decimal for indexing into Table 5. Following indexing into Table 5 to obtain a reorder number, a translation operation may be in order. If the printer is EBCDIC driven and the reorder number indicates and invariant character, the reorder number serves as a gating term for gating the code for the "a" read out of buffer 8 to buffer 10. If the printer is not EBCDIC driven or the character is variant, a translation operation indicated by logic sequence 65 is performed. Translation logic sequence 65 is more fully described in detail in Figs. 8-12. Logic sequence 65 and the details set forth in Figs. 8-12 make up the algorithm of block 17 in Fig. 2. Before addressing block 17 in Fig. 2 and Figs. 8-12, the structure of the translation tables in block 22 of section 7 will be described. Reference for this description is to Figs. 5-7.
In Fig. 5 there is shown a storage table having stored therein, beginning at the top, the number of available invariant graphics. This number is dependent upon the printer in use. Next in the table appears an offset to print element tables which will be described with reference to Fig. 6. Thereafter, code maps 1-3 shown in Fig. 2 represented by Tables 5, 6, and 7 appear in the table, followed by a composite character table shown in more detail in Fig. 7. Next is stored a length of the invariant printer table and the invariant printer table shown in Fig. 7, followed by the variant printer code table shown in Fig. 7.
The portion of the table shown in Fig. 5 beginning with the composite character table and extending through the variant printer code table is included in block 22 of Fig. 2.
Refer next to Fig. 6 which illustrates a print element table, an offset to which is referred to in Fig. 5. In Fig.
6, the table is made up, in order, of 1) the number of print element tables illustrated in Fig. 7, 2) the print element table total length, 3) a code map identification code which can represent an~
one of maps 1-3 in ~ic3. 2 (Tables 5-7), 4) the number of graphic set identi~ication codes, ~) a list of the graphic set identification codes a~ailable for use and supported by a particular print ele~ent, fi) the n~;~ber of reorder numbers, i.e., how man~ ariant qraphics, and 7) a listin(l of the variant graphic reorder numbers. ~ll of the print element table illustrated in Fig. 6 forms part of block 22 in Fig. 2.
Refer next to Fig. 7. In this figure is illustrated in the upper left hand corner a code maP
table 71 in which is stored any one of the contents of code maps 1-~. Depending upon which one o code maps 1-3 is stored in code map table 71, and the particular 15 printer in use, pointers will be provided to invariant printer code table 72 and print element tables 73.
With the exception of code map table 71, the remainder of Fi~. 7 is included in block 22 of Fig. 2. Code map table 71 is included in either block 18, 19, etc., of 20 Fig. 2. If the variant reorder number is found in the print element table, the translation algorithm is pointed to the variant printer code table 74. If it is not found and is a composite reorder number, the translation algorithm is pointed to the composite 25 character table 75 for the reorder numbers of the characters that can be used to construct the character. The reorder numbers from the composite character table point the translation algorithm to the print element table 73 or the print element table 73 30 and the vaxiant printer code table 72.
With the above structure in mind, the operations performed by processor 60 under the control of the program or al~orithm contained in block 17 of Fig. 2 will be described. These operations are set forth in 35 detail in Figs. 8-12. Referring first to Fig. 8, logic sequences 61-64 are identical to those illustrated in Fig. 4. If a code map is not available and the character in EBCDIC code applied along line 21 is not a graphic, translation is not Dossible and the operation is terminated. This is illustrated by logic sequence 8l in ~ig. lO.
Following obtaining a reorder number by logic sequence ~4, a test is performed b~ lo~ic sequence ~2 to determine if the character falls into an invariant gra~hic category. If there is a positive result of the test performed in logic se~uence 82, a test is performed by logic sequence 83 to determine if the lO printer in use is an EBCDIC code driven printer. If so, the previously obtained reorder number is used as an ANDing condition for gating the EBCDIC code ap~lied along line ?l to buffer lO for ultimatel~ driving the printer to print the character. This is indicated by 15 logic sequence 84. If not, logic sequence 85 causes a printer code to be obtained from invariant printer code table 72 in Fig. 7. Upon obtaining the printer c~de from invariant printer code table 72, logic se~uence 86 in ~ig. 10 transmits the code to buffer 20 10.
If the result of the test performed by logic sequence ~2 is negative, a test is performed by logic sequence 87 to determine if the character appearing on line 21 exists on the print element on the printer. A
25 point to note here is that a selected print element may support a plurality of keyboards. The variant print element table of Fig. fi (denoted by reference numeral 73 in Fig. 7) is examined to find a table which supports the active graphic set (keyboard) 30 identification code. This is indicated by logic sequence 88 in Fig. lO. Assuming that the graphic set identification code or keyboard identification code is supported as indicated by logic sequence 89, a search is made to find the character as indicated by logic 35 sequence 90. This operation is a forerunner to the operation of constructin~ a character.
Refer next to Fig. ll. Logic sequence 91 calls for a scanning of the variant reorder numbers in print element tables 73 ~or a reorder nu~ber o~ the character. ~ test is made in logic se~uence 92 to determine if the reorder number for the character is present. If the character is not found, a determination, as indicated by log;c se~uence 93, is made as to whether the character falls into a composite category. Logic sequence 9~ causes a routing to the composite character operations shown in Fig. 12. In this figure, logic sequence 95 causes the 10 reorder number of graphics that can be used to construct the character to be obtained~ The ~raphic reorder numbers which can be used to construct the character are set out in the composite character table 75 in Fig. 7. ~ssume for a moment that the reorder 15 number from tables 73 is 190. In this case, the beginning of the composite category 155 is subtracted from 190. The result is 35 which is multiplied by 2 to ~rovide an index of 70. The index of 70 is used as a pointer into the composite character table 75.
20 Located in the composite character table are two side-by-side reorder numbers. ~ssume that the first for a "0" is 42 and the second is h6 Reorder number 42 is invariant, and therefore, can be translated. In this case, reorder number ~2 is used to index 25invariant printer code table 72. It is to be further assumed that located at the index position in the invariant printer code table 72 is .Y'59'. ~'59' provides the tilt/rotate information for ~rinting with a golf ball type printer. The second reorder number 30in the composite character table 75 was 66. This is the reorder number of a "/" and falls withi~ a variant category. In this case, the variant print element table 73 is indexed to position 66. The index position of the reorder number in the variant reorder 3snumber list of the print element table 73 is then used to index into the variant printer code table 74 to obtain a hexadecimal code for causing the printer to perform the correct tilt/rotate operation. Although 1 1623~8 alluded to earlier, it is to be specifically pointed out that the hexadecimal codes read out of both the invariant and variant printer code tables are different than the hexadecimal codes read from text storage buffer 8. That is, a "~" is stored in te~t storage buffer 8 in a binary equivalent to X'80'.
Based on the above assumptions, the hexadecimal codes read out of the invariant printer code table are X'59' and X'09', respectively, for causing correct tilt and lO rotate. In the event a daisy wheel printer is bein~
utilized, the reorder numbers 42 and 66 read out of the composite character table 75 are used respectively as gating terms for gating the appropriate hexadecimal codes to buffer lO.
Referring again to Fig. 12, logic sequence 96 calls for processing the first character. Processing the first char~cter involves a test b~ logic sequence 97 to determine if the first character read out of the composite character table 75 in Fig. 7 is invariant.
20 If so, the operations described above are repeated.
Logic sequence 98 causes the printer code from the invariant printer code table to be obtained. In the event that the first character in the composite character table 75 is not invariant, the events called 25Of logic sequence 90 are called for. It is to be noted that logic sequence 90 appears both in Figs. lO
and 12. This results in logic sequence 91 in Fig. ll being called for.
Thereafter, a test is made in logic sequence 99 30to determine if there has been a successful translation operation. If not, the character cannot be constructed with the print element. If there has been a successful translation operation, the second character in the composite character table 75 is 35processed. This is indicated by logic sequence lO0.
Processing of the second character first involves a test in logic sequence lOl to determine if the second character is invariant. If not, logic sequence 90 is 1 ~62318 again called for. If the second character is invariant, logic sequence 102 causes the printer code from the invariant printer code table 74 in Fig. 7 to be sought. lf a success~ul translation has taken place as indicated by the test in logic sequence 103 in Fig. 11, logic sequence 104 causes the system to set up for successful translation and operation is returned to logic se~uence 90 in Fig. 10. A
successful translation simply means that a reorder 10 number has been found. Following the test in logic sequence 103, if there has not been a successful translation then the operation of logic se~uence 105 are performed and operation returns to loaic sequence 90 in Fig. 10.
The operations of searching ior a reorder number are illustrated in Fig. 9. Logic sequence 106 causes a setup to search for a variant reorder number in print element table 73 in Fig. 7, ~his results in the operations performed by logic sequence 90 again being 20 performed. If a reorder number has been found as indicated by the test in logic sequence 107 the first graphic set identification (keyboard identification) in the print element table is set up to indicate to the operator the print element to mount to print the 25 character. ~his operation is indicated by logic sequence 108. In the event a reorder number has not been found by the test indicated in logic sequence 107, a test is performed by logic seguence 109 to determine if all print element tables have been 30 searched. If not, logic sequence 110 causes an incrementing to the next print element table and the operations of logic sequence 90 are again performed.
If in the event all tables have been searched, provision is made to handle the circumstances an 35 unsuccessful translation as indicated by logic sequence 111.
Referring again to Fig. 11 and the test indicated by logic sequence 92, if the character is a member of the keyboard identification, the index position in the variant reorder number list of the print element table is calculated as indicated by logic sequence 112.
Thereafter, the printer code from the variant printer code table is sought as indicated by logic sequence 113.
Reference is next made to Figs. 13 and 14. In these figures are depicted the operations leading to a prompting or signalling of an operator for a print 10 element change in the event a character cannot be printed. ~s indicated earlier, at the beginning of a document there exist multi-byte control codes. One of these codes is used to denote the keyboard identification. ~ test is made in logic sequence 114 15 to determine if the code is a control code. If not, a test is made in logic sequence llS to determine if the code read along line 21 is a character. If not, any single byte control code or codes are processed as indicated by logic sequence 116. Thereafter, a 20 determination is made by logic sequence 117 in Fig. 14 as to whether the document has been completed. If so, the operation is terminated. If not, the test performed by logic sequence 114 is repeated. If the results of the test in logic sequence 11~ are 25 positive, a test is made in logic sequence 118 to determine if the character is supported by the active keyboard. That is, a determination is made as to whether the character exists on the mounted print element. If so, the printer code for printer in use 30 is loaded into line buffer 10 in Fig. 2. This is indicated by logic sequence 119 in Fig. 14.
In the event the results of the test performed by logic sequence 114 are that the multi-byte control read along line 21 is a keyboard identification 35 change ~as indicated by logic sequence 120), the keyboard identification code is stored in a deferred keyboard identification code reglster as indicated by logic sequence 121. Thereafter, a test is made in loc1ic sequence 117 to determine if the document has been completed. If the multi-byte control appearing on line 21 is not a keyboard identification chan~e, the multi-byte control is processed as indicated by logic seguence 122.
Turning to the test performed by logic sequence 118, if the character read along line 21 is not supported by the keyboard, a test is made to determine whether there is a comparison between the active 10 keyboard and the keyboard identification code stored in the deferred keyboard identification code register.
This test is performed by logic sequence 123. If the results of the test performed by logic sequence 123 are negative, the character read along line 21 is 15 processed by logic sequence 126. If the results of the test performed by logic sequence 123 are positive, a test is performed by logic sequence 124 to determine if the character exists on the keyboard stored in the deferred keyboard identification register. The 20 register utilized for storing a deferred keyboard identification code can exist either in the processor or in section 6 in Fig. 2. If the results of the test performed by logic sequence 124 are ~ositive, the operator is prompted to install a proper print 25 element. This is indicated by logic sequence 125.
Following prompting of the need for a new print element, the appropriate printer code is inserted into line buffer as indicated by logic sequence 119. In the event the character does not exist on a print 30 element identified by a deferred keyboard identification code, a search is made of available keyboards ~print element tables) to obtain the particular character. This is represented by logic sequence 126. In the event a keyboard is not 35 available to the system, as indicated by the test performed by logic sequence 127, an underscore code is substituted for the non-processable character as indicated by logic sequence 128. On the other hand, 1 ~62318 if there is a keyboard available to the system, the operator is prompted to install a proper print element as indicated by logic sequence 125.
The following is both a summary of the more salient features of the above, and includes details not heretofore mentioned.
The print element tables 73 contain a list of reorder numbers that represent the graphics supported by the EBCDIC code maps of Tables 1-3. These are the characters available to the system. Each unique graphic on the code maps supported by the machine is represented by a unique reorder number rangins from 0-255. The print element tables are 192 bytes in length. Each contains the reorder numbers of the lS graphics that make up the code map graphic set. The reorder number for a graphic is placed in the table location that corresponds to the EBCDIC code ~inus X'40'. As pointed out earlier, a lower case "a" is represented as X'81', and its reorder number of 41 is in position 65 in all print element tables. As such, this character is invariant.
The print element tables are an integral part of the translation operations. Obtaining a reorder number determines the character category~ If the category is invariant, the reorder number is added to the top of the invariant printer code table and the contents of that location are the printer code that is to be output to the printer for that graphic. If the category is variant, the use of additional tables is required. The composite character table contains two reorder numbers per constructable graphic. The reorder numbers are the reorder numbers of the two graphics that can be used to construct the character read from buffer 8. The table contains the reorder number of the overstruck graphic in the first position and the reorder number of the overstriking graphic in the second position. The reorder number that begins the composite graphics is subtracted from the reorder 1 ~62318 ~9 number of the composite a raphic. ~he result is multi~lied by two to obtain the location of the two reorder numbers that are used to construct the graphic.
The IPCT length byte in Fig. 5 is used to determine if the printer code type is something other than EBCDIC. If this byte contains a zero, the EBCDIC
code is used to determine the printer code for the graphic.
The invariant printer code table 72 contains the printer specific codes that represent the characters that are on all print elements and have th~ same code on all print elements for a particular printer. The alphabetics, numerics and some special characters such as period, comma, slash, etc., will cause invariant printer code table 72 to be indexed from table 71.
The size of table 72 will vary dependent on the printer. The contents of table 7 will be tilt-rotate codes for a golf ball type printer. Table 72 is not required for EBCDIC driven printers.
The variant printer code table 74 contains the printer specific codes that represent the characters that are not on all print elements or have different codes or various print elements for a particular printer. The reorder numbers found in table 71 that represent variant graphics will cause table 71 to index tables 73 for translation operations. The position of the reorder number in tables 73 will be used as an index into this table to obtain the code that should be sent to the printer (buffer lQ) for the graphic. The size of table 73 will vary dependent on the printer. The contents of table 73 will be tilt-rotate codes. Table 74 is not needed by an EBCDIC driven printer.
Tables 73 contain the variant reorder numbers of those graphics that exist on the print element. When a variant character is to be translated, the keyboard identification codes in Table 73 are requested for the 5n active ke~board to deterrine if a print element table exists for the keyboard.
If the keyboard identification code is found, tables 73 are used to determine if the graphic is on
5 the element. The reorder number of the graphic is searched for in tables 73. If the reorder number is found, a successful translation has occurred in that a proper printer code is available. If the keyboard identification code or reorder number are not found, lOan unsuccessful translation has occurred. In this case, all of the tables 73 are searched to determine if the graphic can be supported (printed).
The reorder numbers are ordered in tables 73 according to the position of the code that should be 15output for the graphic in table 74. The code that is to be output for a graphic will vary dependent on the print element in use. Therefore, each one of tables 73 is customized for a print element. The position where the reorder number is found is used as an index 20 into table 74 to determine the graphic printer code.
The length of the tables will vary dependent on the printer in use.
If the reorder number is not found in the active - one of tables 73, a determination is ~ade as to 25 whether the graphic can be constructed. Reorder numbers 155-255 represent those graphics that can be constructed. If the graphic can be constructed, the reorder number is used to index into table 75 to obtain the two reorder numbers representing the 30 graphics that can be used to construct the called for graphic. If these two reorder numbers are either invariant or variant and found in the active one of tables 73, the variant reorder number is used to index into takle 72 and the index position of the variant 35 graphic(s) is used to obtain the printer code(s) that are to be output to the printer. If the variar.t reorder numbers from the composite table cannot be 1 ~62318 found in the active one of tables 73, another one of tables 73 is searched for the araphic.
Refer next to Fig. 15. The structure included in this figure is similar to that shown in Fig. 2. The 5 primary distinctions are an input line 130 to translation algorithm 17, and an output line 131 to a floppy disk storage device 132. For this figure, it is to be assumed that incoming data is applied along line 130 from a communication device. The object 10therefore, is to convert the communication device code to EBCDIC for storage in text buffer 8 and ultimate transfer along line 131 to floppy disk storage device 132. Since the operations performed are obvious in view of the above description, they will only be 15briefly described below.
The incoming device code is first applied to translation algorithm block 17, and a reorder number is sought for converting to an EBCDIC code for storage in buffer 8. It is to be noted that the algorithm of 20blocks 15 and 17 will be slightly altered, but in a straightforward manner. The alaorithms are first applied from program diskette 133 along line 134 to control block 9. In block 9, the algorithms are available to processor 60 on an as needed basis.
In summary, both a method of, and system for, efficiently managing print element changes are provided in that both character availability and character construction are looked to before alertin~
an operator of a print element change requirement.
The characters making up the various keyboards available to the system are mapped in a minimum number of keyboard code maps. Existing in various of the maps are characters which are identically coded. In other instances, different coding represents different 35 characters in different maps. Once a keyboard has been selected, the system will select an appropriate keyboard code map to distinguish coding during input keying. Both selections are stored in a buffer such that a keyboard code map identification code and a keyboard identification code properly identify following text codes. Assuming that at a particular point in time printing is from the buffer and the print element in use matches the last read keyboard identification code. Each character code read is reordered to determine whether it falls within either an invariant, variant, or composite character category. Regardless, reading causes a printing of 10 the corresponding character. For a character read following a subsequent different keyboard identification code, the category can become important. If invariant, reordering causes a printing as before. If the character falls within a variant lS category and exists on the element, a translation operation is necessary. This is to correct for the code read not matching the desired character position on the element. If the character is not available on the element and is not a composite character, a change 20 requirement is signalled. If the character falls wtihin a composite category, and the characters required to construct the composite character are ; available, category determinations are made to determine whether printing will occur from reordering 25 and/or a translation operations. Regardless, printing is caused to occur. If the character cannot be constructed due to the absence of a required character on the print element, a change requirement is signalled.
Under the above, once a print element is in use, printing can continue beyond normal print element limitations, and keyboard coding changes no longer automatically require a change in print ele~ents.
While the invention has been particularly shown 35and described with reference to a particular embodiment, it will be undérstood by those skilled in the art that various changes in form and detail may be t 162318 made without departin~ from the spirit and scope of the invention.
The reorder numbers are ordered in tables 73 according to the position of the code that should be 15output for the graphic in table 74. The code that is to be output for a graphic will vary dependent on the print element in use. Therefore, each one of tables 73 is customized for a print element. The position where the reorder number is found is used as an index 20 into table 74 to determine the graphic printer code.
The length of the tables will vary dependent on the printer in use.
If the reorder number is not found in the active - one of tables 73, a determination is ~ade as to 25 whether the graphic can be constructed. Reorder numbers 155-255 represent those graphics that can be constructed. If the graphic can be constructed, the reorder number is used to index into table 75 to obtain the two reorder numbers representing the 30 graphics that can be used to construct the called for graphic. If these two reorder numbers are either invariant or variant and found in the active one of tables 73, the variant reorder number is used to index into takle 72 and the index position of the variant 35 graphic(s) is used to obtain the printer code(s) that are to be output to the printer. If the variar.t reorder numbers from the composite table cannot be 1 ~62318 found in the active one of tables 73, another one of tables 73 is searched for the araphic.
Refer next to Fig. 15. The structure included in this figure is similar to that shown in Fig. 2. The 5 primary distinctions are an input line 130 to translation algorithm 17, and an output line 131 to a floppy disk storage device 132. For this figure, it is to be assumed that incoming data is applied along line 130 from a communication device. The object 10therefore, is to convert the communication device code to EBCDIC for storage in text buffer 8 and ultimate transfer along line 131 to floppy disk storage device 132. Since the operations performed are obvious in view of the above description, they will only be 15briefly described below.
The incoming device code is first applied to translation algorithm block 17, and a reorder number is sought for converting to an EBCDIC code for storage in buffer 8. It is to be noted that the algorithm of 20blocks 15 and 17 will be slightly altered, but in a straightforward manner. The alaorithms are first applied from program diskette 133 along line 134 to control block 9. In block 9, the algorithms are available to processor 60 on an as needed basis.
In summary, both a method of, and system for, efficiently managing print element changes are provided in that both character availability and character construction are looked to before alertin~
an operator of a print element change requirement.
The characters making up the various keyboards available to the system are mapped in a minimum number of keyboard code maps. Existing in various of the maps are characters which are identically coded. In other instances, different coding represents different 35 characters in different maps. Once a keyboard has been selected, the system will select an appropriate keyboard code map to distinguish coding during input keying. Both selections are stored in a buffer such that a keyboard code map identification code and a keyboard identification code properly identify following text codes. Assuming that at a particular point in time printing is from the buffer and the print element in use matches the last read keyboard identification code. Each character code read is reordered to determine whether it falls within either an invariant, variant, or composite character category. Regardless, reading causes a printing of 10 the corresponding character. For a character read following a subsequent different keyboard identification code, the category can become important. If invariant, reordering causes a printing as before. If the character falls within a variant lS category and exists on the element, a translation operation is necessary. This is to correct for the code read not matching the desired character position on the element. If the character is not available on the element and is not a composite character, a change 20 requirement is signalled. If the character falls wtihin a composite category, and the characters required to construct the composite character are ; available, category determinations are made to determine whether printing will occur from reordering 25 and/or a translation operations. Regardless, printing is caused to occur. If the character cannot be constructed due to the absence of a required character on the print element, a change requirement is signalled.
Under the above, once a print element is in use, printing can continue beyond normal print element limitations, and keyboard coding changes no longer automatically require a change in print ele~ents.
While the invention has been particularly shown 35and described with reference to a particular embodiment, it will be undérstood by those skilled in the art that various changes in form and detail may be t 162318 made without departin~ from the spirit and scope of the invention.
Claims (10)
- Claim 1 A system for reducing the number of print element changes normally required by a printer in printing characters from different character sets, said system comprising:
a) means for determining whether a character to be printed is included in a character set on said printer;
b) means, if said character to be printed is not included in said character set, for determining if said character to be printed can be constructed by printing a number of characters included in said character set; and c) means for causing printing of said character to be printed if either said character 1) is included in said character set, or 2) can be constructed from said number of characters in said character set. - Claim 2 A system according to Claim 1 including means for signalling a requirement for a print element change to a different character set only if said character to be printed is not included in said character set and said character to be printed cannot be constructed from a number of said characters included in said character set.
- Claim 3 A system according to Claim 1 wherein said character set includes a print element.
- Claim 4 A system according to Claim 1 wherein said number of characters includes a plurality of characters.
- Claim 5 A method of reducing the number of print element changes necessary in printing text made up of characters from different character sets, said method comprising:
a) determining whether a character to be printed is included in a character set of a print element on a printer being used;
b) determining, if said character to be printed is not included in said character set, whether said character to be printed can be constructed from a number of characters included in said character set; and c) causing a printing of said character to be printed if said character to be printed is either included in said character set or can be constructed by printing a number of characters included in said character set. - Claim 6 A method according to Claim 5 including signalling a requirement for a print element change only if said character to be printed is not included in said character set and said character to be printed cannot be constructed from a number of characters included in said character set.
- Claim 7 A method according to Claim 5 including reordering said characters based on a frequency of use basis.
- Claim 8 A method according to Claim 7 including categorizing said characters included in said character set into invariant, variant, and composite categories based on said reordering of said characters.
- Claim 9 A method according to Claim 8 including determining one of said categories for a character to be printed.
- Claim 10 a method according to Claim 9 including determining whether a character to be printed is to be translated to effect printing of a desired character.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/208,748 US4359286A (en) | 1980-11-20 | 1980-11-20 | Character set expansion |
US208,748 | 1988-06-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1162318A true CA1162318A (en) | 1984-02-14 |
Family
ID=22775892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000387015A Expired CA1162318A (en) | 1980-11-20 | 1981-09-30 | Character set expansion |
Country Status (5)
Country | Link |
---|---|
US (1) | US4359286A (en) |
EP (1) | EP0052725B1 (en) |
JP (1) | JPS57114938A (en) |
CA (1) | CA1162318A (en) |
DE (1) | DE3171239D1 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT8153183V0 (en) * | 1981-04-29 | 1981-04-29 | Olivetti & Co Spa | WRITING DEVICE |
IT1144199B (en) * | 1981-04-29 | 1986-10-29 | Olivetti & Co Spa | WRITING DEVICE |
BE891911A (en) * | 1982-01-27 | 1982-05-17 | Europ Agence Spatiale | DIGITAL DEVICE FOR CONTROLLING THE GRAPHIC REPRESENTATION OF CHARACTERS |
JPS58219591A (en) * | 1982-06-15 | 1983-12-21 | キヤノン株式会社 | Display unit |
US4594674A (en) * | 1983-02-18 | 1986-06-10 | International Business Machines Corporation | Generating and storing electronic fonts |
DE3436033C2 (en) * | 1983-09-30 | 1997-05-07 | Canon Kk | Output device and method for outputting character patterns |
JPH0640257B2 (en) * | 1983-10-11 | 1994-05-25 | キヤノン株式会社 | Information output device |
GB2156557B (en) * | 1984-01-17 | 1988-12-29 | Sharp Kk | Word processor |
US4710886A (en) * | 1984-10-24 | 1987-12-01 | International Business Machines Corporation | Table driven print formatting |
GB2167013B (en) * | 1984-10-31 | 1989-04-05 | Canon Kk | Printer |
EP0215929A1 (en) * | 1985-03-29 | 1987-04-01 | LO, Shui-Yin | Improved method and apparatus for specifying and forming characters |
US4768164A (en) * | 1985-05-03 | 1988-08-30 | Minolta Camera Kabushiki Kaisha | Word processor with font exchanging font synthesizing mode, and spacing mode of operation |
US4749989A (en) * | 1985-06-03 | 1988-06-07 | Honeywell Bull Inc. | Word processing composite character processing method |
US4894798A (en) * | 1986-06-20 | 1990-01-16 | International Business Machines Corporation | Automatic stop code insertion feature for a word processing apparatus |
US4942541A (en) * | 1988-01-22 | 1990-07-17 | Oms, Inc. | Patchification system |
US5562350A (en) * | 1988-04-18 | 1996-10-08 | Canon Kabushiki Kaisha | Output apparatus that selects a vector font based on character size |
US4862950A (en) * | 1988-11-22 | 1989-09-05 | Gribble Robert L | Apparatus and method for controlling the environment in a substantially enclosed and pressurized work area such as a textile manufacturing plant |
GB2239116A (en) * | 1989-11-20 | 1991-06-19 | Brother Ind Ltd | Printing apparatus |
JPH0812632B2 (en) * | 1992-04-30 | 1996-02-07 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Information system and information method |
JP2525333B2 (en) * | 1993-09-06 | 1996-08-21 | キヤノン株式会社 | Output device |
US8484170B2 (en) * | 2011-09-19 | 2013-07-09 | International Business Machines Corporation | Scalable deduplication system with small blocks |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228507A (en) * | 1968-07-02 | 1980-10-14 | Carl Leban | Methods and means for reproducing non-alphabetic characters |
US3546681A (en) * | 1969-01-30 | 1970-12-08 | Rca Corp | Programmed method for manipulating electronic fonts in electronic photocomposition systems |
US3711849A (en) * | 1971-03-08 | 1973-01-16 | Vector General | Character font generating system for cathode-ray tube displays, or the like |
US3729730A (en) * | 1971-04-14 | 1973-04-24 | Cogar Corp | Display system |
US3892303A (en) * | 1973-04-03 | 1975-07-01 | Frederick P Willcox | Type font changing mechanism and controls |
US4029947A (en) * | 1973-05-11 | 1977-06-14 | Rockwell International Corporation | Character generating method and system |
US4005390A (en) * | 1974-11-11 | 1977-01-25 | International Business Machines Corporation | Merger and multiple translate tables in a buffered printer |
JPS5193632A (en) * | 1975-02-14 | 1976-08-17 | ||
US3964591A (en) * | 1975-06-10 | 1976-06-22 | International Business Machines Corporation | Font selection system |
US4193119A (en) * | 1977-03-25 | 1980-03-11 | Xerox Corporation | Apparatus for assisting in the transposition of foreign language text |
US4300206A (en) * | 1977-06-30 | 1981-11-10 | International Business Machines Corporation | Flexible text and image generator for a raster printer |
US4205922A (en) * | 1978-03-06 | 1980-06-03 | International Business Machines Corporation | Font and column format control system |
US4298945A (en) * | 1978-05-12 | 1981-11-03 | Eltra Corporation | Character generating method and apparatus |
US4262338A (en) * | 1978-05-19 | 1981-04-14 | Gaudio Jr John J | Display system with two-level memory control for display units |
US4220417A (en) * | 1978-06-08 | 1980-09-02 | International Business Machines Corporation | Apparatus for producing preliminary character printout of text and instruction codes of word processing apparatus |
US4251871A (en) * | 1978-09-29 | 1981-02-17 | International Business Machines Corporation | Method and apparatus for storing and reconstructing Chinese-like characters |
JPS5925663B2 (en) * | 1979-02-26 | 1984-06-20 | 株式会社リコー | Print control method |
US4298957A (en) * | 1979-06-28 | 1981-11-03 | Xerox Corporation | Data processing system with character sort apparatus |
US4274079A (en) * | 1979-07-12 | 1981-06-16 | Burroughs Corporation | Apparatus and method for dynamic font switching |
US4261039A (en) * | 1979-10-19 | 1981-04-07 | International Business Machines Corporation | Microprocessor controlled positioning system |
US4286329A (en) * | 1979-12-17 | 1981-08-25 | International Business Machines Corporation | Complex character generator |
GB2072388B (en) * | 1980-03-20 | 1983-05-25 | Qume Corp | Printing apparatus |
-
1980
- 1980-11-20 US US06/208,748 patent/US4359286A/en not_active Expired - Lifetime
-
1981
- 1981-09-18 JP JP56146422A patent/JPS57114938A/en active Granted
- 1981-09-30 CA CA000387015A patent/CA1162318A/en not_active Expired
- 1981-10-05 DE DE8181107926T patent/DE3171239D1/en not_active Expired
- 1981-10-05 EP EP81107926A patent/EP0052725B1/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
EP0052725B1 (en) | 1985-07-03 |
US4359286A (en) | 1982-11-16 |
DE3171239D1 (en) | 1985-08-08 |
JPS57114938A (en) | 1982-07-17 |
EP0052725A1 (en) | 1982-06-02 |
JPH0218987B2 (en) | 1990-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1162318A (en) | Character set expansion | |
US4379288A (en) | Means for encoding ideographic characters | |
US4464070A (en) | Multi-character display controller for text recorder | |
US4650349A (en) | Speed typing apparatus and method | |
JPH04220764A (en) | Method and apparatus for compressing character font | |
US4994968A (en) | Word processing device | |
EP0458569B1 (en) | Method and apparatus for generating character patterns in an output memory | |
CA1172335A (en) | Means for encoding ideographic characters | |
EP0119396A2 (en) | Apparatus for and methods of presenting or displaying data represented as electric signals | |
US4402058A (en) | Keyboard mismatch correction | |
JP2973260B2 (en) | Print information processing device | |
EP0031446B1 (en) | Multi-character display controller for text recorder | |
JP2535059B2 (en) | Character processor | |
US5404517A (en) | Apparatus for assigning order for sequential display of randomly stored titles by comparing each of the titles and generating value indicating order based on the comparison | |
JPH0638254B2 (en) | Kana-Kanji conversion device | |
JPS6252718B2 (en) | ||
EP0077891B1 (en) | System for formatting justified lines of text containing complex characters | |
JP3577741B2 (en) | Character input device | |
JPS58119040A (en) | Print controller | |
JPH0562076B2 (en) | ||
JPS641036B2 (en) | ||
JPH01229666A (en) | Printer | |
JPH0680508B2 (en) | Character processor | |
JPH02269389A (en) | Automatic face converting system | |
JPS60254274A (en) | Document processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |