GB2239771A - Graphics display in response to character codes - Google Patents

Graphics display in response to character codes Download PDF

Info

Publication number
GB2239771A
GB2239771A GB9000325A GB9000325A GB2239771A GB 2239771 A GB2239771 A GB 2239771A GB 9000325 A GB9000325 A GB 9000325A GB 9000325 A GB9000325 A GB 9000325A GB 2239771 A GB2239771 A GB 2239771A
Authority
GB
United Kingdom
Prior art keywords
array
character
screen
information
characters
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.)
Granted
Application number
GB9000325A
Other versions
GB2239771B (en
GB9000325D0 (en
Inventor
Alan Hardiman
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.)
BAE Systems Electronics Ltd
Original Assignee
Marconi Co Ltd
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 Marconi Co Ltd filed Critical Marconi Co Ltd
Priority to GB9000325A priority Critical patent/GB2239771B/en
Publication of GB9000325D0 publication Critical patent/GB9000325D0/en
Priority to EP19900313774 priority patent/EP0437064A3/en
Priority to JP2407841A priority patent/JPH0619453A/en
Priority to PT9643391A priority patent/PT96433A/en
Priority to AU68611/91A priority patent/AU6861191A/en
Publication of GB2239771A publication Critical patent/GB2239771A/en
Application granted granted Critical
Publication of GB2239771B publication Critical patent/GB2239771B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/222Control of the character-code memory

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)
  • Digital Computer Display Output (AREA)

Description

