TERMINAL GENERATION OF DYNAMICALLY REDEFINABLE CHARACTER SETS

Abstract: A graphic display terminal (Fig. 1) is arranged to receive drawing instructions containing the description of a display character. The terminal, under control independent of the source, translates each received drawing instruction into a picture description bit pattern conforming to the characteristics of the terminal display device (7). The interpreted bits are then stored in a graphic repertory (10) for subsequent retrieval under control of code received from the source. In this manner dynamically redefinable character sets may be created and used without regard to a particular terminal implementation.

Description: TERMINAL GENERATION OF DYNAMICALLY REDEFINABLE CHARACTER SETS Background of the Invention Field of the Invention This invention relates to a video display system for the presentation of graphics and more particularly to a system for expanding the graphic capabilities of a terminal in an independent manner. Discussion of the Context of the Invention Computer-based information systems have now evolved to the stage where it is both desirable and feasible to allow the public access to the wealth of information stored in private or public dat-a bases using commonly available display devices and communicating via existing channels. "Viewdata" or "videotex" are generic terms which have been used to describe systems enabling two-way, interactive communication between the user and the data base, generally communicating via telephone lines and using an ordinary but specially adapted television set for display of pictorial information. "Teletext" is another generic term used to describe one-way communication from the data base to the user, with transmission being accomplished in portions of the broadcast T.V. spectrum, and display again being on a specially adapted T.V. Both system types must have a large range of flexibility, since a number of alternatives exist with respect to various system components. For example, although a television set may be a preferred display device for home use, different terminals may access the data base in an office environment, such as bi-level (plasma) displays, and other special purpose CRTs. Additionally, other communication channels, such as dedicated coaxial, twisted pair cable, or satellite or land-based radio may interconnect the users who input or output information from the data base, and each type of channel has its own requirements and limitations. In view of the fact that different types of equipment and facilities must interact to achieve satisfactory overall results, several attempts have been made to standardize the manner in which information (primarily pictorial as opposed to text) is encoded and decoded. The success of these systems must be measured against several parameters. First, the procedure used to encode the pictorial information must make reasonably efficient use of ttfe bandwidth available in the communication channel and the processing capability of the microprocessor usually located in the user's terminal. Second, the users of the system must, during both encoding and display operations, have a high degree of control and flexibility in specifying how the information will be processed. Finally, the techniques used must recognize that different equipment — particularly displays — will be used, some having non-standard resolution and other capabilities, and that all must operate satisfactorily using the same encoding/decoding strategy. Discussion of the Problem In an attempt to standardize graphic display systems, there is presented the problem of graphic expansion so that a large variety of shapes can be displayed on the receiving terminal. Such problems center around the desire to have the transmitted data independent of the particular receiving terminal so that any one of a number of terminals may be used interchangeably without regard its resolution capability. In order to achieve this result, the transmitted graphical data must either be tailored to fit the receiving terminal's resolution or to fit a so-called "standard" terminal. The tailoring solution is not acceptable for communication among a number of different users having different terminals, since it is not always possible to know in advance the terminal type of the receiving station. Such a solution is also not practical because terminal types may change from time to time thereby requiring the reworking of all previously generated code. As previously mentioned, the standardization technique is not acceptable for general usage. Consider, for example, a display having 200 picture elements (PELS) arranged in ten rows of twenty elements each. A PEL is the smallest displayable unit on a given display device. If it is desired to draw a line on the screen, the input code would specify the location of each PEL which should be lighted on the display. Thus, if the line were to be drawn across the top of the display, the address locations of the twenty PELs forming that row would be transmitted to the screen from the sending source. The screen would then display the line as a series of lighted PELs at the specified location. In this situation the received input code would contain the address locations for twenty lighted PELs. Now assume that it is desired to use a terminal with more resolution, such as for example, a display having fifteen rows, each row having thirty PELs. With such a display (and assuming no change in the source transmission) the input from the sending source would only have instructions for twenty PELs in the top row instead of for the actual thirty PELs. Thus, the resulting displayed line would either be skewed left on the display or some form of compensating algorithm would be needed to readjust the incoming code so that all thirty top row PELs would be used. A modified but still undesired technique is known for sending the PEL patterns which reduces the amount of code necessary but does not solve the terminal dependence problem. This technique uses dynamically redefinable character sets (DRCS) transmitted from the sending source at the beginning of each session or at the beginning of any phase of interaction within a session. The received character sets contain the actual PEL patterns that will be used in the message which is to follow. The received PEL - Δ - patterns are then stored in designated repertory locations at the terminal, and once stored, the sending source need only specify the location of the stored PEL pattern in order to have the associated graphic character displayed on the screen. Thus, in the case of a circle, the sending source would specify the address location of stored circle within the prestored PEL set. The sending source would also specify the location where the circle should be presented on the display. The terminal, ,in response to the specified • storage locations, would then extract the prestored graphic from the file and transfer it to the display. This arrangement can be used for foreign alphabets which initially might consist of a series of lines which then would be reduced at the sending end to a coded series of address locations of lighted PELs within the character area. The coded series of addresses then would be stored at the designated file location in the receiving terminal. This code expansion technique, while an improvement, suffers from the problem that it is terminal dependent since the actual PEL patterns are developed at the sending end for a so—called standard terminal or generated specifically for the specific end use terminal. One system for overcoming the terminal dependent problem has been to transmit to the terminal the desired end result and then allow the terminal to establish the resultant graphic. Thus, for the presentation of a circle on the receiving screen, the sending source would generate a generalized command instruction for drawing a circle. The receiving terminal would then translate the received generalized command into a locally acceptable set of PEL patterns corresponding to a circle. The local set of patterns would then be tailored to the resolution of the terminal display. The generated PEL patterns would then be displayed. In this situation, the actual PEL control information is not transmitted from the source, but rather the instructions for the final result are transmitted. This technique requires long transmission times for complex graphics, such as text in foreign languages, where large numbers of instructions are necessary for each character. Summary of the Invention These problems are solved by the use of our invention wherein the receiving terminal is arranged to accept code representative of the desired character and to translate that code into a set of display control bit patterns for controlling the picture elements (PELs) of the display, each of the translated bit patterns being tailored for the resolution and other particular characteristics of the display associated with the terminal. The bit patterns, instead of being used immediately to create a graphic image, are used to create a graphic repertory or local data base at the terminal which can subsequently be retrieved under specific address instructions from the sending source. The retrieved bit patterns are applied to the display in the same manner as are the PEL bits retrieved from the permanently stored data base. The retrieved PEL control code can be selectively scaled by attributes either locally generated or by attributes received from the sending source. Using our arrangement, the receiving terminal interprets the received graphic command in a manner determined by the terminal user or by the terminal manufacturer. Thus, the graphic display system becomes fully terminal independent while also achieving economy of code transmission and generation. In one embodiment of our invention the terminal converts the drawing code into actual PEL patterns, and in a second embodiment the incoming drawing code is changed into terminal commands tailored to the display. In both situations the input character can be adjusted under joint control of the source and the terminal. The adjustment may be of size, rotation, background or any other attribute. Brief Description of the Drawings FIG. 1 shows a typical teletext/videotex terminal; FIG. 2 shows a portion of such a terminal utilized for our invention; FIG. 3 is a conceptual view of the translation of graphic sets from a graphic repertory to a memory for a processor; FIG. 4 shows the rows and columns of a typical in-use decoding table; FIG. 5 shows the picture drawing instructions (PDI) table; and FIGs. 6 through 9 show flow charts of the methods used to control a data processor. General Description - Backgrou-nd Referring now to FIG. 1, there is shown a general block diagram of a digital image display system employing the principles of the present invention. The digital image display system comprises a dataprocessor 1 having bi- directional access to data bus 2. Timing module 3 provides the clock signals required for system operation. Timing module 3 also provides timing signals on video data bus 8 for use by video memory 4, and by digital to video converter 6. Data processor 1 may be a microprocessor comprising program memory, read only memory 9 and scratch pad or random access memory 10. Data processor 1 responds to user input from a keyboard, light pen or other data input devices well known in the art. In its application with a viewdata or teletext terminal, data processor 1 may also respond to input provided from a remote or centralized data base such as one located at a television broadcast station or a provider of viewdata services. This input is received via communication line 11 and modem 13 or as a broadcast signal 12 via RF receiver 14 to communication interface 15. Input-output device 16 operates to control data from communications interface 15 or from peripheral device interface 17. Data bus 2 is a bidirectional conduit through which data processor 1 controls video memory 4, timing module 3 and video converter 6. Several bus structures may be adapted for use in the present invention. Whichever specific bus structure is chosen, the bus generally comprises address capability, a data path and control lines which may include interrupt, reset, clock (for synchronous use) , wait (for asynchronous use) , and bus request lines. Timing module 3 may provide the timing signals on both bus 2 and the video data bus 8 and may comprise a chain of programmable logic circuits, digital dividers and counters for providing required timing signal outputs. These may, of course, be incorporated into data processor 1. For operation of bus 8, a number of different timing signals are required. Horizontal and vertical drive signals are provided in accordance with horizontal and field rates respectively. A dot clock signal is provided at the dot frequency (picture element or PEL rate) of the system. An odd/even field signal indicates if the odd or even field is to be displayed in an interlaced system. A composite blanking signal indicates if video is being displayed or if vertical or horizontal retrace is occurring. Also, a group clock signal or other signals may be provided. The group clock signal indicates when to access data for a new group of picture element data from memory. For example, picture element data in video memory having a slow access time may be serially provided in groups of 4, 8 or 16 picture elements. On the other hand, a parallel data transmission scheme is possible, potentially increasing the requirements for leads of video data bus 8. Digital to video converter 6 accepts digital image information from bus 8, PEL-by-PEL, and converts the digital information, if necessary, to analog form for presentation on video display 7. Converter 6 may be in modular form and comprises three components: (1) color map memory, (2) digital to analog conversion and sample and hold circuits, if required by display 7, and (3) a standard composite video encoder (for example, for providing NTSC standard video or red, green, blue RGB outputs) and RF modulator (if necessary, for antenna lead-in access) . Video display 7 may either be a monitor or a television set or it may be other forms of graphic display known in the art, including a liquid crystal display, an LED display or a plasma panel display. Data codes are formatted into 32-character r control (C) sets and 96-character graphic (G) sets as shown in FIG. 4. These sets are manipulated, for the purpose of providing a virtual address space larger than the 128 or 256 characters available in a 7-bit or 8-bit code, via code extension techniques. Text Four graphic sets in graphic repertory are specifically designated as TEXT sets. These are ASCII alphanumerics. Mosaics, Supplementary Graphics Characters, and Dynamically Redefinable Character Sets (DRCS) which is the subject of this invention. In each case, a given character in the set represents a pre-defined image which, when called, is drawn or mapped with a set of selectable attributes at a position on the screen determined by a controllable text cursor. It is, of course, understood that the local data base memory, or graphic repertory, need not have all of these sets and may consist of only part of one set. The .selectable attributes include size, color, reverse video, underline, and orientation. These attributes are briefly introduced below and are covered in greater detail hereinafter, along with the procedures for their selection. TEXT characters can be specified in a continuous range of sizes. The sizes are defined in terms of the width (dX) and the height (dY) of the character field, with dX and dY representing fractions of the unit screen. The character field maps to a rectangular matrix of PELs within which the TEXT character is defined. The default character size, will produce displays with a nominal screen format of 40 characters horizontal by 29 rows vertical on a standard rectangular CRT. The color attribute provides the capability to either define a foreground and background color for a character or define a foreground color only, with an implied "invisible" background. In the latter case, the character overwrites the existing contents of the display storage medium only at the locations corresponding to the selected PEL pattern. When the reverse video attribute is selected, the PEL pattern is complemented within the defined character field prior to the writing process. Orientation refers to the rotation of the character with respect to the horizontal. Rotations of 0 degrees, 90 degrees, 180 -degrees, and 270 degrees can be selected. Dynamically Redefinable Character Set (DRCS) As discussed previously, our invention is directed to the reception of a generalized drawing code from a sending source and then converting that drawing instruction to either a local data base of PEL patterns or to a series of unique stored terminal instructions for subsequent PEL point decoding when necessary. Once the drawing instructions are converted into PEL display codes, these codes can be stored in Ram 10, FIG. 2. Thus, unlike the other TEXT sets * , whose PEL pattern definitions are permanently stored in the terminal and cannot be altered by the host computer, the Dynamically Redefinable Character Set (DRCS) provides a facility whereby a maximum of 96 custom sending source defined images (arranged in the standard six columns of sixteen rows) can be stored in the terminal graphic repertory and utilized as TEXT in an identical manner to the permanently stored ASCII, Supplementary Graphics, and Mosaic sets. At display time, therefore, they are subject to the same TEXT attributes as are the permanently stored graphic sets, DRCS Downloading The DEF DRCS command is used to initiate the downloading sequence for a single DRCS character. This is always followed, with a single exception that will be noted below, by the bit combination corresponding to the character position within the DRCS that is to be defined. For example, if the PEL pattern for the character in the first row, first column of the DRCS is to be defined, a 2/0 would be sent. (Note that the DRCS G set does not need to be resident in the in-use table when the DRCS is defined, but only when it is called.) Any existing DRCS PEL pattern already associated with that character position is automatically deleted. The PEL pattern for the DRCS character can then be defined with any legal string of presentation code that follows, up to the receipt of the END command or any other command from the first five positions of the first column of the Cl set (FIG. 3), which terminate the downloading sequence. If the downloading sequence is terminated with another DEF DRCS command, thereby initiating another downloading sequence, then the DEF DRCS is not followed by the bit combination of the desired character to be defined, as it would be normally. Rather, this is implicitly taken as the next character in the DRCS G set, proceeding row by row, column by column cyclically through the set (i.e., 7/15 is followed by 2/0). For example, if a downloading sequence for character position 2/5 is terminated with the DEF DRCS character, then the next sequence will define the PEL pattern for character position 2/6. The presentation code defining a DRCS character PEL pattern is executed at the time it is received within a unit coordinate system. The unit coordinate system, however, is not mapped to the display screen as it would be normally, but is mapped directly into a separate graphic repertory at address locations therein obtained from the sending source. This buffer, one of which must be maintained for every DRCS character currently defined 1 bit deep, and has a width (i.e., PELs horizontal), and height (i.e., PELs vertical) equal to the width and height of the area of the display screen that lies within the current character field size. For example, if the current character field maps to a 6 X 10 matrix of PELs on the physical display, the storage buffer used for that DRCS character PEL pattern is 6 PELs wide by 10 PELs high by 1 bit deep. (Only a single bit per PEL is required because only an on-off PEL pattern is being stored. This pattern will ultimately be used, when the DRCS characater is called, in a manner identical to the permanently stored ASCII pel patterns, with the current TEXT attributes.) The DRCS character storage buffer is initially cleared, i.e., set to all 0s. The in-use drawing "color" utilized for the execution of the downloading sequence is logical 1, regardless of the value of the current in-use color. All presentation level codes, i.e., code extension sequences TEXT characters (including other currently defined DRCS characters) , PDIs, and control codes will be executed during a DRCS downloading sequence. Note that although the PDI commands SELECT COLOR, SET COLOR, and BLINK will be executed should they be sent, perhaps changing the state of various attribute parameters, they will have no affect on the DRCS pel pattern being downloaded. Note, also, that while TEXT size can be respecified during a downloading sequence, it will not affect the size of the DRCS character buffer, once allocated. Once the downloading sequence is terminated, the terminal reverts to the normal procedure of mapping the unit screen to the display screen and the drawing point is set to (0,0) . Individual DRCS characters can be deleted (i.e., any associated buffer storage can be de-allocated) by following the DRCS name character that follows the DEF DRCS command with the END command. All of the DRCS characters can be deleted simultaneously using the RESET command. Note that should a RESET that clears the DRCS be OMPI received during a downloading sequence, it will clear the character pel pattern definition in progress, though the downloading process will continue. The minimum amount of buffer space that must be allocated to storing DRCS pels patterns is not specified and will depend on the particular terminal implementation. Detailed Description Referring to FIG. 2 , it will be seen that processor 1 operates to accept the code coming from a sending source either via communication line 11, broadcast signal 12, or peripheral device interface 17 (all shown in FIG. 1.) The incoming code is decoded via a decoding process shown as 201. When the DRCS code is received, the system operates to decode the generalized drawing commands. These decoded drawing commands are then tailored to the terminal display screen 5 by a terminal graphic interpreter routine to be discussed, and instead of being immediately displayed on the screen as in prior systems, these decoded instructions are stored in a local data base, or graphic repertory 10. Once stored, the Dynamically Redefinable Character Set (DRCS) can be transferred into the in—use table (FIG. 4) at any time by the sending source. Thus, the receiving terminal can have its graphic capability expanded without in any manner requiring a physical change to the terminal or to the display and without the sending source knowing the exact display characteristics. When a character of the DRCS is retrieved and presented to the display, the decoded instructions may be adjusted or scaled by a mapping routine which can change the size, orientation, color, background, etc. of the retrieved graphic. The manner in which the storing and retrieving is accomplished in a typical system will now be discussed in detail-with respect to FIGS. 6 through 9. Turning now to FIG. 6, the INTERPRET process (601) obtains the next character from the incoming stream of presentation level code (602) , and invokes the appropriate process to perform the function indicated by the character. If the character is any one of 96 from the DRCS G-set (603) , the DRAWDRCS process is transferred with the character- (C) as a parameter (604) to draw the character on the screen or into a buffer. When the DRAWDRCS process returns control to INTERPRET, the INTERPRET process returns control to the routine which called it (610). If the character is DEF DRCS from the Cl control set (605), the DEF DRCS process is utilized to defiire a downloaded character. When the DEF DRCS process returns control to INTERPRET, the INTERPRET process returns control to the routine which called it (610). If the character is from the PDI set, for example SET and LINE (ABSOLUTE) (607), the appropriate drawing routine is invoked to draw a geometric shape on the screen or into a buffer. In this case, SLINEABS process returns control to INTERPRET, the INTERPRET process again returns control to the routine which called it (610) . An actual- INTERPRET process to interpret the entire presentation level protocol would continue on at (609) to test for each possible type of incoming character. In each case, INTERPRET obtains the next incoming character, invokes an appropriate process, and returns to its calling routine. The order of the tests for each type of character is not particularly important; neither is the fact that INTERPRET only processes one character at a time before returning. Continuing in FIG. 7, the DEF DRCS process (700) is invoked to create and save a bit pattern which defines a DRCS character, and also to undefine and free storage space for DRCS characters which are no longer needed. DEF DRCS obtains the next character from the incoming stream of presentation level code (701) and interprets this as the name of one of 96 possible DRCS characters. It ignores the most significant bit (by setting it to zero) , and subtracts 32 to map it into the range of 0 to 95. The resulting number, i, is used as an index into an array of pointers to buffers containing images of DRCS characters (702) . If a OMPI buffer already exists for character i, it is de—allocated. The next character from the incoming stream of presentation level code is then obtained. If this character is the END character from the Cl control set (703) , the intent of the command was simply to undefine the DRCS character and free the storage space used by its buffer, which has already been done. The current drawing point is set to ( ό , φ ) (704),and DEF DRCS returns to its calling process (705). If the character was not END, the purpose of the command is to define a new DRCS-pattern, so a new bit buffer is allocated corresponding to the character size currently in effect (706) . This buffer in one embodiment is W bits wide by H bits high, where W and H are the number of PELs on the physical screen corresponding to the character width and height, dX, dY, respectively. Note that this character width and height must have been previously set using the TEXT command described priorly. Also note that the dimensions are interpreted in the coordinate system defined by the unit screen as it is normally mapped to the physical display screen. The buffer need only be a single bit deep, as only a simple on-off PEL pattern is used to define DRCS characters. The buffer is initialized to all zeroes and the array element DRCS (i) is made to point to it. The state of all drawing commands is now set to draw into this buffer rather than onto the physical display screen. Drawing commands will cause a 1 to be put into the bit buffer in each place a point is desired. DEF DRCS now enters a loop to process all of the characters which will be used to define the DRCS character. Each character is first checked to see if it is the Cl control set END character (707). If it is, the DRCS definition is complete, so the drawing commands are made to once again draw out the physical display screen (709) , the drav/ing point is reset to (Φ , £) (704), and DEF DRCS returns (705). If not, the character is checked to see if it is any of the other characters in the first 5 positions of the Cl control set. These characters are shown in box 710, FIG. 7. If it is, the character is returned to the incoming stream of presentation level code (711) where it may be retrieved by the INTERPRET process at a later time. Any of these characters also signal the end of the current DRCS character definition, so DEF DRCS terminates as before through (709) , (704) , and (705) . The last special check on the character is to determine if it is the DEF DRCS character again (712) . If it is, it signals the end of the current DRCS character definition and the beginning of a definition of the next sequential DRCS character. The index i is incremented modulo 96 (713) so that character zero follows character 95. Control then returns to the previous point (702) where the definition process begins. If the character fails all of the comparisons, it is put back into the incoming stream of presentation level code (708), and INTERPRET is called to.process it. This may cause something to be drawn into the DRCS bit buffer or some change in the state of the presentation level process. When INTERPRET returns, the next character from the incoming stream of presentation level code is obtained, and the previous loop is re-entered to check for the characters which signal the end of the definition. In this process, the details of the memory management of the bit buffers are not critical. A particular implementation may permanently assign buffer space to each of the 96 DRCS characters if it wishes. Also, the creation of the bit-buffer representation of the characters need not be done in real time. If the state of the presentation process is saved along with the sequence of defining characters, the bit-buffer representation may be created at any point up until the time it is first used. Lastly, the technique of passing parameters by putting them back onto the incoming stream is not required. Any equivalent scheme may be used. As shown in FIG. 8, the SLINEABS process (800) is utilized to draw a straight line between two points expressed in absolute unit screen coordinates. It will draw either on the physical display screen or into a bit buffer, depending on the state of the presentation process. During the definition of a DRCS character, it "draws" with l's into the bit buffer assigned to that character. SLINEABS first obtains the coordinates of the endpoints of the line from the incoming stream of presentation level code (801) . The number of characters corresponding to each multi-value operand is determined by the current state of the presentation level process. The first multi—value operand contains XA and YA, the X and Y coordinates of the starting point of the lines. The second multi-value operand contains XB and YB, the X and Y coordinates of the end point of the line. Both XA and XB are in unit screen coordinates, and are multiplied by W, the number of PELs or bits in the width of the screen or buffer (whichever is currently being drawn into) to obtain the X coordinates of the start and end PEL or bit of the lines. Similarly, YA and YB are multiplied by H, the number of PELs or bits in the height of the screen or buffer, to obtain the Y coordinates of the start and end PEL or bit. of the lines. Once these coordinates have been transformed, the rest of the procedure for drawing straight lines on a raster device, as known in the art, is followed. DELTAX, the number of PELs or bits between the X-coordinates of the endpoints of the line, is initialized to XB-XA. DELTAY, the number of PELs or bits between the Y-coordinates of the endpoints of the line, is initialized to YB-YA. REM, a fractional remainder to be used in subsequent calculations, is initialized to jS.5 . If DELTAX is greater than zero (803) , XCHANGE (a unit step in the X direction) is set to one (804). Otherwise, XCHANGE is set to negative one (802) . Similarly, if DELTAY is greater than zero (806) , YCHANGE (a unit step in the Y direction) is set to one (807). Otherwise, YCHANGE is set to negative one (805) . The remaining steps of the process are exactly symmetrical with respect to the X and Y axes, so only one case will be described. First, the direction of greatest change is determined, by comparing the absolute values of DELTAX and DELTAY (809). If DELTAX is greater, the SLOPE is set to the quotient of the absolute values of DELTAY and DELTAX and a STEPS counter is initialized to one (810) . Next, the value of REM is increased by an amount equal to the SLOPE (812) . If REM is now greater than or equal to one (817) , it is time to take a step in the Y direction and draw a point. YA is changed by the positive or negative unit value of YCHANGE, and a point is drawn at the coordinates (XA, YA) , or a one is entered in the bit buffer at that point (820) . STEPS is incremented by one, and is compared to the absolute value of TELTAX (816). If STEPS is less, the procedure is repeated at the point where REM is increased by an amount equal to * the slope (812). Otherwise, the line is completed and SLINEABS returns (821) to the procedure which called it. Turning now to FIG. 10, the DRAW DRCS process (900) is used to draw DRCS characters, which have already been defined, onto the display screen or into another buffer. The character which is passed to this routine (C) first has its most significant bit set to zero, and then 32 is subtracted from it (901). The resulting number is used as an index into the DRCS array to obtain the bit buffer containing the PEL pattern of DRCS character C. This pattern must be mapped into a character cell of the current size, regardless of whether this is the same size by which the character was originally defined. In order to determine which stored bits to map into each PEL on the display (or into each bit of the new buffer) , two dimensions are computed. DX is set equal to the ratio of W, the number of bits in the width of the stored bit buffer, to W ; the number of PELs corresponding to the width of the character size currently in effect (or the number of bits in the width of the new bit buffer) . OMPI Likewise, DY is set equal to the ratio of H, the number of bits in the height of the stored bit buffer, to H , the number of PELs corresponding to the height of the character size currently in effect (or the number of bits in the height of the new bit buffer) . Two counters are initialized to a value of one, ROW and COL (902). A loop is entered to test each PEL (or bit) in the character cell on the screen (or in the new buffer) to see whether it should be turned on. If any part of any 1 bit in the stored DRCS character definition buffer is within a square bounded by the diagonal vertices [(COL-l)DX, (ROW-l)DY] and [COLxDX, ROWxDY] , where (0,0) is the coordinate of the lower left bit of the buffer (903) , the PEL with coordinates (R.OW, COL) within the character cell on the screen is set to the current drawing color, or bit (ROW, COL) in the new bit buffer is set to 1 (904). Next, the COL counter is incremented by one (9.05) . If COL is not ' greater than the width of the character being drawn (906) , the loop is repeated for the next PEL (or bit) in the row. If COL is greater than W , the ROW counter is incremented by one (907) . If ROW is not greater than the height of the character being drawn (908) , the loop is repeated for the next row with COL set back to one (902). In this manner, the algorithm goes column by column, row by row through each PEL (or bit) of the character being drawn and determines whether that PEL (or bit) should be turned on. When the row counter exceeds the height of the character, the drawing is done and the DRAW DRCS process returns to the process which called it (909) . This method for transferring stored bits onto the screen or into a buffer of a potentially different size is one of many possible approaches. The responsibility for choosing an approach appropriate to a given display device or application is left to the implementor. Conclusion While the invention claimed has been shown in a • particular embodiment having several fonts of possibl graphics, it is to be understood that the invention is equally applicable to situations where there is no priorly stored graphic patterns. It is, of course, also to be understood that the term "graphics" includes alphanumerics, mosaic patterns, symbols, words, as well as graphical elements, such as lines, circles, and polygons. It should also be understood that our invention is not limited to situations where the grap * hics must be tailored to a display only to solve resolution problems, but may be used in other situations where tailoring is necessary, such as for example, where the output is a printer and where the specific bit patterns must control the printing mechanism. In such a system the use of our invention would allow for complete freedom for the end user to select the receiving mode best suited for the purpose while allowing the sender freedom to transmit code without regard to the display medium. It is important to remember also that the remote source may be a keyboard connected directly to the terminal, or connected via a transmission medium, or the source may be a local or remote computer or other sending device. It is also to be understood that the claimed invention can be used with any definable character set where the display terminal interprets the received command and generates the actual picture element bit patterns. Thus, the actual procedures described can easily be changed to fit the desired system without in any manner departing from the spirit and scope of our invention.

Claims: Claims 1. An arrangement (FIG. 2) for delineating objects for display comprising means (1) for processing generalized drawing instructions received from a remote source, CHARACTERIZED IN THAT the processing means (1) comprises means (201) for translating the instructions into a pattern uniquely adapted for display, and means (10) for storing the unique pattern and for retrieving the stored pattern for display in response to commands from the remote source indicating only the storage location of the unique pattern. 2. A method for delineating objects for display by processing generalized instructions received from a remote source, CHARACTERIZED IN THAT the method comprises the steps of translating the instructions into a pattern uniquely adapted for display, storing the unique pattern, and retrieving the stored pattern for display in response to commands from the remote source indicating only the storage location of the unique pattern.

Inventors: FLEMING JAMES RICHARD, FREZZA WILLIAM ARMAND, SOLOWAY GERALD STEVEN
Applicants: WESTERN ELECTRIC CO
Application year: 1982
Main classification: G09G1
IPC codes: G06F3, G06T11, G09G5