Apparatus and method for crt display screen

Abstract: The video memory of a CRT display system is split into an application video memory and a CRT video memory. The two memories are interconnected by logic means for manipulating primary and secondary texts whose characters proceed in directions which are different from each other. The character codes are applied to the application video memory. The logic manipulates the code in accordance with the rules of the primary and secondary languages and provides data to the CRT video memory for driving a CRT controller.

Description: The invention relates to a method and apparatus which permits the insertion of text of two languages whose characters proceed in two opposite directions on a CRT display screen. More specifically, the invention relates to such a method and apparatus which is transparent to higher level software, specifically, the operation systems and application programs. At times, when applying a primary text, of a primary language, whose characters proceed in a primary direction (e.g., a Latin text which proceeds from left to right) on a CRT display screen, it may be necessary to make an insertion of a secondary text of a secondary language whose characters proceed in a secondary, different direction (e.g., an Arabic text whose characters proceed from right to left or Japanese which is vertical). Under present methods, and with the present apparatus, the procedures for processing and handling the secondary language must be included as steps in the operating system of the application software (see for example IBM Technical Disclosure Bulletin, vol. 24, no. 8, January 1982, pages 4305-4307). Thus, each time a different operating system or application program is used which requires such insertion, the steps for handling of the secondary language must be included in that different operating system or application program. It is therefore clear that the present apparatus and method do not include a single piece of either hardware of software which is portable, i.e., will automatically be applied as appropriate to any operating system or application software without requiring additional specific program steps. This is, of course, inconvenient in that the procedures must be written into each operating system or application program. It is therefore an object of the invention to provide a method and apparatus which permit the insertion of a primary text and a secondary text whose characters proceed in primary and secondary directions which are different from each other, on a CRT display screen. It is a more specific object of the invention to provide such a method and apparatus which are transparent to higher level software. In accordance with the invention, the video memory of a CRT display system is split into an application video memory and a CRT video memory. The two memories are interconnected by logic means for manipulating the primary and secondary texts. The invention is more particularly defined in the appended claims. In accordance with the method, the character codes are applied to the application video memory. The logic manipulates the codes in accordance with the rules of the primary and secondary languages and provides data to the CRT video memory for driving the CRT controller to permit such insertion. The invention will be better understood by an examination of the following description, together with the accompanying drawings, in which: FIGURE 1 illustrates a typical prior art system in block form; FIGURE 2 illustrates a system in accordance with the invention; and FIGURE 3 is a flow chart of the logic means interconnecting the application video memory and the CRT video memory. Referring to Figure 1, a presently available system comprises a CRT display screen 1 for displaying a written message comprising characters of the texts of appropriate languages. The characters will be displayed when the screen is given the appropriate control signals from the CRT controller 3. The CRT controller 3 is fed from the video memory 5, which is in turn fed from the character or display code input 7, for example, an application program. Input means 7 places a character or display code in a specific memory area of the video memory 5. The means 7 are driven from programs and they can also retrieve the codes placed in the video memory 5 if required. The video memory 5 is really an area of a larger memory and is designed to contain the information which will be displayed on the CRT display screen. The information is stored in video memory 5 by the programs of the means 7 and is available to the CRT controller 3. The video memory 5 is always organized so that there is a linear (constant or geographically consistent) relationship between its memory cell numbers and the corresponding locations on the screen. Thus, if the video memory cell No. 0 corresponds to the leftmost uppermost location of the screen, and if the cell No. 1 corresponds to the location immediately to the right of the 0 location, and cell No. 2 corresponds to the location to the right of cell No. 1, then the information in cell 0, as above-mentioned, will be displayed in the leftmost uppermost location on the screen, and the information in cell No. 1 will be displayed in the space immediately to the right of the previous information, and the information in cell No. 2 will be displayed in the space on the screen to the right of the information displayed for cell 1. This has significance in that, in presently available methods, the secondary language is inserted into the CRT display screen by sliding all of the displayed characters one space over in the primary direction and inserting the next character in the recently vacated space. This is illustrated below wherein the primary language is Latin (English) and the secondary language is Arabic: As can be seen, with the primary language, the characters proceed in the primary direction (left to right), and the cursor precedes the characters in the primary direction. The cursor, in effect, slides in the primary direction in advance of each character to be inserted. In the secondary direction, the cursor once again precedes the characters in the primary direction. However, each time a character is inserted, those characters already displayed, and the cursor, slide one space over in the primary direction. The newly added character fills the space vacated by the character which had been inserted in the previous step. With this arrangement, the relation of the video memory cell contents and the screen column contents (of the CRT display screen) is as follows: In this situation, screen operations such as cursor movement, replacement or deletion of characters, and scrolling will not have the expected effects. For example, what is in memory cell 15 is now in fact displayed on screen column 9. If the application does an absolute cursor addressing movement to column 15 to output a blank with the intention of erasing the last letter of the Arabic word, it will in fact position the cursor on the screen at column 15 and erase the first letter instead. Obviously, this will not give the expected results. It is therefore necessary to ensure that the chronological order of the appearance of data (in the memory cells) corresponds with the geographical order (on the display screen). That is, the screen should be numbered as follows: In this way, the application requesting the cursor to be at column 15 will effectively position the cursor on the desired character. As will be seen, in accordance with the method and apparatus herein, this effect will be achieved. The CRT controller is an electronic subsystem which converts the character (i.e., display) codes contained in the video memory, in specific, ordered locations, into a set of control signals which will make the CRT display screen display these characters. In order to effect the advantages as above described, a system as illustrated in Figure 2 is used in accordance with the invention. As can be seen, in the inventive system, the video memory 5 is split into an application video memory 9 and a CRT video memory 11. The memories 9 and 11 are interconnected by logic means 13. The logic means manipulates the text of the primary and secondary languages in accordance with the rules of these languages. The logic means is a processor, and a flow chart of the program for driving the processor is illustrated in Figure 3. That is, the characters of the secondary language will slide one space as above described. In addition, the logic means will "renumber" the cells of the CRT memory so that, when the text of a secondary language is being processed, the numbering of the cells will proceed in the secondary direction. Thus, the contents of like numbered cells in the application and CRT video memories will be alike, although the chronological ordering of the numbering of the cells will not be the same. The column lines of the CRT display screen will be "renumbered" to correspond with the numbering of the CRT memory. Thus, screen operations such as cursor movements, replacements or deletions of characters and scrolling will have the expected effect. In addition, the apparatus and method is transparent to the operating systems and application programs. The user and the programmer are not aware of what is going on. They merely enter the characters and notice that they appear in their correct order on the screen. In order for the logic means to provide manipulations for the secondary language, it must first receive a signal that it is now in a secondary language mode. This signal could be provided by, for example, a separate key on the keyboard. When the signal for the secondary text is given, then the logic means will proceed from the right-hand side of the flow chart. When the signal is removed, and at all other times, the logic means will proceed down the left-hand side of the flow chart. Although a particular embodiment has been described, this was for the purpose of illustrating, but not limiting, the invention. Various modifications, which will come readily to the mind of one skilled in the art, are within the scope of the invention as defined in the appended claims.

