EP0105491A2 - Zeichensatzanzeige- und Textaufbereitungssystem - Google Patents

Zeichensatzanzeige- und Textaufbereitungssystem Download PDF

Info

Publication number
EP0105491A2
EP0105491A2 EP83109787A EP83109787A EP0105491A2 EP 0105491 A2 EP0105491 A2 EP 0105491A2 EP 83109787 A EP83109787 A EP 83109787A EP 83109787 A EP83109787 A EP 83109787A EP 0105491 A2 EP0105491 A2 EP 0105491A2
Authority
EP
European Patent Office
Prior art keywords
character
microprocessor
characters
display
memory
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.)
Withdrawn
Application number
EP83109787A
Other languages
English (en)
French (fr)
Other versions
EP0105491A3 (de
Inventor
Gary D. Horne
Martin G. Gottschalk
Rainer A. Oehm
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
High Technology Solutions Inc
Original Assignee
High Technology Solutions Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by High Technology Solutions Inc filed Critical High Technology Solutions Inc
Publication of EP0105491A2 publication Critical patent/EP0105491A2/de
Publication of EP0105491A3 publication Critical patent/EP0105491A3/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Definitions

  • the present invention is directed towards an electronic text display system such as are commonly used for word processing, text composing, and the like.
  • the present invention is particularly useful in connection with electronic text composing systems wherein text information including character information defining the text to be presented, font information defining the style of font in which selected portions of the text are to be presented, and composition information such as column spacing, and the like, are all entered into the system and displayed on a display device such as a CRT.
  • the text information is ultimately transferred to an electronic photocomposer which forms photographic negatives which can be used to make printing plates in what is known as the cold-type process.
  • the photographic negatives contain the characters defining the text to be presented in the desired font style and with the desired composition in accordance with the text information which had been entered into the electronic text composing system.
  • At least one composing system manufactured by Compugraphics utilizes a preview screen to provide a detailed and accurate image of different font styles and weights as they will ultimately appear on the printed page.
  • text data is initially, edited and composed on a standard CRT display capable of illustrating only a single font style.
  • a standard CRT display capable of illustrating only a single font style.
  • the present invention overcomes the foregoing deficiencies of the prior art by providing a display screen which provides a detailed and accurate image of different fonts and weights and which permits the user of the system to interactively edit and compose the information displayed on the screen.
  • This result is achieved by storing characters for a plurality of font styles in digital form with the shape of each character being described by a unique character set of digital words.
  • the system may be provided with as many text editing and/or composing capabilities as is desired.
  • the display medium forms the desired character from a plurality of dots or pixels which are arranged at predetermined locations in a character cell which may be of constant or variable size.
  • the character cell defines a space on the display medium in which the character may be presented.
  • the character cell is preferably divided into a grid of pixel locations, each of which may contain a single pixel. By placing pixels in only selected pixel locations of the grid, the display medium can produce a character having substantially any form desired.
  • each character is defined by a unique character set comprising a plurality of data words.
  • These data words contain information regarding the locations of the pixels within a character cell which are required to produce the desired character shape. Since the number of characters and font styles which may be reproduced in this manner is limited only by the size and number of pixel elements in a character cell and the size of the font memory holding the data words, presentation of the characters in this pixel matrix form provides for great flexibility in the system.
  • the text editing and composing capability of the system are made possible primarily through the use of a bit mapped RAM which contains storage locations which correspond on a one-to-one basis to the pixel locations on the display medium.
  • the system is run by a microprocessor which constantly monitors keyboard instructions generated by a user controlled keyboard. These instructions provide information regarding the particular character and font style which the user wishes to display on the display medium.
  • the keyboard also provides the microprocessor with information which enables the microprocessor to determine the location on the display medium where the character identified by the character code is to be placed.
  • the microprocessor Whenever a new keyboard instruction is generated by the keyboard, the microprocessor removes the character set associated with the character and font identified by the character code from the font memory and stores the data words of that character set in memory locations of the bit mapped RAM which correspond to the location on the display medium where the character is to be displayed. Since the display medium reproduces the pixel information stored in the bit mapped RAM on its own screen, the user can place desired characters from any selected font at any location on the display medium by causing the microprocessor to place the appropriate character sets in the appropriate storage locations of the bit mapped RAM in response to appropriate entries into the keyboard.
  • the present invention makes it possible to incorporate substantially any text editing and composing capability which is used on standard text editing and electronic composing systems. Since these text editing and composition capabilities are per se known and do not themselves define the inventive features of the present invention, the following detailed description of the invention is directed primarily to the font display features of the system. Relatively few text editing features have been described. It should be understood, however, that any presently known or future developed text editing and/or composing capabilities can be incorporated into the system without departing from the spirit or scope of the present invention.
  • Figure 1 a font display and text editing system constructed in accordance with the principles of the present invention and designated generally as 10.
  • microprocessor 24 which may be an 8086 microprocessor manufactured by Intel Corporation. A complete description of the structure and operation of this microprocessor, as well as various applications thereof, is described in Intel's "iPX 86, 88 User's Manual” dated August 21, 1981. The disclosure of this manual is incorporated herein by reference.
  • An active low signal will be indicated by the presence of a line over the signal (e. g., DEN).
  • An active low signal will be referred to as being set or generated when it is at the binary "0” level and reset when it is at the binary "1” level.
  • An active high signal will be referred to as being set or generated when it is at the binary "1” level and being reset when it is at the binary "0” level.
  • an active low input or output will be indicated by the presence of a small circle at the input or output of the element.
  • each of the outputs of the 3 to 8 decoder 44 are active low outputs.
  • An active low input will be activated by the presence of a binary "0" on its input.
  • An active low output will place a binary "0" on its output when it is activated. Any input or output which is not indicated to be active low is active high.
  • Microprocessor 12 communicates with the remaining elements of system 10 by writing address information onto address bus 14 and by both writing information onto and reading information off of data bus 16.
  • Microprocessor 12 has a common set of input/output ports AO-A19 which are connected to both address bis 14 and data bus 16 through address latch 18 and transceiver 20, respectively.
  • microprocessor 12 Whenever microprocessor 12 wishes to place address information on address bus 14, it generates a binary signal corresponding to the desired address on its output ports A1-A19 (for reasons which will be described below, output port AO is not used for address purposes) and generates the address latch enable signal ALE which is applied to the strobe input STB of address latch 18. This causes the 19 bit address signal generated by microprocessor 12 to be placed on address bus 14.
  • the 16 least significant bits of the address signal are contained on address lines A1-A16 of address bus 14 and are used to address the memory elements 22-28 of system 10.
  • the three most significant bits of the address signal are contained on address lines A17-A19 and are applied to a one of eight decoder 32 which is used to generate chip enable signals which enable only one of the memory elements 22-28 at any given time.
  • One suitable decoder is manufactured by Intel Corporation under the product designation 8205 one of eight decoder. Decoder 32 receives the three lines A17-A19 on its address inputs AO-A2, respectively, and causes that one of its eight outputs 00-07 (only outputs 00-04 are used in system 10) to be set.
  • decoder 32 can generate chip enable signals E1 , E2 (the 01 output of decoder 32 is inverted by an inverter 34), E3 , E4 and E5.
  • microprocessor 12 can either write data onto data bus 16 or read data on the data bus 16 into its internal memories. This is accomplished through the use of a transceiver 20 which may be a 8286 Octal Bus Transceiver manufactured by Intel Corporation.
  • Transceiver 20 applies the 16 bits of data contained on the output ports AO-A15 of microprocessor 12 onto data bus 16 whenever the data enable signal DEN is applied to its output enable input OE and the data transmission signal DT/R is at the binary "1" level.
  • the date enable signal DEN is generated but the data transmit signal DT/R is at the binary "0" level, data contained on bus 16 will be applied to ports AO-A15 of microprocessor 12 and will thereby be read into the internal memory of microprocessor 12. Since the 8286 transceiver is an octal transceiver, two transceivers must be connected in parallel to handle all 16 data bits.
  • Microprocessor 12 controls the operation of font display and text editing system 10 by following a software program stored in program ROM 22.
  • the software program which will be described below with reference to the flow diagrams of Figures 5-7, is stored in program ROM 22 in machine code as a plurality of 16 bit words.
  • Microprocessor 12 will sequence through the various steps of its program by periodically requesting new program instructions from program ROM 22 at time intervals determined by clock pulses generated by system clock 36. Each time microprocessor 12 needs a new program instruction, it applies that address signal to lines A1-A16 of address bus 14 which identifies the storage location of the desired program instruction, causes decoder 32 to generate the chip enable signal E1 and generates the read signal RD. As a result, a 16 bit word containing the desired program instruction(s) will appear on data bus 16. Microprocessor 12 then reads this instruction into its internal memory via transceiver 20.
  • one suitable program ROM 22 is an 8Kx8 UV erasable PROM sold under the product designation 2764 PROM by Intel Corporation. Since each PROM can store only 8 bits of information, two PROMs are connected in parallel so that a single address generated by microprocessor 12 is applied to the address inputs of both PROMs and the 8 bit outputs of each PROM are combined to form a single 16 bit word which is applied to data bus 16.
  • microprocessor 12 will cause system 10 to display the shape of specific font characters which are identified by a character code generated by an input device (preferably an electronic keyboard) 38 on a display device (preferably a CRT) 40 with sufficient resolution to permit the user of the system to view an accurate representation of what will appear on the final printed page.
  • a display device preferably a CRT
  • the CRT 40 have a resolution of between 800 to 1,100 lines, each divided into between 800 and 1,100 pixel (picture element) locations. Each pixel should be small, on the order of 0.01 inches in diameter, so that the individual characters which are formed by a combination of pixel dots will appear to be smooth and continuous.
  • the CRT 40 is divided into 1,024 lines each containing 1,024 pixel locations. This division of the CRT is illustrated graphically in Figure 2 wherein each box 42 represents a single pixel location. It will be understood by those skilled in the art that the grid lines shown in Figure 2 will not actually appear on the CRT 40 but are rather shown for purposes of explanation. The grid lines merely define areas on the CRT 40 which represent the pixel locations 42. As the electron beam scans the face of the CRT 40, it is modulated in a manner which causes it to excite certain pixel locations 42 but not others. Those pixel locations 42 excited by the election beam will fluoresce (producing a pixel 44) so as to form the character desired.
  • CRT 40 is divided into 64 rows by 64 columns of character cells 46, each of which is 16 pixels wide and 16 pixels deep.
  • character cell 46 having constant dimensions of 16 x 16 pixels, is disclosed, it should be understood that the invention is not so limited. Thus, character cells of other sizes may also be used. Additionally, it is not necessary that the size of the character cell remain constant, i. e., one character may be stored in a cell 20 x 16 pixels while a second character may be stored in a cell 28 x 18 pixels. Alternatively, the character cell size can remain constant, but characters can be stored in less than and/or more than one cell. While such variations complieate the design of the system, such design modifications are well within the skill of those of ordinary skill in the art.
  • a character may be displayed in any given character cell 46 by energizing selected pixel locations 42 in that cell.
  • the particular pixel locations 42 which must be energized to form a desired character are defined by a unique set of 16 binary words (hereinafter data words), each 16 bits in length.
  • Each set of 16 data words describes the shape of the character to be displayed and will be referred to hereinafter as character set.
  • Figure 3A illustrates a single character cell 46 containing the letter "S”.
  • Figure 3B shows the 16 data words of the character set defining the letter "S".
  • the letter "S" is formed by a plurality of pixels 44, each of which is located in a respective pixel location 42. Since.pixel row 0 of the character cell 46 contains no pixels 44, data word 1 ( Figure 3B) of the character set is represented by the binary number: 0000000000000000.
  • data word 2 is stored as: 000000111100000. This sequence continues through to data word 16 such that the 16 data words of the character set contain all the information required to produce a single character in a single character cell 46. Using this technique, any shape character may be described by a unique character set of 16 data words each 16 bits in length.
  • the shape of a character to be displayed on CRT 40 may be defined by a 16 word character set
  • the shape of the characters displayed is limited only by the size of the font ROM memory 24 in which the character sets are stored and the resolution of a 16 x 16 pixel character cell. This provides tremendous flexibility which makes it possible to store a large number of font styles and call up any character of any font style onto the CRT 40 by merely entering appropriate commands in the input device 38.
  • the user of system 10 Once the user of system 10 has entered the desired'characters, he may then rearrange the position of the characters on the CRT 40 utilizing any text editing capabilities available. As a result, the user is presented with an accurate representation of what will appear on the final printed page.
  • the user may call up the characters: SHEM in Hebrew is ,
  • characters from two fonts have been called up from font ROM 24 onto the CRT 40.
  • the user may decide it is desirable to write the word SHEM in a second style of font so as to offset the name from the rest of the sentence.
  • the user will then cause system 10 to replace the bold Roman characters of the word SEEM with characters from a different style font, for example, Roman script. This is done by writing the script letters SHEM over the bold letters SHEN.
  • SHEM in Hebrew is
  • font display and text editing system 10 it will be assumed that three font styles ROMAN 1 (a bold Roman type), ROMAN 2 (a script Roman type) and HEBREW are stored in font ROM 24. It should be recognized, however, that a greater number of font styles (as well as different font styles) may be stored.
  • each font style includes 128 characters comprising the upper and lower case letters of the alphabet, punctuation marks, a blank space and any other characters which are to be displayed on the CRT 40.
  • the font style ROMAN 1 will contain the Roman characters necessary for the English language in a first style, for example, bold.
  • the font ROMAN 2 will also contain the Roman characters for the English language, but in a second style, for example, script.
  • the font HEBREW will contain the various Hebrew letters in a desired style.
  • the lower case letter "a" of the character font ROMAN 2 can be accorded the character code 128 (binary 010000000), the lower case letter “b” of character font ROMAN 2 can be accorded the character code 129 (binary 010000001), etc.
  • the lower case letter "aleph” of the character font HEBREW can be accorded the character code 256 (binary 100000000), the lower case "bet” of the character font HEBREW can be accorded the character code 257 (binary 100000001), etc.
  • the 16 words of each character set are preferably stored in ROM memory 24 in the order determined by the character code identifying that character.
  • the 16 word character set defining the lower case letter "a" of the character font ROMAN 1 is stored at address locations 0-15 of memory 20 while the 16 words of the character set defining the lower case letter "b " of the character font ROMAN 1 is stored at address locations 16-31 of memory 20.
  • the 128 character sets of character font ROMAN 2 are stored at address locations 2,048-4,095 of font ROM 24.
  • the 16 word character set describing the lower case "a” of character ROMAN 2 font is stored at address locations 2,048-2,053, while the 16 word character set describing the lower case “b” of character ROMAN 2 font is stored at address locations 2,054-2,069, etc.
  • the 128 character sets defining the font HEBREW are stored at address locations 4,096-6,143 of font ROM 24.
  • the character set describing the lower case “aleph” of the font HEBREW is stored at address locations 4,096-4,111; the character set describing the lower case "bet” is stored at address locations 4,112-4,127, etc.
  • the 9 bit character codes identifying the address locations of the 16 word character sets in font ROM 24 are generated by an input device 38 which may take any known form.
  • input device 38 is an electronic keyboard and will be described as such. It should be recognized, however, that any other input device (for example, one utilizing menu selection technique or one responsive to voice actuation) could also be used.
  • the keyboard 38 preferably takes the form described in copending application Serial No. (M-9760), filed October 1, 1982, and entitled FONT DISPLAY AND TEXT EDITING SYSTEM WITH CHARACTER OVERLAY FEATURE.
  • This application is assignet to the assignee of the present invention.
  • This keyboard includes both character and command keys.
  • the character keys may be used to identify the characters to be displayed on CRT 40 while the command keys will identify both the font style in which the character is to be displayed as well as standard command functions such as cursor left, cursor right, carriage return and backspace, etc.
  • Keyboard 38 responds to the depression of the character and command keys by generating a keyboard instruction representative of either a character code identifying the character in font RAM 24 to be displayed on CRT 40 or a command code identifying the command instruction to be carried out.
  • the keyboard instruction is preferably an 11 bit word which includes a 2 bit format block followed by a 9 bit data block.
  • the format block identifies the data block of the keyboard instruction as either a command code or a character code.
  • the 9 bit data block is a command code, it identifies the specific command instruction to be followed by microprocessor 12.
  • the 9 bit data block is a character code, it identifies the specific character in font ROM memory 22 to be displayed on CRT 40.
  • the user first depresses one or more command keys indicating the character font to be used and then depresses appropriate character keys to cause the desired character of the selected font to appear on CRT 40.
  • the user Whenever the user wishes to change the font style of subsequent characters to be displayed on CRT 40, he depresses one or more command keys identifying the new font to be used and then depresses appropriate character keys to enter the desired characters on the screen.
  • Microprocessor 12 constantly monitors the output of keyboard 38 (by periodically causing decoder 32 to generate the chip enable signal E2 so as to strobe keyboard latch 30) to determine if a new keyboard instruction has been generated.
  • Keyboard latch 30 receives the 11 bit keyboard instruction generated by keyboard 38 and places it on data lines AO-A10 of data bus 16 whenever it is strobed by enable slgnal EL.
  • Latch 30 may be formed from a pair of 8282 Octal latches connected in parallel.
  • microprocessor 12 determines where in font ROM 24 the 16 word character set identified by that character code is located and causes the 16 words of the character set to be placed in display RAM 26. Display RAM 26 then causes this character to be generated in the appropriate character cell 46 of CRT 40.
  • each data word of each character code stored in ROM memory 24 is 16 bits in length.
  • a font ROM 24 constructed of commercially available devices such as those described above with references to program ROM 22 can store these data words at sequential locations.
  • microprocessor 12 wishes to read a data word of the selected character set from font ROM 24, it places the appropriate address on lines A1-A16 of address bus 14, causes decoder 32 to generate the chip enable signal E4 and simultaneously generates the read signal RD. This will cause the 16 bit data word to appear on bus 16 which can then be read into an internal memory of microprocessor 12.
  • This data word is then transferred to the appropriate storage location in display RAM 26 by placing the appropriate address signal on lines Al-A16 of address bus 14 and placing the data received from font ROM 24 on lines AO-A15 of data bus 16.
  • microprocessor 12 will simultaneously cause decoder 32 to generate the chip enable signal E5 and also generate the write signal WR.
  • This causes display RAM 26 to read the 16 bit data word on bus 16 into the address storage location identified by the address on bus 14.
  • the display RAM 26 is broken up into 1,024 x 1,024 pixel locations 44' which correspond on a one-to-one basis to pixel locations 44 on the CRT 40.
  • One commercially available unit which incorporates the bit mapped display RAM, the CRT display and the necessary drive circuitry to cause the pixel information stored in the display RAM to be reproduced on the display is a model GMDM-1000 bit mapped high resolution CRT display manufactured by Image Automation Inc.
  • the 16 bit data words read from font ROM 24 are written into display RAM 26 16 bits at a time.
  • 16 consecutive pixel locations 44' define a single address location of display RAM 26. Consecutive address locations are located adjacent one another in a pixel row.
  • address location 000 is the first storage location in pixel row
  • address location 001 is the second storage location in pixel row 0, etc.
  • the RAM memory 26 is 1,024 pixels wide, and since each data word is 16 pixels in length, each pixel row of display RAM 26 contains 64 data words at address locations 000-063.
  • the 64th data location is located at the leftmost end of pixel row 1 with 64 data words being stored at address locations 63-127 of row 1. In a similar manner, 64 data words will be stored in each of the 1,024 pixel rows of display RAM 26.
  • the memory space of display RAM 26 is logically divided into character cells 46' which correspond on a one-to-one basis to character cells 46 of CRT 40.
  • the character cell 46' located in the upper left-hand corner of display RAM 26 corresponds to the character cell 46 located in the upper left-hand corner of CRT 40.
  • the character cell 46' located in the upper left-hand corner of display RAM 26 will contain the 16 word character set which defines the character to be displayed in the upper left-hand character cell 46 of CRT 40.
  • the 16 data words of the character set are stored at storage locations 0, 64, 128, 192 ... 1,024 of display RAM 26.
  • Display RAM 26 will automatically apply appropriate biasing signals (e. g., vertical sync, horizontal sync and data stream) to the CRT 40 so as to cause the CRT 40 to display the character information stored in display RAM 26.
  • appropriate biasing signals e. g., vertical sync, horizontal sync and data stream
  • both CRT 40 and display RAM 26 are logically broken up into 64 cell columns and 64 cell rows. Referring to Figures 2 and 3, the cell columns are numbered 0-63 as are the cell rows. As such, each character cell 46, 46' has a unique set of coordinates. For example, the letter “S” illustrated in Figure 2 is displayed in the character cell 46 located at cell row 0, cell column 0; the letter “H” is displayed in the character cell 46 located at cell row 0, cell column 1, etc.
  • the character cell 46 in which the next character identified by the character code generated by keyboard 38 is to be placed will be referred to as the "active" character cell.
  • Microprocessor 12 keeps track of the location of the active character cell by storing cell row and column pointers CR, CC, respectively, in scratch pad RAM 28.
  • the microprocessor 12 identifies the location of the active cell to the user of system 10 by generating a cursor 48 in the active cell.
  • cursor 48 takes the form of a line of pixels 44 located in the lowermost line of the active character cell 46.
  • microprocessor 12 moves the cursor 48 one character cell 46 to the right.
  • microprocessor 12 moves the cursor to the leftmost character cell 46 of the next cell row.
  • the location of the active cell, and therefore the position of cursor 48 can also be moved to the left or to the right in response to cursor left or cursor right command signals, respectively.
  • cursor up and cursor down command signal could also be provided as well as any other cursor movements common to text editing and photocomposing apparatus.
  • the position of the cursor 48 can also be changed in response to a carriage return command signal generated by keyboard 38.
  • microprocessor 12 causes the cursor to be moved to the leftmost character cell 46 in the next succeeding cell row. Again, movement of the cursor 48 into this new character cell 46 will not cause the character stored in the cell 46, if any, to be erased.
  • microprocessor 12 continually strobes keyboard latch 30 to determine if a new keyboard instruction has been generated by keyboard 38. Microprocessor 12 will enter new character information in display RAM 26 and/or move the location of the cursor 48 in response to these keyboard instructions. Microprocessor 12 also stores each data word corresponding to a character code generated by keyboard 38 in text buffer and scratch pad RAM 28 at a memory location corresponding to the character cell 46' in which the character identified by that character code is stored. In this manner, text buffer and scratch pad RAM 28 contains character code information corresponding to all of the characters stored in display RAM 26. While any appropriate memory can be used for text buffer and scratch pad RAM 28, one suitable memory is an 8,192 x 8-bit integrated RAM which is sold by Intel Corporation under the product designation 2186 RAM.
  • each 2186 RAM stores 8 bit words, and since microprocessor 12 places either 9 or 16 bit words into RAM 28, two 2186 RAMs must be connected in parallel. Both address inputs of the 2186 RAMs will receive address lines A1-A16 of address bus 14 while the data output of one of the RAMs will be connected to the data lines AO-A7 and the data outputs of the remaining RAM will be connected to the lines A8-A15 of data bus 16.
  • the information stored in RAM 28 can be used to refresh the memory in display RAM 26 whenever necessary. Additionally, once an entire page of information has been stored in display RAM 26, it must be cleared to enter a new page of information. At this time, the character code stored in text buffer and scratch pad RAM 28 may be transferred to a larger, more permanent mass memory (not shown) such as a floppy disk or hard disk. In this manner, character code information for a plurality of pages may be stored in the mass memory. This information may be recalled at any time and may be also used to transfer character code information to a phototypesetter which creates photographic negatives of a printing plate from the character code information.
  • the phototypesetter will contain font information corresponding to that stored in font ROM 24 so- that the characters produced by the phototype-setter take substantially the same shape as those displayed on CRT 40. While the manner in which information is transferred from text buffer and scratch pad RAM 28 to the mass memory is not described herein, such information transfer procedures are well known to those of ordinary skill in the art. Exemplary mass storage media and message for transferring information from a temporary memory to such media are described in the SYSTEMS DATA CATALOG, dated January 1982, and published by Intel Corporation. The disclosure of this catalogue is incorporated herein by reference.
  • the least significant bit of the address generated by microprocessor 12 (which bit is located on output port AO) is not placed on address bus 14.
  • the address actually received by memories 22-28 is equal to the address generated by microprocessor 12 divided by two. The reason for this somewhat unusual arrangement is particular to the structure and operation of the 8086 microprocessor.
  • the 8086 microprocessor can access either 8 or 16 bits of memory at a time. Whenever the 8086 microprocessor wishes to access a 16 bit word in memory in a single bus cycle, it must generate an even number address (i. e., 2, 4, 6, ...) on its output ports A-A19. Whenever it generates an odd number address, the 8086 microprocessor must access the external memories one 8 bit byte at a time in two consecutive bus cycles. Since such 8 bit byte addressing is not required by the remaining elements of system 10, and since the use of 8 bit byte addresses complicates the design of the system 10, it is preferred that the microprocessor generate only even numbered addresses.
  • microprocessor 12 While it is preferable for microprocessor 12 to generate even number addresses, it would be wasteful not to use the odd address locations in the memories 22-28. This problem is simply solved by not connecting address line AO (which contains the least significant bit of the address generated by microprocessor 12) to the address bus 14. The effect of the foregoing is that microprocessor 12 will generate even addresses only but the memory elements 22-28 of the system 10 will receive both odd and even addresses. Thus, the addresses 2, 4, 6, 8, etc. generated by microprocessor 12 will be applied to address bus 14 as addresses 1, 2, 3, 4, etc.
  • font display and text editing system 10 will now be described with reference to Figures 5-7 which show the program stored in program ROM 22 in flow chart form.
  • the main program is illustrated in Figures 5A, B and C.
  • Two subroutines are illustrated in Figures 6 and 7.
  • the main program starts at instruction block 100 which instructs microprocessor 12 to clear both display RAN 26 and text buffer and scratch pad RAM 28.
  • the character codes previously stored in text buffer 28 may be transferred to a larger, more permanent mass memory for later retrieval and ultimately for transfer to a phototypesetting machine.
  • microprocessor 12 proceeds to instruction block 102 and sets the cell row pointer CR and cell column pointer CC to zero. These pointers define the character cell 46 located at the upper left-hand corner of CRT 40 as the active character cell.
  • Microprocessor 12 then proceeds to instruction block 104 which tells it to go to cursor subroutine 200 and return.
  • Subroutine 200 causes a cursor 48 to be placed at the bottom of the active character cell 46 identified by pointers CR and CC.
  • instruction block 202 causes microprocessor 12 to calculate and store the following value in its internal register B:
  • a cursor line 48 is placed at the bottom of the upper left-hand character cell 46 of CRT 40. At this point, microprocessor 12 returns to the main program.
  • microprocessor 12 proceeds to decision block 106 which requires that it determine if a keyboard instruction is being generated by keyboard 38. Microprocessor 12 makes this determination by periodically strobing keyboard latch 30. Once microprocessor 12 has determined that a data word has been generated by keyboard 38, it proceeds to decision block 108 and determines if the 9 bit data block of the keyboard instruction is a command code (this is done by examining the two bit format block of the keyboard instruction). If it is, microprocessor 12 proceeds to instruction block 128 which is illustrated in Figure 5B. In such a case, microprocessor 12 moves the cursor in a manner determined by the command code following the various program steps illustrated in Figures 5B and 5C. This action will be described below.
  • keyboard instruction If the keyboard instruction is not a command code, it must be a character code identifying a character to be displayed in the active character cell 46.
  • microprocessor 12 proceeds to instruction block 110 and sets its internal register A equal to the character code set forth in the data block of the keyboard instruction. This code identifies the position in font ROM 24 of the character set describing the letter identified by the character code.
  • Microprocessor 12 then proceeds to instruction block 112 and stores the character code in text buffer and scratch pad RAM 28 at the following text buffer address:
  • this calculation causes the character code identified by keyboard 38 to be stored in text buffer and scratch pad RAM 28 at an address location corresponding to the particular character cell 46 in which the character identified by the character code is displayed on CRT 40.
  • Microprocessor 12 now proceeds to instruction block 14 which causes it to go to subroutine 300 and then return to the main program.
  • Display character subroutine 300 is illustrated in Figure 7 and causes the character associated with the character code identified by keyboard 38 to be placed in the active character cell 46' of display RAM 26. This, in turn, causes the character to be displayed in the active character cell 46 of CRT 40.
  • microprocessor 12 first proceeds to instruction block 302 which causes microprocessor 12 to set its internal register B with the following number:
  • Microprocessor 12 then proceeds to instruction block 304 and sets its internal register C with the following number:
  • equation 4 identifies the address in display RAM 26 of the first data word of the active character cell 46'. Again, the address generated by microprocessor 12 is double the actual address signal applied to display RAM 26 since the least significant bit of the address generated by microprocessor 12 is not applied to address bus 14.
  • microprocessor 12 then reads the word stored in font ROM 24 at the following font ROM address and stores the word in its internal register D:
  • microprocessor 12 Since the incremental pointer IP is zero, microprocessor 12 reads the first word of the character set which corresponds to the character identified by the keyboard instruction generated by keyboard 38 from font ROM 24 into register D. Microprocessor 12 then proceeds to instruction block 310 and writes the word stored in register D into the display RAM 26 at the following display RAM address:
  • microprocessor 12 Since the incremental pointer IP is set at zero, microprocessor 12 will write the data word stored in register D into the display RAM 26 at the display RAM address corresponding to the first address of the active character cell 46'. Proceeding to instruction block 312, microprocessor 12 increases the incremental pointer by one and then proceeds to decision block 314. If the incremental pointer is less than 16, microprocessor 12 returns to instruction block 308 and reads the data word located in the next address location of font ROM 24 (since incremental pointer IP now is equal to 1) into register D. This data word is then read into the second storage location of the active character cell 46' and the incremental pointer is again increased by one.
  • microprocessor 12 proceeds to instruction block 116 and increases the cell column pointer CC by one. Proceeding to instruction block 118, microprocessor 12 determines if the cell column pointer is equal to 64. If it is less than 64, microprocessor 12 proceeds directly to decision block 122. If the cell column pointer is equal to 64, this indicates that the cursor has moved off the right-hand edge of CRT 40 and must be reset at the leftmost character cell 46' of the next cell row. To this end, microprocessor 12 proceeds to instruction block 120 wherein it sets the cell column pointer at zero and increases by the cell row pointer by one.
  • Microprocessor 12 then proceeds to decision block 122 and determines if the cell row is equal to 64. If it is, this indicates that an attempt has been made to drop the cursor below the bottom edge of CRT 40. Since this is an invalid condition, microprocessor 124 causes the generation of a tone (this may be done in any known manner) which alerts the user of system 10 to the invalid condition. Microprocessor 12 then proceeds to instruction block 125 which resets the cursor row and cursor column points at 63 and writes a cursor 48 in that cell (see block 126). The programm then returns to decision block 106 wherein the microprocessor waits for another keyboard instruction to be generated by keyboard 38.
  • microprocessor 12 proceeds to instruction block 126 which directs it to go to subroutine 200 and return. As a result, a cursor will appear at the bottom of the active character cell 46 identified by the cursor row and cursor column pointers. At this point, microprocessor 12 returns to decision block 106 and waits for an additional keyboard instruction to be generated by keyboard 38.
  • microprocessor 12 responds to a command code generated by keyboard 38 will now be described with reference to Figures 5B and 5C.
  • instruction block 128 causes it to go to cursor subroutine 200 and return. This causes the cursor 48 to be removed from the active character cell 46 identified by the cell row and cell column pointers.
  • microprocessor 12 determines if the keyboard instruction is a cursor right command code. If it is, microprocessor 12 proceeds to instruction block 132 and increases the cell column pointer by one. Proceeding to decision block 134, microprocessor 12 determines if the cell column pointer is equal to 64. If it does equal 64, the cursor 48 cannot be moved further to the right in the present cell row. Rather, it must be moved to the leftmost character cell 46 of the following cell row. To this end, microprocessor 12 sets the cell column pointer at zero and increases the cell row pointer by one as shown in instruction block 136.
  • microprocessor 12 proceeds to decision block 138 and determines if the cell row pointer is equal to 64. If it is, this indicates that an attempt has been made to move the cursor 48 off of the bottom right-hand corner of CRT 40. Since this is an invalid condition, microprocessor 12 causes the generation of a tone (see instruction block 140), sets the cell column pointer at 63 and reduces the cell row pointer by one (see instruction block 142). This has the effect of moving the cursor 48 to the last cell column in the last cell row of CRT 40 once microprocessor 12 advances to instruction block 144. If the cell row pointer does not equal 64 (see decision block 138), microprocessor 12 proceeds to instruction block 144 and places a cursor 48 on the bottom of the active character cell 46.
  • microprocessor 12 determines that the keyboard instruction is not a cursor right command code, it proceeds to decision block 146 and determines if it is a cursor left command code. If it is, it proceeds to instruction block 148 and reduces the cell column pointer by one. Microprocessor 12 then determines if the cell column pointer is less than zero (see decision block 150). If it is not, microprocessor 12 proceeds to instruction block 152 which causes a cursor 48 to be placed in the bottom of the active character cell 46 defined by the modified cell column pointer. At this point, the program returns to decision block 106 and the microprocessor 12 waits for the next data word generated by keyboard 38.
  • microprocessor 12 determines if the cell row pointer is less than zero. If it is, this indicates that an attempt has been made to move the cursor to a point above the top cell row of the CRT 40.
  • microprocessor 12 Since this is an invalid condition, microprocessor 12 generates a tone (see instruction block 158), resets the cell column pointer to zero and increases the cell row pointer by one. This has the effect of placing the cursor at the bottom of the upper left-hand character cell 46 of CRT 40 once the program proceeds to instruction block 162. At this point, the program will return to decision block 106 and microprocessor 12 waits for the next keyboard instruction to be generated by keyboard 38.
  • microprocessor 12 proceeds to instruction block 162 and places a cursor 48 at the bottom of the character cell 64 identified by the cell column and cell row pointers. Thereafter, the program returns to decision block 106 and microprocessor 12 awaits the next keyboard instruction generated by keyboard 38.
  • microprocessor 12 determines if the keyboard instruction is a carriage return command code. If it is, microprocessor 12 proceeds to decision block 166 and determines if the cell row pointer is equal to 63. If the cell row pointer is equal to 63, the carriage return command code is attempting to place the cursor 48 below the bottom edge of CRT 40. Since this is an invalid condition, microprocessor 12 causes the generation of a tone (see block 168) to alert the user of the invalid condition. Since the cursor 48 had been removed in instruction block 128, it must now be replaced. To this end, instruction block 172 requires that microprocessor 12 go to cursor subroutine 200 and return. Microprocessor 12 then returns to decision block 106 where it awaits the next keyboard instruction generated by keyboard 38.
  • microprocessor 12 proceeds to instruction block 170 and sets the cell column pointer at zero and increases the cell row pointer by one. Microprocessor 12 then proceeds to instruction block 172 with the result that a cursor 48 is placed in the first character cell 46 in the next cell row. The program is then returned to decision block 106 wherein microprocessor 12 again awaits the next keyboard instruction from keyboard 38.
  • microprocessor 12 determines that the keyboard instruction is not a carriage return command code (it has already determined that it is not a cursor left or a cursor right command code), it must be a backspace command code since there are only four commands in the system disclosed herein.
  • microprocessor 12 determines if the cell row and cell column pointers are both equal to zero. If they are, the backspace command is an invalid command. In such a case, microprocessor 12 generates a tone (see instruction block 176) and causes a cursor 48 to be placed in the bottom of the character cell 46 located in the upper left-hand corner of CRT 40 (see instruction block 178). The program then returns to decision block 106 and the microprocessor again awaits the next keyboard instruction generated by keyboard 38.
  • microprocessor 12 proceeds to decision block 180 and determines if the cell column pointer is equal to zero. If it is not, microprocessor 12 reduces the cell column by one (see instruction block 182) and proceeds to instruction block 186. If the cell column pointer does equal zero, the cell column pointer is reset to 63 and the cell row pointer is decreased by one. See instruction block 184. This has the effect of moving the pointer to the rightmost edge of the next higher row.
  • microprocessor 12 proceeds to instruction block 186 and sets its internal register A for the character code for a blank. Proceeding to instruction block 188, microprocessor 12 jumps to character subroutine 300 and writes the blank in the newly active character cell 46. Microprocessor 12 then proceeds to instruction block 190 where it goes to cursor subroutine 200 with the result that a cursor 48 is placed in the bottom of the active character cell 46 identified by the updated cell column and cell row pointers. The program then returns to decision block 106 and microprocessor 12 awaits generation of an additional keyboard instruction by keyboard 38.
  • alphabetical characters shall be interpreted as including alphanumeric characters as well as idiographic characters.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)