t 11 3. -- Computer Graphics System The, present invention relates to a
computer graphics system tor representing graphical Images on a terminal screen and in particular to a system tor use on a non-graphics terminal.
The. terms "graphics" and 11graphical images" are used in this application to indicate images displayed on a screen, or part. ot a screen, which are not limited in the shapes or arrangement of lines in the image, these being selected freely by a user. While it is possible to display graphics on a terminal screen, current systems are expensive in terms of the amount. of memory required and moreover require a specific graphics terminal pre-programmi ng.
having appropriate "Non-graphics" or "character" screens can only display characters from a predefined set, each character constituting a predefined pixel matrix on a screen. Hence, there are only a limited number of shap, es which CaD be displayed to provide an 3mage and it. is not possible to display any freehand image created by the user.
Bowever, such terminals are cheaper than graphics terminals.
The present invention arises from an attempt to provide 1 a graphics terminal.
representation capability tor a non-araphics According to the present invention, there is provided a method of displaying graphics on a computer terminal screen comprising:
digitising an image to be displayed into a digital information array of predetermined dimensions; sub-dividing said intormation array into a plurality of identically sized pixel matrices, each corresponding in size to a standard character displayed on said screen; assigning a different predefined standard character code to each pixel matrix in the array; defining the screen display of the standard character code assigned to each pixel. matrix according to the digitised image information in the respective pixel matrix in the array; displaying the defined characters on the screen in continuous arrangement corresponding to the arrangement of pixels in the array so as to display the image.
Preferably, thp predeCined character codes comprise the codes for ASCII standard characters, the. redefinition of characters typically Laking place at the terminal.
The continuous arrangement. is conveniently tormed such there are no gaps between any pixels.
It The coding for the pixels may typically comprise a sub array of information comprising X and Y coordinates of the pixels and indication ot the presence or absence ot an image line. It is particularly preferred that the digitised Information is analysed and points connected by a straight line are defined by the appropriate formula for X and Y coordinates, no information being stored about the points intermediate the end points of said straight line.
The image to be displayed may typically be digitised using a pressure sensitive device, light or heat activated device or other devices such as X-ray devices, pencil cameras, sound devices etc.
A specitic example of the present invention will now be described for use on a Digital Equipment Corporation VT220 device in conjunction with a Micro--Vax TI computer using Vax 4 - Pascal running under the VMS operating system and is intended for the reproduction of. personaJ s3gnature.s.
The first step in the process is the digitisation ot the signature and this can be done using any conventional image digitiser. One particular preferred method - of digitis3ng the signature is using a digit3sing tablet such as a "Sign On" '(Alan Liebart Associates) signature is In this case, the written on a tablet which is sampled at 80 times a second and which_ captures and digitises the data into a window of 2550 by 1300 dots. This information can be transferred via an asynchronous RS232 line into the host computer. The data is received in an encrypted ASCII format which is decodable using a commercially available algorithm and appropriate software and Is recorded as series of three variables, namely X-coordinate, Y-coordinate and Z value (the. Z value defines whether the pen is in contact with the paper, 0 = on, 1 = off).
Character Definition The terminal has commonly used character shapes e.g. A, B, % etc. stored permanently within in ROM made up of a combination of dots (often called 'pj.xe3.sl) in a matrix of 8 x 10 (8 horizontal by 10 verticle). There is also an option L) - where user defined character shapes can be downloaded (transi-erred trom the. host computer to the. terinina.1 by means of 'escape sequences' The example below shows how an e.xrlamal-.i.on mark character can be re- detined to be an 'A' character. This intormation was obtained from a VT220 termina3 handbook 0 suppLied by the manufacturer.
A dot in a character matrix is shown as a and a space is shown as 12345678 aO a] a2 a3 a4 a5 bo bl.
b2 b3 Each column ot the character definition is downloaded as 2 numbers (a and b). The value 'a' contains a binary representation of aO - a5 (6 bits). The value 'b' contains 1 the representation bO - b.3 (4 bits). A value of 64 is added to these binary va-lues and one is subtracted from the tina) value. The binary representations are obtained by setting a binary b31. if a dot (pixe-i.) is present..
Final. ASCII 3FIA = l?' 6F13 = 101 6711 g, 6311 'c' 6313 ' c' 6711 g, 6FH = '0' 3F11 t-- '?, Val/Co-lumn Pixels Binary + 64 Sub. 1 Val a. col. 1...... 01000000 = 4013 -1 Val a. col. 2 01.110000 = 7019---1 0 1 Val a. col. 3 k. 01101000 6811 -1 Val a. col 4. ------ 01100100 = 64H -1 Val a. col. 5. ------01100100 = 64H -1 Val. a. col. 6.. 01101000 = 6SH 1 Val a. col. 7. 01110000 = 7011 -1 Val a. col 8....... 01000000 = 4011 -1 Val b. col. 1. 01000000 = 40H -1 = 3P11 = '?' Val. b. col. 2. 01000011 = 43FT -1 = 42H = 'B' Val b. col. 3. 01000000 = 40H -1 = 3F11 = Val b. col. 4..... 01000000 = 4011 -1 - 3 F19 Val b. col. 5. 01000000 - 4011 -1 = 3FI1 Val b. col. 6..... 01000000 = 4011 -1 = 3F11 Val b. col. 7. --- 01000011 = 43H ---1 = 4211 = 'B, Val b. col. 8..... 01000000 = 4019 -1 = 3F11 = '?, The values are then ready for downloading. The escape sequence is structured in such a way that the tinal values are listed so that the eight law values are output first values are output (col. 8 first again down to col. 1). 'Clie tormat is as follows:
DCS Pfn;Pcn;Pe;Pcms;Pw;Pt {[Name]18 a.vals]/JS b.vaJs]ST Where: DCS Start of escape sequence ESC P. Pfn Font butter number. Delimiter. Pcn Ist character to define in ASCII char. set. Delimiter. Pe Specifies whether to erase. all- or only new chars. Delimiter. Pcms Matrix Cell Size. Delimiter. Pw Screen Width. Delimiter. P1. Specifies whethei font. is fill.] eel.] or text. Signals the end ot parameter characters and starts a down.load function. [Name] Name of font.
18. a. vals] 8 a. values col. 8 down to col. 1. Delimiter between a. and b. values.
[8. b. vals] 8 b. values co3. 8 down to col. 1.
ST String terminator ESC\.
The exclamation mark character I!' wilL now be an 'A' character but. it will be appreciated that simi-l.ar techniques can be used to re-define any set character or any other shape.
The signature plotting program takes the ASCII X, Y, Z coordinate data from the data file and converts them into integer values. In certain cases all the possible points between two sets of coordinates are calculated. The points are in the range 1 to 1300 in the Y direction and 1 to 2550 in the X direction. In order to display this information it is necessary to define a block of character shapes that, when printed out in the correct order, will represent the signature. The program currently uses a bAock of 48 characters (3 rows of 16) as its graphics window. This could be adjusted to user requirements although there is limitation in the number of characters it is possible to define.
a Each character uses a matrix of 8 x 1.0 (10 rows, 8 cols.). A block of 1. 6 x 3 characters gives a resolution of 30 dots (pixels) in the Y direction by 1.28 in the X. Each point is then scaled to this resolution, and the character that the particular dot. will. be contained in, is calculated. Once the actual character is known it is- necessary to calculate the row and column with the character. In order - 9 to set a bit in a character cell, it is necessary to eherk if the dot. (pixel) is in the top six or bottom fc-)tii rows of the cell as they are stored separately. This type ot storage is used as different.. loffical operations need to be performed on the pixel data depending on the row number within the cell. Once all. the X, Y points have been scaled down to the display window size, and all the dots (pixel-s) 0 have been set iii the character defin3tions, the s3gnature can then be displayed. The characters are downloaded into the terminal by means of 'escape sequences' and the new character set becomes active. The block of characters are printed out on the screen in the correct order. Other 'escape sequences' to position the screen cursor are also used at this point. The signature will now be displayed on the screen. The character set is then set back to the original definitions so that normal characters will be available when the program terminates.
The program operates in the fo.13owing sequence:
Declare and Initialise Data Structures.
b. Read File. The data file that contains the X, Y data in ASCII form is opened tor read access. The tirst X coordinate is obtained by reading characters up to a colon (1..1) in-to a string. This string wi_il then be converted to an int.eger representing that. va.lue. e.g. data from f-53e 1234: (5 characters) is converted to an integer value of 1234 (One Thousand Two Hundred and Thirty Four).
The same operation is pertormed to obtain the Y and Z values for the first. point.. This will result. in all three values being stored as integer variables to represent the current X, Y and Z values respectively.
The integer values are then compared with two values representing the maximum and inini.mum X and Y values so far read from the file. Ot course in the case of the first set of coordinates read, these values will become the new limits.
The Z value is at- this point written to a large integer array, containing all the Z values read from the file. The procedure to fill in dots between vaAues is then called. If the current point is not the first point from the file and the previous point's Z value was 0 (representing the pen being on the paper) the dots will- be filled in. A detailed explanation of this procedure will be given later.
The above action is then performed on the entire data 11 -fite until the Enci.-0f-Pi.L( (E0F) marker is reached. rp h f-j.3.c. is then cAose.(t.
The values of. maximum and minimum X and Y will now be set correctly as the entire tile has been compared.
C. FA 3 1 IT) Dots Between Points. A procedure within the program will (it necessary) till in all possible dots between two points. the first. point will of course have no previous value to join to so no action will be taken. Similarly no action will. be taken if the pen was not on the paper for the previous point. This will be known by examining the previous point's Z value. If the value is 1 this will indicate that the pen was not on the paper and that a line shoWd not be drawn between the points. A value oE 0 for the previous Z value indicates that the point should be joined.
To find all the points on a line between two points the mathematical equation for a straight line (y = mx + c) IS used.
The method ot this is as follows.
Calculate gradient (m) - 1.2 - (prev. Y val. -- cur. Y val.)/(pr(,-v X val.. - cur. X val..) ii. Calculate y axis iDte"c-clpl- of line (c) = (prev. Y val. -- (gradient x prev. X val.)) By knowing the two values 'm' and 'c' it. is possible' to calculate every corresponding Y point, by placing all the intermediate X points into the equation. This operation ls also performed for calculating every X point by placing all the intermediate Y point-s into the equation. this is to cater for extreme gradients on both axes. A gradient of 45 degrees will produce identical. points for both calculations.
All new calculated values are placed in the large integer array holding the X and Y points. An attempt. to save array space is made, where each value that is written to the X and Y integer arrays is checked with the previous value written. It these are the same there is no advantage in storing this point. The point is theretore discarded. This will of course not cater tor all duplications of coordinates. The Z values for calculated points are not needed (the pen is known to be on the paper), and are therefore not calculated. Consequently the array of Z points will only have an entry at an index where the point was actually read from the file.
1 1 1 i 1 - 13 At the end oj" this procedure the currenI, values ot X, Y and Z are made the previous values, for comparison with the next set of: coordinates.
d. Find Scale. This procedure scales the signature. so that it. will best fit the size of the screen window. The 0 maximum and minimum X and Y values obtained when the data file was read are used here.
e. Calculate Offset Into Screen Window. The off-set. into the screen window is calculated by taking the X, Y coordinate data from the arrays and adjusting them by subtracting the scaling factor (previously calculated). A value, in the range 1 to 3.28 will be calculated for X, and a n the range 1 to 30 for Y. The row number is then. A Y value of 3. to 30 indicates top row (row 3), 11 to 20 middle row (row 2) and 21 to 30 bottom row (row 1). The Y dot position Anto its character eell. is ca. lcxiJ.al.ed by subtracting 0, 10 or 20 respectively.
value c a I c ul at ee, The character number is calculated using the X offset (1 -- 128) and the row number. The character number will be in the range 1 -- 48. Once this is known it is possible to determine the X dot position into the particular character l 4- 14 -cell, using a modular 8 calculation.
Put. Dot. (Pixel.) In Character Definition. This procedure sets a bit corresponding to the X and Y positions in the required character definition. The Y dot position is used to determine the value that should be logically ORed with the existing mask to set. a bit. Y values of I to 4 are stored in one array and values 5 to 10 in another. This is because of the way in which character shapes are downloaded. shown in greater detail earlier in the document.
ORing the values means that. if a dot. (pixel.), has by a particular value it does not matter if it is by subsequent. ones. It. is quite possible that a points from the large scale are going to be by the same bit as the scale- downT factor is The values are as follows Value to be ORed 8 This is Logically been set set again number of represented quite large. Y dot 1 4 4 3 2 1. 32 6 7 8 16 8 4 1 i j ' 1 -- 15 9 2 3 0 1 g. Plot Signature On Screen._ When aJ]. the X, Y data has been processed it is necessary to plot the signature on the VT220 terminal screen. This procedure mal<es extensive use of the 'escape sequences' associated with the VT220 11 terminal device, and it. may be beneficial- to study a copy of the handbook.
Initially the new character set is given a 2 character i.d. and the character set is designated by means of an escape sequence. The program uses the i.d. I@' (space and at symbol). The designation is performed by sending the following:
ESC ( sp @ where sp = space character.
The font is then downloaded using the escape sequence described in the section on 'Character defin3tions'. Tiie two arrays of dot (pixel) positions represent the a. and b. values above. The characters 31 through to '79 are defined. All others have no values. The newly defined characters have no meaning unless they are printed out in the correct order. They need to be printed out as.3 rows of sixteen - 16 characters directly above each othrr.
Further escape sequences are. used to position screen cursor to ensure that the rows will be printed above each other.
the out Finally it is necessary to reset. the screen character set back to it original value to reset the terminal for future operations.
4 #

Claims (8)

  1. A method of displaying graphics on a computer terminal screen comprising:
    I.) digitising an image to be displayed into a digital. intormation array of predetermined dimensions; - t 2) sub-dividing said information array into a plurality of identically sized pixei matrices, each corresponding in size to a standard character displayed on said screen; 3) ass.i.gning a different predefined standard character code to each pixel matrix in the array; defiDIDg thC screen display ot the standard character code assigned to each pixel matrix according to the digitised information in the. respecti. ve pixel matrix in the array; 5) displaying the defined characters on the screen in continuous arrangement corresponding to the arrangement of pixels in the array so as to display the image.
  2. 2. A method as claimed in claim wherein the image is -- 3.8 digitised using a pressure, light, X-ray, heat or sound activated device or a pencil. camera.
  3. 3. A method as claimed in claim I or 2 wherein the predefined character codes are codes for hSCII -standard characters.
  4. 4. A method as claimed in any preceding claim wherein the pixels forming the array are displayed without any gaps therebetween.
  5. 5. A method as claimed in any preceding claim wherein the coding for the pixels comprises a sub array of information comprising X and Y coordinates of the pixel and an indication of the presence or absence of an image line.
  6. 6. A method as claimed in any preceding claim wherein redefinition of characters takes place at the terminal.
  7. 7. A method as claimed in any preceding claim wherein the digitised information is analysed and points connected by a straight line are detined by the appropriate tormula for X and Y coordinates, no information being stored about points intermediate the end points of said straight line.
  8. 8. A method wh i c h is subs ta.nti a. Ily as h (-- r e, i n descrIbed.
    d Published 1991 at 7be Patent 0171ce. State House. 66/71 High Holbom, London WC I R47?. Further copies rnay be obtained from Sales Branch. Unit 6. Nine Mile Point, Cwmfelinfach, Cross Keys. Newport. NPI 7HZ. Printed by Multiplex techniques lid. St Mary Cray. Kent.
GB9000325A 1990-01-06 1990-01-06 Computer graphics system Expired - Fee Related GB2239771B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
GB9000325A GB2239771B (en) 1990-01-06 1990-01-06 Computer graphics system
EP19900313774 EP0437064A3 (en) 1990-01-06 1990-12-17 Computer graphics system
JP2407841A JPH0619453A (en) 1990-01-06 1990-12-27 Graphics display method
PT9643391A PT96433A (en) 1990-01-06 1991-01-04 DEVICE FOR EXHIBITING GRAPHICS IN A COMPUTER TERMINAL SCANNER
AU68611/91A AU6861191A (en) 1990-01-06 1991-01-04 Computer graphics system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9000325A GB2239771B (en) 1990-01-06 1990-01-06 Computer graphics system

Publications (3)

Publication Number Publication Date
GB9000325D0 GB9000325D0 (en) 1990-03-07
GB2239771A true GB2239771A (en) 1991-07-10
GB2239771B GB2239771B (en) 1994-02-02

Family

ID=10668946

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9000325A Expired - Fee Related GB2239771B (en) 1990-01-06 1990-01-06 Computer graphics system

Country Status (5)

Country Link
EP (1) EP0437064A3 (en)
JP (1) JPH0619453A (en)
AU (1) AU6861191A (en)
GB (1) GB2239771B (en)
PT (1) PT96433A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9468195B2 (en) 2012-11-01 2016-10-18 Thundershirt, Llc Convertible leash and harness system and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1513179A (en) * 1975-11-17 1978-06-07 British Broadcasting Corp Data display apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1513179A (en) * 1975-11-17 1978-06-07 British Broadcasting Corp Data display apparatus

Also Published As

Publication number Publication date
EP0437064A2 (en) 1991-07-17
PT96433A (en) 1992-09-30
EP0437064A3 (en) 1992-11-19
GB2239771B (en) 1994-02-02
AU6861191A (en) 1991-07-11
JPH0619453A (en) 1994-01-28
GB9000325D0 (en) 1990-03-07

Similar Documents

Publication Publication Date Title
CA1209244A (en) Compaction and decompaction of non-coded information bearing signals
US4665555A (en) Computer based drawing management system
EP0211934B1 (en) Electronic publishing
EP0298446B1 (en) Full page graphics image display data reduction
US6753977B2 (en) Machine-readable information embedded on a document
US4485454A (en) Electronic document information filing system
JP2002215612A5 (en)
US6771820B1 (en) Encoding information within text printed on a page using differing gray or color levels
US4661988A (en) Image information-filing apparatus
US5150434A (en) Image data filing system with image data modification facility
EP0750287B1 (en) An image creation apparatus
GB2239771A (en) Graphics display in response to character codes
JPH0820862B2 (en) Character processor
JPS5938612B2 (en) information input device
JPH0113117B2 (en)
JPS63233465A (en) Input display system for numerical format code
JP2854344B2 (en) How to display mixed mode documents
JPS59187391A (en) Character image indication system
JPS5853338B2 (en) Dot pattern output method
JP2676993B2 (en) Character reading correction device
JPS59167748A (en) Information storage device
JPS6156825B2 (en)
JPH0213994A (en) Storing and developing system for character type face
JPH0596811A (en) Printing method
JPS63282787A (en) Document editing apparatus

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 19940502