Claims: Method for permitting display of a primary text of a primary language whose characters proceed in a primary direction, and a secondary text of a secondary language, whose characters proceed in a different secondary direction on a display screen of a CRT display system which further includes input means, video memory means and a CRT controller, coded characters being received from said input means into said video memory means in a chronological order; said coded characters being received according to the rules of the primary and secondary languages and being manipulated in such a manner that they are delivered to the CRT controller in a geographical order to be displayed on the display screen in said geographical order; characterized in that said coded characters are applied in said chronological order to an application video memory, are then manipulated by logic means driven by a program containing instructions relating to said rules, said logic means interconnecting said application video memory and a CRT video memory, said manipulated coded characters being delivered by the CRT video memory to the CRT controller in said geographical order and in that simultaneously the cells of the CRT memory are renumbered by said logic means so that when the text of a secondary language is being processed, the numbering of the cells proceeds in the secondary direction so that the contents of like numbered cells in the application and CRT video memories will be alike, whereby the display is carried out in a manner that applies to unmodified application softwares or operating systems, existing softwares and program's logic and data otherwise not provided with commands specific to the proceeding direction of said text and all screen operations such as cursor movement, and replacement or deletion of characters and scrolling have the expected effects. A method as defined in claim 1 characterized in that it further includes the step of providing a signal when the secondary language is to be inserted, to instruct the systems that the secondary language is now being inserted. Apparatus for carrying out the method of claim 1 and 2, comprising: a CRT display screen (1); a CRT controller (3) connected to said CRT display screen for controlling the display on said CRT display screen by converting the character codes in a video memory means (5) to control signals for displaying the characters of the character codes in an ordered relationship on said CRT display screen (1); said video memory means (5) being connected to said CRT controller; and input means (7) for applying character codes to said video memory means; characterized by said video memory means (5) being split into an application video memory (9), connected to said input means (7) and a CRT video memory (11) connected to said CRT controller (3); said application video memory (9) receiving from said input means coded characters which are arranged in a chronological order in said application video memory; logic means (13) driven by a program containing instructions relating to the rules of the primary and secondary languages, said logic means interconnecting said application video memory (9) and said CRT video memory (11); said logic means being adapted to receive the coded characters in a chronological order from said application video memory, to manipulate said coded characters according to said rules and to deliver to the CRT video memory said coded characters in a different geographical order for display on said CRT display screen in said geographical order said logic means simultaneously renumbering the cells of the CRT video memory so that when the text of a secondary language is being processed, the numbering of the cells proceeds in the secondary direction and the contents of like numbered cells in the application and CRT Video memories will be alike in both languages. The apparatus as defined in claim 3 characterized in that when said primary language is being processed, the characters of the primary text proceed in said primary direction and a cursor precedes the last characters in said primary direction; and when said secondary language is being processed, when a next character is inserted, the already displayed characters and the cursor slide one space in said primary direction and the next character takes up the space vacated by the character previously inserted, in a manner that is transparent to said input means (7) for applying character codes of said texts to said application video-memory (9) in the manner used by unmodified application sofware or operating systems, existing sofware program's logic and data, otherwise not provided with bidirectional script support. The apparatus as defined in any preceding claims, characterized in that it further includes means for providing a signal that the secondary language is now being inserted.

Inventors: BOURBONNAIS JEAN, CADIEUX PIERRE, FROMENT SERGE, BOURBONNAIS, JEAN, CADIEUX, PIERRE, FROMENT, SERGE
Applicants: ARABIC LATIN INFORMATION OF SY, ARABIC LATIN INFORMATION OF SYSTEMS INC. (ALIS INC.)
Application year: 1986
Main classification: G09G1
IPC codes: G06F17, G09G5, G06F3