EP83109787A 1982-10-01 1983-09-29 Zeichensatzanzeige- und Textaufbereitungssystem Withdrawn EP0105491A3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43232382A 1982-10-01 1982-10-01
US432323 1982-10-01

Publications (2)

Publication Number Publication Date
EP0105491A2 true EP0105491A2 (de) 1984-04-18
EP0105491A3 EP0105491A3 (de) 1987-02-25

Family

ID=23715662

Family Applications (1)

Application Number Title Priority Date Filing Date
EP83109787A Withdrawn EP0105491A3 (de) 1982-10-01 1983-09-29 Zeichensatzanzeige- und Textaufbereitungssystem

Country Status (3)

Country Link
EP (1) EP0105491A3 (de)
JP (1) JPS5993490A (de)
CA (1) CA1197623A (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0250713A2 (de) * 1986-06-24 1988-01-07 Hercules Computer Technology Auf einem Zeichengenerator basiertes graphisches Anzeigegerät
EP0215428A3 (en) * 1985-09-13 1990-03-28 Hitachi, Ltd. Graphic processing system
US6697070B1 (en) 1985-09-13 2004-02-24 Renesas Technology Corporation Graphic processing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298957A (en) * 1979-06-28 1981-11-03 Xerox Corporation Data processing system with character sort apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298957A (en) * 1979-06-28 1981-11-03 Xerox Corporation Data processing system with character sort apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0215428A3 (en) * 1985-09-13 1990-03-28 Hitachi, Ltd. Graphic processing system
US5751930A (en) * 1985-09-13 1998-05-12 Hitachi, Ltd. Graphic processing system
US6538653B1 (en) * 1985-09-13 2003-03-25 Hitachi, Ltd. Graphic processing system for displaying characters and pictures at high speed
US6697070B1 (en) 1985-09-13 2004-02-24 Renesas Technology Corporation Graphic processing system
EP0250713A2 (de) * 1986-06-24 1988-01-07 Hercules Computer Technology Auf einem Zeichengenerator basiertes graphisches Anzeigegerät
EP0250713A3 (de) * 1986-06-24 1989-07-19 Hercules Computer Technology Auf einem Zeichengenerator basiertes graphisches Anzeigegerät

Also Published As

Publication number Publication date
CA1197623A (en) 1985-12-03
EP0105491A3 (de) 1987-02-25
JPS5993490A (ja) 1984-05-29

Similar Documents

Publication Publication Date Title
US4603330A (en) Font display and text editing system with character overlay feature
US4298957A (en) Data processing system with character sort apparatus
US4608662A (en) Method for editing document
CA1113194A (en) Advertising copy composition and lay-out system
US4240075A (en) Text processing and display system with means for rearranging the spatial format of a selectable section of displayed data
US4451900A (en) Method and apparatus for text editing display
US4675833A (en) Processor controlled photocomposition system
US4511267A (en) Method for changing the supply of characters in an ideographic typewriter by combining and storing individual characters
US4187031A (en) Korean (hangul) electronic typewriter and communication equipment system
GB2091524A (en) Information processing apparatus and method
CA1105625A (en) Character generator
CA1184680A (en) Control unit for a display member
US4254416A (en) Variable size character generator
US4198685A (en) Text editing system having flexible repetitive operation capability with keyboard interactive feature
GB1579643A (en) Digital data processor
US4441105A (en) Display system and method
US4706076A (en) Apparatus for displaying images defined by a plurality of lines of data
EP0105491A2 (de) Zeichensatzanzeige- und Textaufbereitungssystem
CA1084641A (en) Variable size character generator
JPS6158838B2 (de)
JPS62121065A (ja) 文章印字制御装置
JPS597115B2 (ja) アドレス作成方法
JPH0366157B2 (de)
JP2846357B2 (ja) フォントメモリ装置
JPS59167748A (ja) 情報記憶装置

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Designated state(s): CH DE FR GB IT LI SE

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): CH DE FR GB IT LI SE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 19870826

RIN1 Information on inventor provided before grant (corrected)

Inventor name: GOTTSCHALK, MARTIN G.

Inventor name: OEHM, RAINER A.

Inventor name: HORNE, GARY D.