|
|
|
Structured document (e.g., HTML, SGML, ODA, CDA) |
Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data4270172
Abstract
A photocomposition system for composing typeface characters on a CRT display using a magnetic font disc formed of plural variable length character sectors wherein each sector includes successive storage cells containing all of the coded signals necessary to describe a single character image which signals may be retrieved and decoded for use by the CRT to create an optical image of the character. An optical scanner system is disclosed for optically determining the coordinate points on the boundary of an original character design for subsequent encoding into successive 3 bit binary codes representing successive end to end translational movements along the boundaries of the character design being encoded. The translational movements are selected from a subset of a total of 24 possible translational paths wherein the paths making up the subset is continually varying dependent on the general direction of the previous translational path. An electronic printer system is disclosed for retrieving single groups of character identifying translational command codes in response to text composing signals produced on a text editor. Each group of translational command codes is temporarily stored for decoding into coordinate signals used to access a high speed output memory having storage cells corresponding to the coordinates of the elemental areas (dots) on the CRT screen conceptually divided into an elemental area (dot) matrix. Following one complete decoding cycle, the data stored in the high speed output memory is used to cause the CRT to create an image of the character.
Claims
We claim:
1. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells permitting retrieval of the signals to enable an electronic display to generate successive optical character images as selectively desired, comprising the steps of
(a) scanning an optical image of a character design having at least one closed boundary contour in a predetermined line scanning pattern relative to a predetermined reference;
(b) generating in succession coordinate signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character design with the line scanning pattern;
(c) converting the coordinate signals into successive encoded binary signals describing successive end to end translational paths between successive plural boundary points selected from a set of possible translational paths to best approximate the boundary contour by starting at a first boundary point and continuing around the entire boundary contour in successive ordered steps different from the order in which the coordinate signals are generated in step (b) until the first boundary point is again reached; and
(d) storing all of the encoded binary signals for a single character design in successive storage cells of the magnetic font disc in an order corresponding to the order of the successive end to end translational paths.
2. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells permitting retrieval of the signals to cause an electronic display to generate successive optical character images as selectively desired, comprising the steps of
(a) scanning an optical image of a character in a predetermined scan line pattern relative to a predetermined reference to generate coordinate signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with each line of the scan line pattern, including the steps of
(1) projecting a shadow image of the optical character image onto a linear array of photocells,
(2) scanning the linear array of photocells to produce a serial stream of binary signals with one signal level indicative of a photocell which is illuminated and another signal level indicative of a photocell which is not illuminated,
(3) converting the serial stream of binary signals into successive multi-bit bytes of scan data,
(4) responding to each transition from one binary level to another binary level in the multi-bit bytes by storing a multi-bit binary signal representative of a coordinate position of the transition from one binary level to another binary level, and
(5) storing temporarily the multi-bit binary signals in successive storage locations of a magnetic disc;
(b) converting the coordinate signals into successive encoded binary signals describing successive end to end translational paths between boundary points selected from a set of possible translational paths to best approximate the boundary contour; and
(c) storing all of the successive encoded binary signals for a single character in successive storage cells of the magnetic font disc.
3. A method as defined in claim 2, wherein step (b) includes the steps of (1) transfering the magnetic disc to an encoding system having a random access memory and (2) transfering the multi-bit binary signals to the random access memory for selective retrieval during the process of converting the coordinate signals into the encoded binary signals.
4. A method as defined in claim 3, wherein step (b) further includes the step of eliminating all coordinate signals which are separated in the scan line direction from another coordinate signal by a selectively variable criteria dependent upon the amount of size alteration to which the character images are to be subjected.
5. A method as defined in claim 4, wherein the selectively variable criteria includes one criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 6 consecutive photocell positions indicative of a character image followed by a distance equal to at least 9 consecutive photocell positions indicative of a non character image and another criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 4 consecutive photocell positions indicative of a character image followed by a distance equal to at least 6 consecutive photocell positions indicative of a non character image.
6. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells permitting retrieval of the signals to cause an electronic display to generate successive optical character images as selectively desired, comprising the steps of
(a) scanning an optical image of a character in a predetermined scan pattern relative to a predetermined coordinate reference to generate coordinate signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with corresponding points in the scan pattern;
(b) converting the coordinate signals into successive encoded binary signals describing successive end to end translational paths between boundary points selected from a set of possible translational paths to best approximate the boundary contour; and
(c) storing all of the successive encoded binary signals for a single character in successive storage cells of the magnetic font disc, further including the steps of
(1) transferring a first coordinate signal to a magnetic disc having a plurality of ordered storage cells arranged in successive concentric circles,
(2) converting a predetermined number of coordinate signals representative of a first predetermined number of successive boundary points encountered in a first translational movement from the first coordinate in one direction along the character boundary into an encoded binary signal identifying out of the set of possible translational paths the translational path which best describes an incremental line segment pattern interconnecting the first predetermined number of boundary points,
(3) converting an additional number of coordinate signals representative of an additional predetermined number of successive boundary points encountered in an additional translational movement in the one direction starting at the termination point of the preceding translational movement into an encoded binary signal indentifying out of the set of possible translational paths the translational path which best describes an incremental line segment pattern interconnecting the additional predetermined number of boundary points,
(4) repeating step (3) of this claim until all of the coordinate signals describing all of the boundary points of a particular image boundary have been converted to successive encoded binary signals, and
(5) storing in order the successive encoded binary signals for a single character image in successive storage cells on the magnetic disc following the storage cells containing the first coordinate signals.
7. A method as defined in claim 4, wherein the number of binary bits making up each successive encoded binary signal is less than the number of binary bits required to uniquely define each of the translational paths in the set of possible translational paths and wherein step (b) of claim 6 includes converting each coordinate signal into an encoded binary signal representative of a translational path selected from a subset of the total set of possible translational paths, said subset being defined by the general direction in which the previous translational movement along the character boundary took place.
8. A method as defined in claim 7, wherein each encoded binary signal includes 2 to 6 bits and the total path set includes 8 to 48 paths.
9. A method as defined in claim 7, wherein each encoded binary signal includes at least 3 bits and the total path includes 24 paths.
10. A method as defined in claim 9, wherein the total path set includes 24 separate paths starting from a common point in an X, Y orthogonal point matrix to each of 24 peripheral terminal points spaced 3 points from the common point and wherein the first octant of paths starting on the horizontal includes a first path formed of end to end line segments interconnecting points (0,0) (1,0) (2,0) (3,0), a second path formed of end to end line segments interconnecting points (0,0) (1,0) (2,1) (3,1), a third path formed of end to end line segments interconnecting points (0,0) (1,1) (2,1) (3,2) and a fourth path formed of end to end line segments interconnecting points (0,0) (1,1) (2,2) (3,3) and wherein each succeeding octant of paths is formed of a mirror image of the paths contained in the preceeding octant of paths taken along the line joining the two succeeding octants.
11. A method as defined in claim 7, wherein the subset of paths from which each succeeding translational path is selected includes a first subset of paths formed of those paths most likely to be needed to describe the succeeding binary points and a second subset of paths formed of those paths less likely to be needed to describe the succeeding boundary points.
12. A method as defined in claim 11, wherein each encoded binary signal uniquely describing the paths within the first subset includes X binary bits and wherein each encoded binary signal uniquely describing the paths within the second subset include 2X binary bits.
13. A method as defined in claim 12, wherein the subset of paths from which each succeeding translational path is selected includes a straight ahead path including an integral number of straight translational movements the direction of which is defined by the general direction of the last translational movement and the number of which is defined by the number represented by the next succeeding X binary bits.
14. A method as defined in claim 13, wherein X equals 3 and wherein the straight ahead path is identified by an encoded binary signal including at least 9 bits.
15. A method as defined in claim 14, wherein the number of boundary points described by each path in the first and second subsets is 3 exclusive of the starting point and the number of boundary points described by a straight ahead path is equal to 9 plus 3 times the number represented by the next succeeding binary bits exclusive of the starting point.
16. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells for selective retrieval of the signals to enable an electronic display to accurately create optical character images as selectively desired, comprising the steps of:
(a) scanning an optical image of a character design having at least one closed boundary contour in a predetermined line scanning pattern relative to a predetermined reference;
(b) generating in succession coordinate signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with the line scanning pattern;
(c) temporarily storing said coordinate signals in an accessible memory;
(d) designating one of the coordinate signals from a character design as a starting coordinate and successively retrieving the stored coordinate signals representing successive boundary points encountered in successive movements around the entire character boundary contour beginning at the starting coordinate;
(e) converting the retrieved coordinate signals into successive encoded binary signals describing successive end to end translational paths between selected boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points by starting at the starting coordinate and continuing around the entire boundary contour in successive ordered steps different from the order in which the coordinate signals are generated in step (b) until the starting coordinate is reached;
(f) repeating steps (d) and (e) for each additional boundary, if any, of the character design scanned in step (a); and
(g) storing the starting coordinates and all of the successive encoded boundary signals for one character in an order corresponding to the order of the successive end to end translational paths in successive storage cells of the magnetic font disc.
17. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells for selective retrieval of the signals to cause an electronic display to accurately create optical character images as selectively desired, comprising the steps of:
(a) scanning an optical image of a character in a predetermined scan line pattern relative to a predetermined reference to generate boundary signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with each line of scan line pattern, including the steps of
(1) projecting a shadow image of the optical character image onto a linear array of photocells,
(2) scanning the linear array of photocells to produce a serial stream of binary signals with one signal level indicative of a photocell which is illuminated and another signal level indicative of a photocell which is not illuminated,
(3) converting the serial stream of binary signals into successive multi-bit bytes of scan data,
(4) responding to each transition from one binary level to another binary level in the multi-bit bytes by storing a multi-bit binary signal representative of coordinate position of the transition from one binary level to another binary level, and
(5) storing temporarily the multi-bit binary signals in successive storage locations of a magnetic disc;
(b) temporarily storing said coordinate signals in an accessible memory;
(c) designating one of the coordinate signals from a character as a starting coordinate and successively retrieving the stored coordinate signals representing successive boundary points encountered in successive movements around the character boundary beginning at the first coordinate point following the starting coordinate;
(d) converting the retrieved coordinate signals into successive encoded binary signals describing successive end to end translational paths between selected boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points;
(e) repeating steps (c) and (d) for each additional boundary, if any, of the character image scanned in step (a);
(f) storing the starting coordinates and all of the successive encoded binary signals for one character in successive storage cells of the magnetic font disc.
18. A method as defined in claim 17, wherein step (b) includes the steps of (1) transfering the magnetic disc to an encoding system including a random access memory and (2) transferring the multi-bit binary signals to the random access memory for selective retrieval during the process of converting the coordinate signals into the encoded binary signals.
19. A method as defined in claim 18, wherein step (b) further includes the step of eliminating all coordinate signals which are separated in the scan line direction from another coordinate signal by selectively variable criteria dependent upon the amount of size alteration to which the character images are to be subjected.
20. A method as defined in claim 19, wherein the selectively variable criteria includes one criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 6 consecutive photocell positions indicative of a character image followed by a distance equal to at least 9 consecutive photocell positions indicative of a non character image and another criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 4 consecutive photocell positions indicative of a character image followed by a distance equal to at least 6 consecutive photocell positions indicative of a non character image.
21. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells for selective retrieval of the signals to cause an electronic display to accurately create optical character images as selectively desired, comprising the steps of:
(a) scanning an optical image of a character in a predetermined scan line pattern relative to a predetermined reference to generate boundary signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with each line of scan line pattern;
(b) temporarily storing said coordinate signals in an accessible memory;
(c) designating one of the coordinate signals from a character as a starting coordinate and successively retrieving the stored coordinate signals representing successive boundary points encountered in successive movements around the character boundary beginning at the first coordinate point following the starting coordinate;
(d) converting the retrieved coordinate signals into successive encoded binary signals describing successive end to end translational paths between selected boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points, wherein the number of binary bits making up each successive encoded binary signal is less than the number of binary bits required to uniquely define each of the translational paths in the set of possible translational paths and each coordinate signals is converted into an encoded binary signal representative of a translational path selected from a subset of the total set of possible translational paths, said subset being defined by the general direction in which the previous translational movement along the character boundary took place;
(e) repeating steps (c) and (d) for each additional boundary, if any, of the character image scanned in step (a); and
(f) storing the starting coordinates and all of the successive encoded binary signals for one character in successive storage cells of the magnetic font disc.
22. A method as defined in claim 21, wherein each encoded binary signal includes 2 to 6 bits and the total path set include 8 to 48 paths.
23. A method as defined in claim 21, wherein each encoded binary signal includes at least 3 bits and the total path set includes 24 paths.
24. A method as defined in claim 23, wherein the total path set includes 24 separate paths starting from a common point in an X, Y orthogonal point matrix to each of 24 peripheral terminal points spaced 3 points from the common point and wherein the first octant of paths starting on the horizontal includes a first path formed of end to end line segments interconnecting points (0,0) (1,0) (2,0) (3,0), a second path formed of end to end line segments interconnecting points (0,0) (1,0) (2,1) (3,1), a third path formed of end to end line segments interconnecting points (0,0) (1,1) (2,1) (3,2) and a fourth path formed of end to end line segments interconnecting points (0,0) (1,1) (2,2) (3,3) and wherein each succeeding octant of paths is formed of a mirror image of the paths contained in the preceeding octant of paths taken along the line joining the two succeeding octants.
25. A method as defined in claim 21, wherein the subset of paths from which each succeeding translational path is selected includes a first subset of paths formed of those paths most likely to be needed to describe the succeeding boundary points and a second subset of paths formed of those paths less likely to be needed to describe the succeeding boundary points.
26. A method as defined in claim 25, wherein each encoded binary signal uniquely describing the paths within the first subset includes X binary bits and wherein each encoded binary signal uniquely describing the paths within the second subset include 2X binary bits.
27. A method as defined in claim 26, wherein the subset of paths from which each succeeding translational path is selected includes a straight ahead path including an integral number of straight translational movements the direction of which is defined by the general direction of the last translational movement and the number of which is defined by the number of represented by the next succeeding X binary bits.
28. A method as defined in claim 27, wherein X equals 3 and wherein the straight ahead path is identified by an encoded binary signal including at least 9 bits.
29. A method as defined in claim 28, wherein the number of boundary points described by each path in the first and second subsets is 3 exclusive of the starting point and the number of boundary points described by a straight ahead path is equal to 9 plus 3 times the number represented by the next succeeding binary bits exclusive of the starting point.
30. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells for selective retrieval of the signals to enable an electronic display to generate successive optical character images as selectively desired, comprising the steps of
(a) scanning an optical image of a character design having at least one closed boundary contour in a predetermined line scanning pattern relative to a predetermined reference;
(b) generating in succession coordinate signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with the line scanning pattern;
(c) temporarily storing said coordinate signals in an accessible memory;
(d) designating one of the coordinate signals from a character design as a starting coordinate and successively retrieving the stored coordinate signals representing successive boundary points encountered in successive movements around the entire character boundary contour beginning at the starting coordinate;
(e) converting the retrieved coordinate signals into successive encoded binary signals describing successive end to end translational paths between successive boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points by starting at the starting coordinate and continuing around the entire boundary contour in successive ordered steps different from the order in which the coordinate signals are generated in step (b) until the starting coordinate is reached;
(f) repeating steps (d) and (e) for each additional boundary, if any, of the character design scanned in step (a);
(g) storing the starting coordinates and all of the successive encoded binary signals for a first character within a first character data field formed of successive storage cells on the magnetic font disc;
(h) storing non-character binary signals describing the position on the disc of the first character data field in a non-character data field formed of the successive storage cells immediately preceding the first character data field;
(i) repeating steps (a) through (f) for each character design which it is desired to store on the magnetic font disc;
(j) storing the starting coordinates and all of the successive binary signals for each character within an associated character data field formed of successive storage cells; and
(k) storing non-character data relating to each character including the position on the disc of the associated character data field in a non-character data field formed of the successive storage cells immediately preceding the associated character data field.
31. The method as defined in claim 30, further including the steps of encoding on the same magnetic font disc all character images in one alphabet drawn specifically for reproduction at one point size and all character images in the same alphabet drawn specifically for reproduction at another point size.
32. The method as defined in claim 31, wherein the magnetic font disc is designed for use in a photocomposition system capable of electronically creating images in different sizes by reducing the set size and point size independently and further including the step of recording binary signals on the magnetic font disc representative of instructions for changing the ratio of point size to set size in accordance with the character size in which the image is to be electronically recreated.
33. A method as defined in claim 30 for forming a magnetic font disc having storage cells arranged in concentric circles to allow a magnetic pick-up to generate binary signals representative of the binary signals stored in storage cells within each track wherein step (g) includes the steps of storing the encoded binary signals associated with a corresponding character in a character data field defined by successive storage cells within one track of the font disc, and step (h) includes the step of identifying the location of the corresponding character data field by storing within the same track non-character binary signals representative of the locations of the first and last storage cells of the character data field.
34. A coded magnetic disc formed in accordance with the method of claim 33, whereby all of the signals descriptive of a particular character design stored within a track of the disc may be retrieved by rotating the font disc to cause all of the storage cells in which the corresponding character data field is stored to move past a magnetic pick-up in succession without interruption.
35. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells for selective retrieval of the signals to cause an electronic display to generate successive optical character images as selectively desired comprising the steps of
(a) scanning an optical image of a character in a predetermined scan line pattern relative to a predetermined reference to generate coordinate signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with each line of the scan line pattern, including the steps of
(1) projecting a shadow image of the optical character image onto a linear array of photocells,
(2) scanning the linear array of photocells to produce a serial stream of binary signals with one signal level indicative of a photocell which illuminated and another signal level indicative of a photocell which is not illuminated,
(3) converting the serial stream of binary signals into successive multi-bit bytes of scan data,
(4) responding to each transition from one binary level to another binary level in the multi-bit bytes by storing a multi-bit binary signal representative of a coordinate position of the transition from one binary level to another binary level, and
(5) storing temporarily the multi-bit binary signals in successive storage locations of a magnetic disc;
(b) temporarily storing said coordinate signals in an accessible memory;
(c) designating one of the coordinate signals from a character as a starting coordinate and successively retrieving the stored coordinate signals representing successive boundary points encountered in successive movements around the character boundary beginning at the first coordinate following the starting coordinate;
(d) converting the retrieved coordinate signals into successive encoded binary signals describing successive end to end translational paths between successive boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points;
(e) repeating steps (c) and (d) for each additional boundary, if any, of the character image scanned in step (a);
(f) storing the starting coordinates and all of the successive encoded binary signals for a first character within a first character data field formed of successive storage cells on the magnetic font disc;
(g) storing non-character binary signals describing the position on the disc of the first character data field in a non-character data field formed of the successive storage cells immediately preceding the first character data field;
(h) repeating steps (a) through (d) for each character image which it is desired to store on the magnetic font disc;
(i) storing the starting coordinates and all of the successive binary signals for each character within an associated character data field formed of successive storage cells; and
(j) storing non-character data relating to each character including the position on the disc of the associated character data field in a non-character data field formed of the successive storage cells immediately preceding the associated character data field.
36. A method as defined in claim 35, wherein step (b) includes the steps of (1) transfering the magnetic disc to an encoding system having a random access memory and (2) transfering the multi-bit binary signals to the random access memory for selective retrieval during the process of converting the coordinate signals into the encoded binary signals.
37. A method as defined in claim 36, wherein step (b) further includes the step of eliminating all coordinate signals which are separated in the scan line direction from another coordinate signal by a selectively variable criteria dependent upon the amount of size alteration to which the character images are to be subjected.
38. A method as defined in claim 37, wherein the selectively variable criteria includes one criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 6 consecutive photocell positions indicative of a character image followed by a distance equal to at least 9 consecutive photocell positions indicative of a non character image and another criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 4 consecutive photocell positions indicative of a character image followed by a distance equal to at least 6 consecutive photocell positions indicative of a non character image.
39. A method for forming a magnetic font disc upon which alphabet character designs are recorded by coded binary signals stored by magnetically altering a plurality of ordered storage cells for selective retrieval of the signals to cause an electronic display to generate successive optical character images as selectively desired comprising the steps of
(a) scanning an optical image of a character in a predetermined scan line pattern relative to a predetermined reference to generate coordinate signals representative of the coordinates of boundary points defined by the intersection of the boundary contour of the character with each line of the scan line pattern;
(b) temporarily storing said coordinate signals in an accessible memory;
(c) designating one of the coordinate signals from a character as a starting coordinate and successively retrieving the stored coordinate signals representing successive boundary points encountered in successive movements around the character boundary beginning at the first coordinate following the starting coordinate;
(d) coverting the retrieved coordinate signals into successive encoded binary signals describing successive end to end translational paths between successive boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points, wherein the number of binary bits making up each successive encoded binary signal is less than the number of binary bits required to uniquely define each of the translational paths in the set of possible translational paths and each coordinate signal is converted into an encoded binary signal representative of a translational path selected from a subset of the total set of possible translational paths, said subset being defined by the general direction in which the previous translational movement along the character boundary took place;
(e) repeating steps (c) and (d) for each additional boundary, if any, of the character image scanned in step (a);
(f) storing the starting coordinates and all of the successive encoded binary signals for a first character within a first character data field formed of successive storage cells on the magnetic font disc;
(g) storing non-character binary signals describing the position on the disc of the first character data field in a non-character data field formed of the successive storage cells immediately preceding the first character data field;
(h) repeating steps (a) through (d) for each character image which it is desired to store on the magnetic font disc;
(i) storing the starting coordinates and all of the successive binary signals for each character within an associated character data field formed of successive storage cells; and
(j) storing non-character data relating to each character including the position on the disc of the associated character data field in a non-character data field formed of the successive storage cells immediately preceding the associated character data field.
40. A method as defined in claim 39, wherein each encoded binary signal includes 2 to 6 bits and the total path set includes 8 to 48 paths.
41. A method as defined in claim 39, wherein each encoded binary signal includes at least 3 bits and the total path set includes 24 paths.
42. A method as defined in claim 41, wherein the total path set includes 24 separate paths starting from a common point in an X, Y orthogonal point matrix to each of 24 peripheral terminal points spaced 3 points from the common point and wherein the first octant of paths starting on the horizontal includes a first path formed of end to end line segments interconnecting points (0,0) (1,0) (2,0) (3,0), a second path formed of end to end line segments interconnecting points (0,0) (1,0) (2,1) (3,1), a third path formed of end to end line segments interconnecting points (0,0) (1,1) (2,1) (3,2) and a fourth path formed of end to end line segments interconnecting points (0,0) (1,1) (2,2) (3,3) and wherein each succeeding octant of paths is formed of a mirror image of the paths contained in the preceeding octant of paths taken along the line joining the two succeeding octants.
43. A method as defined in claim 39, wherein the subset of paths from which each succeeding translational path is selected includes a first subset of paths formed of those paths most likely to be needed to describe the succeeding boundary points and a second subset of paths formed of those paths less likely to be needed to describe the succeeding boundary points.
44. A method as defined in claim 43, wherein the encoded binary signals uniquely describing the paths within the first subset includes X binary bits and wherein the encoded binary signals uniquely describing the paths within the second subset include 2X binary bits.
45. A method as defined in claim 44, wherein the subset of paths from which each succeeding translational path is selected includes a straight ahead path including an integral number of straight translational movements the direction of which is defined by the general direction of the last translational movement and the number of which is defined by the number represented by the next succeeding X binary bits.
46. A method as defined in claim 45, wherein X equals 3 and wherein the straight ahead path is identified by an encoded binary signal including at least 9 bits.
47. A method as defined in claim 46, wherein the number of boundary points described by each path in the first and second subsets is 3 exclusive of the starting point and the number of boundary points described by a straight ahead path is equal to 9 plus 3 times the number represented by the next succeeding binary exclusive of the starting point.
48. A method for forming a master magnetic font disc upon which alphabet character designs are recorded by encoded binary signals stored by magnetically altering a plurality of ordered storage cells permitting retrieval of the encoded binary signals to enable an electrical display to generate successive optical character images of graphic quality in any point size from 5 point to 18 point by electronically altering the retrieved encoded binary signals as selectively desired, comprising the steps of
(a) creating a first set of optical images of alphabet characters in a particular typeface style wherein the alphabet characters each have at least one closed boundary contour and are proportioned for electronic display in a predetermined point size;
(b) creating a second set of optical images of alphabet characters in said particular typeface style wherein the alphabet characters of said second set each have at least one closed boundary contour and are proportioned differently from said first set for electronic display in a predetermined point size different from said first set;
(c) scanning an optical image of a character from one of said sets in a predetermined line scanning pattern relative to a predetermined reference;
(d) generating in succession digital signals representative of the coordinates of the boundary points defined by the intersection of the boundary contour of the character with the line scanning pattern;
(e) converting the digital signals into successive encoded binary signals describing successive end to end translational paths between boundary points selected from a set of possible translational paths to best approximate the boundary contour of the scanned character by starting at a first boundary point and continuing around the entire boundary contour in successive ordered steps different from the order in which the coordinate signals are generated in step (d) until the first boundary point is again reached;
(f) storing all of the successive encoded binary signals for a single character in successive storage cells of the master magnetic font disc;
(g) repeating steps (c) through (f) for each optical character image in said alphabets sets; and
(h) storing binary control signals on said disc causing the electronic display to generate optical characters in a desired point size using the stored encoded binary signals which require the least point size alteration.
49. A method for forming a master magnetic font disc upon which alphabet character designs are recorded by encoded binary signals stored by magnetically altering a plurality of ordered storage cells permitting retrieval of the encoded binary signals to cause an electrical display to generate successive optical character images of graphic quality in any point size from 5 point to 18 point by electronically alternating the retrieved encoded binary signals as selectively desired, comprising the steps of
(a) creating a first set of optical images of alphabet characters in a particular typeface style wherein the alphabet characters are proportioned for electronic display in a predetermined point size;
(b) creating a second set of optical images of alphabet characters in said particular typeface style wherein the alphabet characters of said second set are proportioned differently than said first set for electronic display in a predetermined point size different from said first set;
(c) scanning an optical image of a character from one of said sets in a predetermined scan line pattern relative to a predetermined reference to generate digital signals representative of the coordinates of the boundary points defined by the intersection of the boundary contour of the character with each line of the scan line pattern, including the steps of
(1) projecting a shadow image of the optical character image onto a linear array of photocells,
(2) scanning the linear array of photocells to produce a serial stream of binary signals with one signal level indicative of a photocell which is illuminated and another signal level indicative of a photocell which is not illuminated,
(3) converting the serial stream of binary signals into successive multi-bit bytes of scan data,
(4) responding to each transition from one binary level to another binary level in the multi-bit bytes by storing a multi-bit binary signal representative of a coordinate position of the transition from one binary level to another binary level, and
(5) storing temporarily the multi-bit binary signals in successive storage locations of a magnetic disc;
(d) converting the coordinate signals into successive encoded binary signals describing successive end to end translational paths between boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points;
(e) storing all of the successive encoded binary signals for a single character in successive storage cells of the master magnetic font disc;
(f) repeating steps (c) through (e) for each optical character image in said alphabets sets; and
(g) storing binary control signals on said disc causing the electronic display to generate optical characters in a desired point size using the stored encoded binary signals which require the least point size alteration electrically.
50. A method as defined in claim 49, wherein step (d) includes the steps of (1) transferring the magnetic disc to an encoding system including a random access memory, and (2) transferring the multi-bit binary signals to the random access memory for selective retrieval during the process of converting the coordinate signals into the encoded binary signals.
51. A method as defined in claim 50 wherein step (d) further includes the step of eliminating all coordinate signals which are separated in the scan line direction from another coordinate signal by selectively variable criteria dependent upon the amount of size alteration to which the character images are to be subjected.
52. A method as defined in claim 51, wherein the selectively variable criteria includes one criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 6 consecutive photocell positions indicative of a character image followed by a distance equal to at least 9 consecutive photocell positions indicative of a non character image and another criteria whereby the position represented by each acceptable coordinate signal must be separated in the scan line direction from the position represented by any other coordinate signal by a distance equal to at least 4 consecutive photocell positions indicative of a character image followed by a distance equal to at least 6 consecutive photocell positions indicative of a non character image.
53. A method for forming a master magnetic font disc upon which alphabet character designs are recorded by encoded binary signals stored by magnetically altering a plurality of ordered storage cells permitting retrieval of the encoded binary signals to cause an electrical display to generate successive optical character images of graphic quality in any point size from 5 point to 18 point by electronically alternating the retrieved encoded binary signals as selectively desired, comprising the steps of
(a) creating a first set of optical images of alphabet characters in a particular typeface style wherein the alphabet characters are proportioned for electronic display in a predetermined point size;
(b) creating a second set of optical images of alphabet characters in said particular typeface style wherein the alphabet characters of said second set are proportioned differently than said first set for electronic display in a predetermined point set different from said first set;
(c) scanning an optical image of a character from one of said sets in a predetermined scan line pattern relative to a predetermined reference to generate digital signals representative of the coordinates of the boundary points defined by the intersection of the boundary contour of the character with each line of the scan line pattern;
(d) converting the coordinate signals into successive encoded binary signals describing successive end to end translational paths between boundary points selected from a set of possible translational paths to best approximate the position of the successive boundary points, wherein the number of binary bits making up each successive encoded binary signal is less than the number of binary bits required to uniquely define each of the translational paths in the set of possible translational paths and each coordinate signal is converted into an encoded binary signal representative of a translational path selected from a subset of the total set of possible translational paths, said subset being defined by the general direction in which the previous translational movement along the character boundary took place;
(e) storing all of the successive encoded binary signals for a single character in successive storage cells of the master magnetic font disc;
(f) repeating steps (c) through (e) for each optical character image in said alphabets sets; and
(g) storing binary control signals on said disc causing the electronic display to generate optical characters in a desired point size using the stored encoded binary signals which require the least point size alteration electrically.
54. A method as defined in claim 53, wherein each encoded binary signal includes 2 to 6 bits and the total path set includes 8 to 48 paths.
55. A method as defined in claim 53, wherein each encoded binary signal includes at least 3 bits and the total path set includes 24 paths.
56. A method as defined in claim 55, wherein the total path set includes 24 separate paths starting from a common point in an X, Y orthogonal point matrix to each of 24 peripheral terminal points spaced 3 points from the common point and wherein the first octant of paths starting on the horizontal includes a first path formed of end to end line segments interconnecting points (0,0) (1,0) (2,0) (3,0), a second path formed of end to end line segments interconnecting points (0,0)(1,0) (2,1) (3,1), a third path formed of end to end line segments interconnecting points (0,0) (1,1) (2,1) (3,2) and a fourth path formed of end to end line segments interconnecting points (0,0) (1,1) (2,2)(3,3) and wherein each succeeding octant of paths is formed of a mirror image of the paths contained in the preceeding octant of paths taken along the line joining the two succeeding octants.
57. A method as defined in claim 53, wherein the subset of paths from which each succeeding translational path is selected includes a first subset of paths formed of those paths most likely to be needed to describe the succeeding boundary points and a second subset of paths formed of those paths less likely to be needed to describe the succeeding boundary points.
58. A method as defined in claim 57, wherein each encoded binary signals uniquely describing the paths within the first subset includes X binary bits and wherein the encoded binary signals uniquely describing the paths within the second subset include 2X binary bits.
59. A method as defined in claim 58 wherein the subset of paths from which each succeeding translational path is selected includes a straight ahead path including an integral number of straight translational movements the direction of which is defined by the general direction of the last translational movement and the number of which is defined by the number represented by next succeeding X binary bits.
60. A method as defined in claim 59, wherein X equals 3 and wherein the straight ahead path is identified by an encoded binary signal including at least 9 bits.
61. A method as defined in claim 60, wherein the number of boundary points described by each path in the first and second subsets is 3 exclusive of the starting point and the number of boundary points described by a straight ahead path is equal to 9 plus 3 times the number represented by the next succeeding binary encoded signal exclusive of the starting point.
Description
BACKGROUND OF THE INVENTION
(1) Field of the Invention
This invention relates to the field of photocomposition using electronically displayed character images generated from stored binary signals.
(2) Discussion of the Prior Art
Electronic graphic displays controlled by digital computers are presently used in a variety of applications including computer aided design, long distance telecommunications and word processor systems. Due to their extremely high speed and great versatility, computer controlled CRT displays have even found application in the field of photocomposition of typecharacters and other graphic symbols but such applications have generally been attended by low resolution and high cost due to the vast amount of digital data needed to obtain even a minimally acceptable character resolution. As the requirement for greater resolution in character design increases, very significant sacrifices must be made in the speed at which the character designs are displayed in order to keep the capital equipment costs within reasonable limits. For this reason, virtually all photocomposition systems capable of producing high resolution, graphic quality character images have relied upon film grid fonts from which the character designs may be optically reproduced. Film font systems, however, suffer from a number of disadvantages including the high cost and fragile nature of the film grids, the need for a complicated font support mechanism and the need for an expensive optical projection system.
Since an electronic display system virturally eliminates all of these disadvantages of the conventional film font, numerous attempts have been made to develop a practical electronic system capable of producing sufficiently high resolution to compete with film font based photocomposition systems. In U.S. Pat. No. 3,569,951 to Lavenir, a digital computer based graphic symbol display system is disclosed in which line image characters are generated on a CRT display screen by cursively moving the CRT beam in response to a series of 3 bit codes commanding successive translational movements of the CRT beam. Since the CRT screen can be imagined as an orthogonal matrix of dots, each translational movement of the CRT can be described as a movement from one dot in the matrix to an adjacent dot in one of eight possible directions (called Freeman directions). A three bit binary number is required to identify all 8 possible directions assigned to each translational movement command produced by the digital circuitry controlling the CRT display. To obtain a greater degree of flexibility, the Freeman direction codes can be expanded to allow selectively for either one dot or two dot translational movements, as is disclosed in U.S. Pat. No. 3,533,096 to Bouchard and U.S. Pat. No. 3,603,967 Houerbach.
Still further reduction in the storage capacity required for cursive character generation can be realized by using successive two part encoded commands wherein the first part of each command identifies generally a sector direction in which movement of the CRT beam will take place and a second part specifically identifies a path within the sector over which the CRT beam is to be moved. By generating successive two part commands of this type the CRT beam may be commanded to sweep out any arbitrary design. Examples of this technique are disclosed in U.S. Pat. Nos. 3,675,230 to Pitteway; 3,716,705 to Newell and 3,735,389 to Tarczy-Hornach. While significant reduction in storage capacity can be achieved by this approach especially when a large number of display matrix dots are traversed in response to each binary path identification code, this reduction is offset somewhat by the need to include a number of bit positions in each command to identify the direction sector in which path movement is to take place. Moreover, cursive line generation of character images allows no variation in the thickness of the line images generated and is therefore unacceptable in most situations in which graphic quality photocomposition is desired.
Accordingly, it has been suggested to encode additional information such as disclosed in U.S. Pat. No. 4,087,788 to Johannesson in which the Freeman direction codes are supplemented by digital information relating to the "thickness" of the various letter portions. Some loss of resolution occurs in systems of this type and thus for very high resolution work, the system disclosed in U.S. Pat. No. 3,581,302 to Kolb may be employed wherein successive 3 bit Freeman codes are employed to describe in successive translational movements the position of all dots in the dot matrix of a CRT display which must be illuminated in order to recreate a particular character image. The Kolb patent recognizes that one of the Freeman directions may even be eliminated by careful arrangement of the instructions and yet permit all of the dot positions to be described. In this way the eliminated Freeman direction code can be used for further machine code instructions without requiring more than three bits per translational command code.
A system using successive 3 bit Freeman codes to define each dot location of a character design will maximize the resolving capability of a CRT display, but massive storage capacity will be required to approach the maximum resolving capability of the human eye. For example, assuming the minimum resolving capacity of the unaided human eye at a normal reading distance to be about 0.0002 inch, a character reproduced at copy size in 12 point type would require almost 1 million dots of 0.0001 inch to define a dot matrix covering a 12 point EM sqaure which is the imaginary square in which all letters of a 12 point alphabet are formed. Even if the letter form uses only one tenth of the dots in the EM matrix, 300,000 bits of storage capacity would be required for each symbol in the alphabet in order to achieve the maximum visibly perceptible resolution in the output image.
One technique for reducing this mammoth storage requirement is illustrated in U.S. Pat. No. 3,594,759 to Smura wherein successive 24 bit computer commands are sent to a decoder circuit for deflecting a CRT beam in a pattern to sweep through the dots defining one portion of a character. Basically the system of the type illustrated in the Smura patent works well for "block style" lettering, but tends to break down when the letter boundary is of a curvilinear nature. Note for example the chart in column 8 wherein 30 24 bit commands are required to describe a curved letter portion as compared with rectangular portions requiring only 2 or 3 24 bit commands.
An alternative approach to encoding commands identifying all dots making up a character is to encode only the boundary point of the character design and to use these encoded boundary point positions to control a raster scanned display to recreate the character image. A system of this type is disclosed in U.S. Pat. No. 3,783,331 to Darnall wherein original artwork is scanned in raster fashion to produce signals indicating the position at which each scan line crosses the boundary of the character. This stored information is subsequently read out to control the blanking and unblanking of a CRT beam which is raster scanned over a display screen to recreate an image of the character. In a system employing many hundreds of scans per character, the amount of storage capacity required can still be impractical with this system even though significant advantages are achieved over systems identifying the location of each and every point in a character image. Moreover, a system of scanning original artwork such as illustrated in U.S. Pat. No. 3,783,331 requires simultaneous scanning of the artwork and a reference character in order to obtain a spatial reference for the encoding data. This requirement prevents the selection of the conventional base and left hand reference lines normally used by typeface designers as the scan reference since the character design will often touch the conventional base or left hand reference lines thereby creating the absence of a reference character in the area of overlap. Other techniques for creating character images by raster type scanning of a display screen are illustrated in U.S. Pat. Nos. 3,422,737 to Bailey, Jr.; 3,643,067 to Coldita et al and 3,713,098 to Muenchhousen et al.
Some attempts have been made to combine the benefits of cursive type character data storage with the efficiency and simplicity of a raster scanned image display. For example U.S. Pat. No. 3,936,664 to Sato discloses a technique whereby a character pattern is encoded by end to end vectors defining plural dot positions whereby the stored vector signals are used, upon decoding, to store data bits in a random access memory in which the storage cells correspond to dot positions in an electronic display matrix. When all of the vectors making up a character have been stored, the memory is read out to control a conventionally scanned CRT display.
Another way to combine cursive type character encoding with raster scanned output display is illustrated in U.S. Pat. No. 3,870,922 to Schutoh which discloses a pattern generating structure wherein the coordinates of boundary points of a pattern intersected by a scan line are generated in real time using encoded data relating to successive translational movements from one boundary point to another. The CRT beam is unblanked when the position of the CRT beam coincides with a coordinate being generated from the encoded data indicating that the beam is entering the pattern image and is blanked when the CRT beam position coincides with a coordinate being generated from the encoded data indicating that the beam is leaving the pattern image.
Attempts have also been made to achieve greater data compaction by modifying the organization of the storage media itself. For example, numerous techniques have been developed, such as illustrated in U.S. Pat. No. 4,001,883, for high density data storage on magnetic discs using uniform length data sectors. Similar techniques such as disclosed in U.S. Pat. No. 3,514,616 to Kolb have been disclosed as being particularly advantageous for the storage of encoded data CRT image generation wherein the data for each character is subdivided into subsections assigned to plural sectors containing both character and non-character data. Disc storage media organized with uniform length data sectors inevitably result in unused storage capacity since the amount of encoded data necessary to describe completely any one character will be variable and will often require only a fraction of the last data sector assigned to record the encoded character data.
SUMMARY OF THE INVENTION
It is the primary object of this invention to overcome the deficiencies of the prior art and to provide a photocomposition system for composing typeface characters with the highest practical degree of resolution using electronically displayed character images generated from stored binary signals.
A more specific object of this invention is to provide a system capable of producing the same high resolution and graphic character quality obtainable from film grid font based photocompositions systems by means of a system wherein the film grid font has been replaced by a magnetic font disc on which character images are stored in the form of magnetically recorded encoded binary signals.
A still more specific purpose of this invention is to provide a magnetic font disc organized to allow the maximum possible compaction of encoded character design signals and to allow extremely rapid retrieval of the encoded signals. More particularly the signals are organized into groups of successive multi-bit translational commands sufficient to describe the entire boundary contour of a single alphabet character. Each such group is stored in a single continuous character sector including a character data field formed of a plurality of magnetic storage cells equal in number to the total number of data bits in the associated group of multi-bit translational commands and a non-character data field formed of a predetermined fixed number of storage cells preceding the associated character data field. The storage cells of the non-character data field are magnetically altered to store binary signals identifying the position of the associated character data field. A plurality of additional character corresponding to the number of remaining character contours recorded on the disc are arranged sequentially end to end within a plurality of concentric tracks made up of the ordered storage cells on the magnetic font disc.
Still another object of the subject invention is the provision of a single master magnetic font disc capable of producing signals suitable for electronic alteration to generate all sizes of normally used alphabet characters of a particular typestyle. This advantage is achieved by recording two or more complete sets of alphabet letters of the same type style encoded from separate original art work wherein corresponding letters are proportioned slightly differently in order to better adapt one complete set of alphabet characters for image generation in larger point sizes and the other set of characters for image generation in smaller point sizes. This master magnetic font disc further includes instructions in the form of binary numbers stored thereon to indicate what point sizes each set of alphabet characters is properly adapted to generate.
It is still another object of this invention to provide a master magnetic disc font for use with a photocomposition system capable of independently altering the set size and the point size in which character images are generated on the electronic output display wherein the master magnetic font disc includes instructions recorded in binary form for causing the photocomposition system to vary, automatically, the ratio of point size to set size as the point size of the characters are modified.
A primary feature of the subject invention is the method for recording the boundary contour of a character image by means of a series of translational codes designed to identify one path out of a set of translational paths which may be followed in moving incrementally around the boundary of a character image. The number of binary bits required for each translational code is reduced by limiting the number of paths which may be followed dependent upon the path previously followed. In other words the meaning which is attached to a particular translational code is dependent upon the preceding translational code in the series of codes used to define the character boundary.
A more specific feature of this invention is the provision of a method for encoding a character boundary whereby a series of three bit translational codes is used to identify one translational path out of a path set composed of 24 distinct translational paths wherein the general direction of a preceding translational path is used to define a subset of translational paths from which the succeeding translational path must be selected. In this way the number of bits required to identify successive translational codes may be significantly less than the number of bits which would be required in order to uniquely identify each of the total number of translational paths in the overall path set. This advantage of the invention derives from the fact that a character boundary generated in a very high density dot matrix will very rarely require a translational movement which represents a sharp turn away from the direction of the previous translational path.
A further feature of the subject invention is the provision of special code which is substituted for a normal translational code to indicate that the next translational move will be identified from a set of translational paths which are infrequently required in order to define a character boundary. In particular, the path set includes translational paths which represent generally sharper turns from the direction previously followed.
Still another object of the subject invention is the provision of an optical scanner system for deriving the coordinate position of the intersection of a scan line with the boundary of a character image whereby the coordinates identify the position of such intersection points relative to a reference the position of which does not appear on the optical image carrier. Rather, the reference position on which the character boundary point coordinates are based are recorded on a separate image carrier adapted to be scanned separately from the character image carrier.
A more specific object of the invention is to provide a photocomposition printer system including decoding means for retrieving the successive translational codes stored on the magnetic font disc and converting these codes into coordinate numbers capable of defining the contour of a character boundary combined with collector circuit means for responding only to those coordinates located within a predetermined linear slice of the character image to cause signals to be stored in an output memory from which the CRT beam control signals may be derived.
A more particular object of the subject invention is to provide a photocomposition printer system including a character decoder memory in which is stored the successive multi-bit translational codes defining the entire boundary contour of at least one character image combined with cyclically operating accessing circuitry for reading out in series the multi-bit translational codes for use by the collector circuit means in determining whether any of the multi-bit translational codes identify coordinates existing within a particular slice of the character image. By this technique, all of the translational codes are successively transformed to boundary coordinates one time for each character slice identified by the collector circuit means.
Still another object of this invention is to provide a photocomposition printer system including a multiplier circuit means between the output of the decoder circuit means and the collector means for the purpose of altering the magnitude of the coordinates received from the decoder circuit in such a way as to adjust the point size and the set size of the character images to be generated on the CRT display. In particular the multiplier circuit means includes an X multiplier circuit for adjusting the X coordinate of each boundary point received from the decoder circuit to thereby adjust the set size of the character image and a Y multiplier circuit for adjusting the Y coordinate of each boundary coordinate to thereby adjust the point size of the character image independently of the set size.
Still another object of the subject invention is to provide four separate output memory circuits controlled in such a way that two memory circuits are simultaneously accessed to provide CRT beam control signals while the CRT is displaying one slice of a character image while the remaining two output memories are successively operated to receive data from the collector circuit means with one output memory circuit receiving data regarding the boundary of one character and the second output memory receiving data regarding the boundary of an adjacent character image such that upon simultaneous read out of the data from these two output memory circuits, the CRT beam can be properly controlled even though two character images are designed to be photocomposed in overlapping relationship.
Still another object of the subject invention is to provide four separate random access output memory circuits having a storage cell corresponding to each dot position within the output dot matrix conceptually representing the elemental areas of the CRT display screen being used. The coordinate signal produced by the collector circuit means are accordingly used to access particular locations within the random access output memory circuits to permit a binary representation to be stored in the memory storage cell corresponding in position to the coordinate signal provided by the collector circuit. When the decoder circuit means has cyclically read out all of the translational command codes completely describing a single character's boundary the output memory circuit then being accessed will contain stored signals at each of the storage cells corresponding to the boundary coordinates of the character image falling within the character slice then identified by the collector circuit means.
Other and more specific objects of the subject invention may be understood by a consideration of the drawings and the following description of the preferred embodiments.
BRIEF SUMMARY OF THE DRAWINGS
FIG. 1 is a conceptual schematic diagram of a photocomposition system formed in accordance with the subject invention,
FIG. 2 is a schematic illustration of the manner by which the boundary coordinates of a letter form are generated,
FIG. 3 is a schematic illustration of an electronic optical generator screen on which the letter form of FIG. 2 has been generated in response to encoded signals derived from the scanning operation illustrated in FIG. 2,
FIG. 4 is a schematic illustration of the 8 possible 1-dot translational movements from any point in a dot matrix to an adjacent point,
FIG. 5 is a schematic illustration of a path set of possible 2-dot translational movements from one dot matrix position to the 16 peripheral termination points surrounding the one dot matrix position,
FIG. 6 is a schematic illustration of a path set of possible 3-dot translational movements from one dot matrix position to the 24 peripheral three dot translation termination points surrounding the one dot matrix position,
FIG. 7 is a chart indicating the ratio of storage bits required to identify a translational movement within a dot matrix to the number of dots actually traversed within the matrix for each translational movement,
FIG. 8 is a schematic illustration of another path set of possible 2-dot translational movements from one dot matrix position to the 16 peripheral two dot translational termination points surrounding the one dot matrix position,
FIG. 9 is a schematic illustration of another path set of possible 3-dot translational movements from one dot matrix positionto the 24 peripheral three dot translational termination points surrounding the one dot matrix position,
FIG. 10 is a schematic illustration of yet another path set of possible 3-dot translational movements from one dot matrix position to the 24 peripheral three dot translational termination points surrounding the dot matrix position,
FIG. 11 is a schematic illustration of the method of this invention for encoding successively the translation paths of FIG. 6 using 3 bit binary codes in order to describe the boundary contour of a alphabet character,
FIG. 12 is a schematic illustration of an arbitrary boundary contour defined by a succession of dots,
FIG. 13 is a chart detailing the successive three bit binary codes necessary to describe the boundary contour illustrated in FIG. 2 in accordance with the method illustrated in FIG. 11,
FIG. 14 is a schematic illustration of the scanner system employed to initially encode the coordinate position of the intersection of scan lines with the boundary contour of a letter form,
FIG. 15 is an illustration of a standardized grid for use in adjusting the intensity of the light source employed in the scanner system of FIG. 14,
FIG. 16 is an illustration of a reference gride for use in establishing the reference position for a scanning operation of the optical scanner illustrated in FIG. 14,
FIG. 17 is an illustration of a blocking mask transparency for use in reducing the scan time of the optical scanner of FIG. 14,
FIG. 18 is an illustration of a typical character image suitable for scanning by the optical scanner system of FIG. 14,
FIG. 19 is a schematic illustration of a series to parallel converter for converting the serial scan pulses into 8 bit bytes suitable for manipulation by the microprocessor of the scanner of FIG. 14,
FIG. 20 is a chart illustrating the format of 8 bit bytes actually stored on a magnetic disc by the microprocessor of the optical scanner of FIG. 14,
FIG. 21 is a schematic illustration of the encoding system by which the 16 bit coordinate numbers resulting from the scanning operation of the optical scanner of FIG. 14 are converted to 3 bit translational codes as illustrated in FIG. 11,
FIG. 22 is a schematic illustration of a conventional magnetic floppy disc provided with equal length data storage sectors,
FIG. 23 is a chart of the manner by which data is organized on the conventional floppy disc of FIG. 22,
FIG. 24 is a chart illustration of the manner by which data is organized on the novel magnetic font disc formed in accordance with the subject invention,
FIG. 25 is a chart illustrating in greater detail the manner by which blocks of data are stored on the magnetic font disc of the subject invention,
FIG. 26 is an illustration of the E.M. square employed by typeface designers and photocomposers to measure the size of a character image,
FIG. 27 is a schematic illustration of the major components of the photocomposition printer formed in accordance with the subject invention,
FIG. 28 is a schematic illustration of the printer control circuit illustrated in FIG. 27,
FIG. 29 is a schematic illustration of the disc controller circuit of FIG. 27 used to control the magnetic font disc formed in accordance with the subject invention,
FIG. 30 is a schematic illustration of the character decoder circuit employed in the printer illustrated in FIG. 27,
FIGS. 30A through 30C illustrate schematically the operation of an adder circuit of the multiplier circuit,
FIG. 31 is a schematic illustration of the multiplier circuit employed in the printer illustrated in FIG. 27,
FIG. 32 is a simplified schematic illustration of the collector circuit employed in the printer illustrated in FIG. 27,
FIG. 33 is a schematic illustration of the character slice identifying function of the slice identifying counter employed in the collector circuit of FIG. 32,
FIGS. 34 through 36 are illustrations of the function of the collector circuit permitting boundary "turn around" configurations occuring within a character slice to be appropriately handled by the collector circuit,
FIG. 37 is a more detailed schematic illustration of the collector circuit employed in the printer illustrated in FIG. 27,
FIG. 38 is a more detailed schematic illustration of the collector circuit employed in the printer illustrated in FIG. 27,
FIGS. 39 through 43 are illustrations of the operation of the collector circuit of FIG. 38,
FIG. 44 is an illustration of the output memory board control circuit used to control the operation of the output memory circuits of the printer of FIG. 27,
FIG. 45 is a schematic illustration of one of the high speed output memory circuits employed in the printer of FIG. 27,
FIG. 46 is a schematic illustration of the scan control circuitry for the CRT display of the printer illustrated in FIG. 27,
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The ultimate purpose of the subject invention is to provide a photocomposition system for composing typeface characters with the highest practical degree of resolution of the character designs and of control over the arrangement and spacing of the characters forming the textual material composed by the system. By use of the subject invention, it is now practical for the first time to photocompose by electronically recreating images from highly compact data stored in memory with optical resolution equal to or greater than that possible by use of a film-font based photocomposition system. In particular, the subject system has the unique ability to sense and encode original design data for storage in an ultra compact format and to recreate electronically the original designs from this data in an optical form suitable for photographic recordation at a sufficiently high speed to permit commercial application without sacrificing in any significant way the visually perceptible resolution of the original letter design.
FIG. 1 is a diagrammatic representation of the conceptual basis of the subject system. Block 2 represents the original character artwork normally drawn by an artist using pen and ink in accordance with the artist's esthetic sense. If the system is to be used for photocomposing the Roman alphabet, all upper and lower case letters plus numeral 0-9 and miscellaneous punctuation symbols will be drawn by the artist using a systematically applied design scheme so that each character can be visually identified as belonging to a particular alphabet style (typeface design) such as HELVETICA (a trademark of Eltra Corporation) or ALPHAVANTI (a trademark of Alphatype Corporation, Skokie, Illinois). Block 4 represents that portion of the subject system used to electronically digitize the character designs and encode the information in a highly compact format thereby allowing storage of a massive amount of character design information in storage media 6 such as a magnetic (floppy) disc. Encoded data including all upper and lower case letters plus all numerals and miscellaneous punctuation for each typeface in which it is directed to photocompose must be encoded and stored. While it is possible to electronically or photographically adjust proportionally from one point size to the next size or even the next two sizes without significant loss of resolution and artistic effect, it is not possible to electronically or optically enlarge or diminish a single letter design proportionally to all of the commonly used commercial point sizes. Thus, it is necessary to draw, encode and store a complete set of letters, numbers and symbols of each typeface style at least three or four times in order to provide optimum esthetic effect in textual matter photocomposed in letter sizes covering the commonly used point sizes 6 pt through 18 pt. A massive amount of storage capacity is thus required which further necessitates the highest possible data compaction consistent with achieving the ultimate purpose of this invention, i.e., maximizing resolution of the final output character design. By use of the disclosed apparatus and method it has been possible to record a complete set of characters in a single typeface style in each of 4 different commercial weights (e.g., 8 pt, 10 pt, 14 pt, 18 pt) in both Roman and italicized form, or Roman and bold, for a total of over 800 separate characters on a single magnetic floppy disc. This degree of compaction allows a photocomposer to maintain a complete library of most commercially available type styles in all point sizes and weights having the highest possible degree of resolution and clarity on a few hundred easily stored discs.
After a disc has been properly encoded with the desired typeface design information, it may be used in the system to produce the signals necessary to control a display such as a CRT or other type character image generator to recreate letter designs sequentially in accordance with a series of text composing instructions in the form of electrical signals formulated in circuit 8 by prior recordation or by "on-line" manual input at a keyboard. More particularly, the blocks of coded signals representative of each letter or symbol identified by successive instructions from circuit 8 are encoded into a form suitable for transmission to an electronic display device 12, such as a CRT, where the signals are used to generate a highly accurate optical image of the original artwork. A lens system 14 projects this image onto a photosensitive film master 16 which is adapted to photographically record the character images in the sequence in which they are formed on the CRT corresponding to the sequence of instructions formulated by instruction circuit 8. The photosensitive film master 16 is mounted for vertical translation on a horizontal bar 18 by pins 19 to permit the master 16 to be positioned to record successive lines of characters while the lens system 14 is horizontally translatable to permit successive characters in each line of print to be recorded. In order to hold film master 16 in a fixed perfectly flat position, the film master is pressed against a focus frame 21 containing an exposure window 21a through which the optical image formed on CRT 12 is projected by lens system 14 onto the photosensitive film master 16. The back side of the film is gently pressed against focus frame 21 by a film clamp bar 23 on which a plurality of spaced flat fingers (not illustrated) are separately mounted to contact and gently urge the back side of film master 16 against the focus frame.
While each and every portion of the system illustrated in FIG. 1 includes advantageous novel features over systems known heretofore, the method and apparatus employed in coding and decoding the extremely compact design data is crucial to the dramatic improvements brought about by the subject system. The specific procedure for achieving this data compaction depends upon the recognition of several unique characteristics of letter and symbol designs which permit the use of novel method steps and novel apparatus for implementing the subject invention as will be more fully understood by considering the following general description.
When generating images of readable symbols such as letters, numbers, and miscellaneous punctuation using digitally stored information, it is possible to obtain virtually any degree of optical resolution desired simply by increasing the amount of stored data per unit area of display up to the resolving limit of the display. If each elemental area on the display is assigned a coordinate position, the coordinate positions of all areas which must be illuminated to form any arbitrary design could be stored in the digital memory and read out in order to generate the control signals necessary to permit the electronic image generator to optically recreate the stored design. Since hundreds of thousands of elemental areas would be required for achieving even low optical resolution with such a system, an extremely large number of coordinate positions would have to be stored in memory. If the cost of memory and the speed at which it operates were unimportant there would be no need to encode the raw design data into a more compact form. However, the immensity of data required to store high resolution design information makes effective data compaction the primary requirement for design of a practical system. It is possible, in part, to achieve significant data compaction because substantially all character designs used in commerical photocomposition consist of spatially arranged, solid sections having substantial width and length. In other words, letter and number designs, to be recognized as such, even when artistically formed in a pleasing typeface design, will almost always employ contoured solid line sections of substantial width compared to the overall character size. Thus, if a letter character is recreated on a display such as a CRT by scanning the CRT in raster fashion made up of a plurality of parallel sweeps, the scanning mechanism, i.e., the electronic beam may be merely turned "on" once upon entering a character boundary with no further control information being required until the beam moves out of a character boundary at which time the beam is turned "off". For example, there are only a maximum of six transitions between light and dark areas in a vertical scan of the letter "E" as illustrated in FIG. 2 wherein the transitions are labeled X.sub.1, X.sub.2 . . . X.sub.6. The letter E design, thus, could be recreated on a raster scanned CRT by storing the coordinate positions of only the transistion points for each sweep and by generating the necessary signals from this stored data for controlling the electron beam during its scan of the CRT screen. In a very high resolution system scanning many hundreds of elemental areas per beam sweep, a substantial reduction in the memory area required for storing character design data could be achieved by storing only the coordinates of the CRT elemental areas or points defining the boundaries of the letter or symbol as it would appear on the CRT screen. If the elemental areas are visualized as a matrix of dots the letter design could be recorded in memory by recording the coordinate position of each of the boundary dots such as illustrated in FIG. 3.
In accordance with the subject invention, coordinate locations of the boundary dots of a stored image is further condensed by storing the coordinates of only a single starting point for each boundary line relative to a given reference followed by a series of binary codes representative of a series of translational movements which, conceptually, will trace out the boundary of the character image defined by the boundary data referred to above. Actual generation of the necessary CRT control signals to recreate the desired image could take place subsequently by reprocessing the stored binary codes to reproduce the coordinate information describing the positions of each and every dot defining the boundary of a letter.
To understand more clearly how the coordinate data can be transformed into translational movement codes and how this process will result in data compaction, consider the matrix of dots such as illustrated in FIG. 4, wherein movement from one dot position to an adjacent dot position can occur in only one of eight distinct directions labeled 1 through 8. It would thus be possible conceptually to trace out the boundary of a character on a matrix of dots, such as illustrated in FIG. 3, by simply encoding a succession of one dot translational movement codes with each successive movement being identified by a stored code representative of one of the eight possible directions illustrated in FIG. 4. In binary code, the number n of storage bits required to identify X different unique codes is determined by the formula: 2.sup.n -X. Accordingly, at least three bits are required to identify uniquely each of the eight possible directions schematically illustrated in FIG. 4, i.e., direction 1=000, direction, 2=001, direction 3=010, direction 4=011, direction 5=100, direction 6=101, direction 7=110 and direction 8=111. An encoding scheme of this type could significantly reduce the total amount of storage area required since only three bits would be required for each boundary dot as compared with the storage of coordinate locations for each boundary dot wherein many more than three bits would be required to uniquely identify each coordinate position in a dot matrix of very high density.
Still further reduction in the required storage area can be achieved by increasing the number of dot positions actually traversed per translational movement code. For example, FIG. 5 discloses a 2 dot translational scheme wherein 16 unique 2 dot translational movements are represented by the lines interconnecting the central dot P with each of the 16 peripheral termination points at which a two dot translational movement could terminate in a display system made up of a matrix of dots. FIG. 6 discloses a 3 dot translational scheme using 24 different translational paths to reach each of the 24 possible peripheral termination points in a dot matrix.
FIG. 7 (sheet 11) demonstrates how increasing the number of dots actually traversed per stored translational code results in a reduction in the total number of bits which must be stored in order to encode a character boundary line using each such scheme. As is evident from FIG. 7, each one dot increase in the number of dots traversed per stored code increases the number of termination end points by eight. Accordingly, the number of binary bits which must be assigned to each code to permit unique identification of all possible termination points is determined by the formula 2.sup.n -8L wherein n equals the number of bits per code and L equals the number of dots traversed per stored code. FIG. 7 demonstrates that increased data compaction can result from continual increases in the number of dots actually traversed for each stored code. However, the logic of this approach breaks down when it is no longer possible to assign only a single traversing path between the beginning position and each terminal point without sacrificing visibly perceptible character design resolution. To explain this more fully, attention is again directed to FIG. 4 wherein it is obvious that, in a 1 dot translational system there can be no loss of resolution by coding the boundary in the form of one dot translational movement codes since any arbitrary translational path from one dot to the next may be followed. When two dot positions are transversed for each stored code, more than one path may be followed in arriving at each of the 16 possible termination points. Compare, for example, the pattern in FIG. 5 with the pattern of paths illustrated in FIG. 8. For an even more dramatic illustration compare the 3 dot schemes illustrated in FIGS. 9 and 10 with the scheme of FIG. 6 wherein it is apparent that there exists more than a single desirable path between the central staring point P and each of the 24 termination points in a 3 dot system. In each of the above examples illustrated in FIGS. 4-6 and 8-10, the termination points for each code translation was assumed to be at the periphery of a square matrix of dots having 2n+1 rows and 2n+1 columns wherein n is the number of dots traversed by each translation path. As the number of dots traversed for each stored code increases, the resolving capacity of the system increasingly degenerates. This results in a system where the termination points are constrained to the periphery of the (2n +1) by (2n+1) matrix because the total number of possibly necessary paths between the starting point and each of the termination points increases as the matrix size increases. Elimination of some of the possible paths may not be particularly detrimental in a system wherein the character generation has a very high dot density in the output display and wherein the character images stored do not have boundary lines with exceptionally sharp radii of curvature. In systems of this type, no exceptionally abrupt changes in direction would occur within a relatively small section of the total display area. With stored characters of the type normally employed in photocomposition, it has been found that a 3 dot translational scheme such as illustrated in FIGS. 6, 9 and 10 is well suited for producing standard photocomposition characters. The FIG. 6 scheme, in fact, has been found imperically to be superior in producing the best possible resolution, as compared with the schemes of FIGS. 9 and 10. Four or five dot translational systems may also be employed although some sacrifice of image resolution must be accepted in such systems in order to achieve the data compaction disclosed in FIG. 7. The use of codes indicating a translational movement greater than 5 would not generally yield an acceptable level of image resolution since too many possible paths would be eliminated thereby causing significant degeneration in the optical resolution of the character image.
An extremely important and crucial refinement of the subject invention derives from the additional conceptual recognition that multi-dot translational movements along the boundary of virtually all standard photocomposition characters need not involve a turn greater than ninety degrees relative to the direction of the previous move when then dot density per letter is very high, e.g., greater than 1000 dots per linear inch at copy size, and the number of dots traversed per stored code is relatively low, e.g., less than 5. Under such circumstances, the translational code system illustrated in FIG. 11 may be employed. In this notational system the translational path identified by each successive code will depend upon the path defined by the previous code. Arrows D.sub.0 through D.sub.7 represent the eight possible directions in which a one dot translational movement may take place. When a previous translational movement (whether a single dot or multi-dot) has occurred in approximately one of the directions represented by arrows D.sub.0 through D.sub.7, the probability is quite high that the next translational movement necessary to remain on the character boundary will take place generally in the same direction. As the density of the dots on the display screen increases, the number of dots defining the boundary also increases thereby increasing the probability that each successive move necessary to define the boundary of a character will take place in the same general direction as the previous move. If a 3 dot translational system is used such as described in FIG. 6 in which 24 different and unique paths are possible for each move, it can be safely assumed for example, that a translation path defined in FIG. 6 by numbers 4, 5 or 6 would never be followed by a translation along the paths numbered 16, 17 or 18.
The FIG. 11 system adopts the same set of translational paths as described in FIG. 6 but only a limited number (subset) of the total of 24 paths may be identified by each successively stored translational code. The composition of the subset will vary dependent upon the direction generally indicated by the previously stored code. For example, if a series of translational codes describing a character boundary were stored in memory and the first such code identified a direction of movement indicated by arrow D.sub.5, the subset of translational paths from which the next translational path could be chosen would be one of the translational paths illustrated in FIG. 11 within the section marked "Path Set T.sub.5." If the second translational code in the series were the number one, the translational path identified would be the path terminating at the number 1 in path set T.sub.5. This path corresponds to path 10 in FIG. 6. Alternatively, the second translational code following the first code could be identified by an encoded 4 or an encoded 7 representative of paths 4 and 7, respectively, in path set T.sub.5 (corresponding to paths 7 and 4, respectively, in FIG. 6). Each translational movement along paths 1, 2 or 3 in path set T.sub.5 will generally result in movement in the direction of arrow D.sub.4, and would cause the next translational path to be selected from path set T.sub.4. As an example, the third code could identify path 1 in path set T.sub.4 which would correspond to translational path 13 in FIG. 6 and simultaneously constrain the next possible translational movement to one of the paths identified in path set T.sub.3 since path 1 in this set is directed generally in the direction indicated by arrow D.sub.3. Similarly, if the second code were a 5, 6 or 7 indicating generally a direction represented by arrow D.sub.6, the third stored code would represent a path selected from path set T.sub.6 illustrated in Fig. 11.
The purpose of this rather involved system is to reduce the total number of unique codes required to describe accurately the boundary of a symbol or character by identifying successively one out of a rather large number of unique multi-dot translational paths wherein the number of unique codes actually needed is significantly less than the total number of possible paths which may be followed. As indicated in FIG. 7 a scheme of describing character boundaries involving three dot translations, such as illustrated in FIG. 6, would require a 5 bit binary code in order to uniquely identify each successive movement around the boundary if no constraint is placed on the sequence in which these paths may be followed. By employing the system described in FIG. 11, the number of possible paths which can be identified following a previous translational movement is limited to the 7 next most likely moves. Thus, if the last movement was in the direction of arrow D.sub.7, the next most likely move will be one of the 7 paths illustrated in path set T.sub.7. These paths are identified by numbers 1-7 which are the same numbers used to identify different paths in the remaining path sets. In the binary number system, a three bit binary number will define up to 8 unique numbers and thus a 3 bit binary code would be sufficient to implement an encloding scheme such as illustrated in FIG. 11 as compared with the encoding scheme of FIG. 6 wherein a 5 bit code is required to identify the 24 possible 3 dot translational movements which are permitted. The constraints and limitations imposed by the scheme of FIG. 11 are not detrimental to the specific purpose to which the subject invention is directed (which is to recreate ultra high resolution character images for photocomposition from digitally stored binary dots). Ultra high resolution is maintained because the boundaries of standard characters, when encoded in successive steps on a high density dot matrix do not often require the encoding of a sharp turn. Therefore, the successive directional movements along the character boundary may be limited to variable subsets of the total number of movements necessary to move around the entire boundary.
FIG. 12 is a schematic illustration of how the scheme of FIG. 11 might be employed to encode the boundary line of a character using a succession of three bit codes defining, respectively, one of the 24 3-dot translational movements illustrated in FIG. 6. The series of circles drawn with solid lines correspond to those dots in a matrix of dots which would most nearly define the boundary line of a character. Obviously in a high resolution system the density of dots per lineal unit would be significantly greater (i.e. over 1000 dots per inch) but the procedure followed would be analogous to that described below. The process begins by recording the coordinate position of the lowest left hand boundary dot. By so selecting the starting point and arbitrarily choosing to proceed in the clockwise direction, it is obvious that the first three dot translation of any character boundary would take place generally upwardly and thus path set T.sub.5 of FIG. 11 will be used to identify the first translational movement shown within bracket A in FIG. 12. Since this movement takes place straight upwardly to point P.sub.1, the first stored three bit code should be a binary 4 (100) to identify path 4 in path set T.sub.5 as was the first translational movement. The second movement, indicated by bracket B, is most nearly followed by path 5 of path set T.sub.5 even though the path follows a route through circle 20, shown in dashed lines, instead of circle 22. The third code would thus be a binary 5 (101). Since path 5 of path set T.sub.5 follows generally the direction represented by arrow D.sub.6, the next three bit code will identify one of the paths defined by path set T.sub.6 of FIG. 11. Within path set T.sub.6 path 6 corresponds to the movement C followed in moving from point P.sub.2 to point P.sub.3 of FIG. 12. Thus, the third 3 bit code should be a binary 6 (110).
Reference is now made to FIG. 13 wherein the successive binary codes used to describe each of the successive translational movements A through N necessary to move around the boundary of FIG. 12 are listed. The path set from which each designated path is selected and the resulting directional movement are also listed. With the exception of dashed circles 20, 24 and 26, the composite translational path 28 (consisting of movements A through N) intersects each of the circles defining the boundary line of FIG. 12. In a very high density matrix, slight deviations from the true boundary such as represented by dashed circles 20, 24 and 26 will not be visibly perceptible. It must be noted here that the choice of the pattern of movements illustrated in FIG. 6 (as opposed to FIGS. 9 and 10) was not arbitrary. For reasons that are not totally understood, the path set of FIG. 6 has been found, empirically to produce better results than other possible path sets. In particular, one of the path sets which was tried caused the encoded boundary to "hunt" back and forth across the true boundary resulting in a jagged edge. As FIG. 12 aptly shows dots 20, 24 and 26 are off the true boundary on the same side rather than on opposite sides.
To give the scheme of FIG. 11 a greater degree of flexibility a special meaning is assigned to the one remaining 3 bit binary (000) code which is not employed to identify the heavy solid line paths illustrated in FIG. 11. When this code appears no translational movement is indicated, rather, the next three bit code is assigned a special meaning indicative, generally, of translational movements which are less frequently required to sweep out a boundary line. These specialized movements are illustrated in path sets T.sub.1, T.sub.3, T.sub.5 and T.sub.7 by thin lines identified as 0+1, 0+2, 0+3, 0+5, 0+6 and 0+7. Since these movements represent sharp turns, they are used much less often than are the paths numbered 1 through 7. Use of 6 bits to store each code representing these translational paths does not materially increase the total number of bits used to store a series of codes representing a boundary line since such 6 bit codes are not frequently needed. In the example of FIG. 12, the specialized zero code was only needed twice (for movements G and N). While the 6 bit codes increase slightly the amount of data which must be stored to describe an image boundary, a special straight ahead command of up to 54 dots can be employed to offset the increased storage required by the 6 bit codes. This special straight ahead code includes a three bit binary zero (000) code followed by a three bit binary 4 (100) which is used to indicate a straight ahead movement of 9 dots plus an additional movement of 3 times the number represented by the next 3 bit code. For example, the following sequence of codes (000, 100, 111 equivalent to 9, 4, 7 in base 10) would indicate a straight ahead displacement of (9+3.times.7) dots or 30 dots. By yet another refinement, the scheme of FIG. 11 may be designed to respond to a specialized zero command to move still further along a straight line by the following sequence of 3 bit binary codes: (000, 100, 000, 100, 111) equivalent to (0, 4,0,4, 7 in base 10) which would command a displacement of 33 dots plus 3 times the next number, that is 33+3.times.7 for a total of 54 dots. Since only 15 bits are used to indicate a translational movement of 54 dots, it is apparent that a significant reduction in the number of storage bits per straight line translation of boundary dots can be achieved. Since straight line displacements in excess of 9 dots usually occurs more frequently than the thin line sharp turns indicated in FIG. 11, the use of specialized zero commands can result in a further reduction in the total number of bits used to describe the boundary of a character in a dot matrix.
The above described technique for encoding the boundary of a character requires a completely novel method and apparatus for implementing the technique in a practical photocomposition system schematically illustrated in FIG. 1 and described in greater detail hereinbelow.
MASTER DISC ENCODING SYSTEM
As noted above, the subject photocomposition system employs magnetic disc storage media for recording character design data in an extremely compact format and includes virtually all of the visibly perceptible design information contained in the original character design. FIG. 14 schematically illustrates the system employed to initially convert the character design artwork into raw digital data including an optical scanner 30 for scanning the original character artwork 32 (including a transparent character image on an opaque background) and for converting the optical image into a stream of digital pulses supplied to an output line 34. The operation of the optical scanner will be described in greater detail hereinbelow. Controlling the operation of the optical scanner 30 is a microprocessor 36 adapted to receive operator commands from a keyboard and display 38 and to forward these commands to the optical scanner over lines 40 and 41 to control its operation. A linear array logic circuit 42 is arranged to receive the serial stream of pulses supplied over line 34 and convert this digital information into 8 bit bytes of data which the microprocessor 36 is capable of manipulating and transmitting to a conventional magnetic disc 44. The disc 44 is controlled by a conventional microprocessor based controller 46 such as sold by Intel Corporation identified as 8271 Floppy Disc Controller Chip. The 8 bit bytes of character data information is received from the microprocessor 36 over data bus 48. The main scanner microprocessor 36 communicates with the disc controller 46 over control line 50. The controller 46, in turn, supplies control signals to the disc drive 51 over line 52 while simultaneously supplying the data signals in serial form to the magnetic disc 44 over data signal line 54. Manual operation of the scanner system is accomplished by means of keyboard and display 38 communicating with the microprocessor 36 through lines 56 and 58 for handling 8 bit data bytes and control signals, respectively.
Referring now in more detail to the optical scanner 30, illustrated partially in perspective view in FIG. 14, control signals are received from the microprocessor 36 over line 40 to set the condition of the outputs from an 8 bit latch 60. The output signals are sent via lines 62 and amplifiers 64 to control stepper motor 66 which in turn controls the position of a horizontally translatable frame 68 through a rack and pinion drive 70 schematically illustrated in dashed lines. The original artwork design 32 photographically recorded in negative form on transparency film 72 is mounted by means of pins 74 and spring clips 76. A light source 78 is arranged to project a beam of light through the transparency film 72 to illuminate image 32 contained thereon as the frame 68 is stepped through each of 2048 different horizontal positions in which the frame may be placed. An upper lens 80 is arranged on the opposite side of the film 72 from light source 78 in order to project one portion of the shadow image of design 32 onto an upper linear array of photodetectors 82 and lower lens 84 is arranged to project the lower portion of the shadow image of design 32 onto a lower linear array of photodetectors 86. Each photodetector array may be the monolithic self scanning type such as sold by Reticon Corporation, Sunnyvale, California under the name RETICON G SERIES. The upper array consists of 512 photo diodes while the lower array includes 1024 photo diodes. Upon receipt of the appropriate control signals from linear array logic circuit 42 over control line 88, the condition of each photo diode contained in linear arrays 82 and 86 are serially scanned to produce a stream of output bits on line 34 to indicate whether or not the respective photo diodes are illuminated. The stream of serial bits is therefore in the form of a series of binary pulses having an amplitude indicative of whether the corresponding photo diodes are illuminated or not-illuminated. Microprocessor 36 in the scanner system of FIG. 1 is programmed to cause each of the photo diodes in linear arrays 82 and 86 to be interrogated once in series for each advancement step of frame 68 caused by stepper motor 66.
To set up the scanner 30 for scanning artwork, the intensity of light 78 is first adjusted by means of light intensity control 90 by scanning a standardized grid, FIG. 15, over a predetermined number of horizontal positions. If the number of dark areas detected by the photodiodes falls within a predetermined range, no light adjustment is required. However, if too many dark areas are detected, the ight intensity control 90 is adjusted to increase the illumination produced by light source 78. If an insufficient number of dark areas are detected, the light intensity control 90 is adjusted to reduce the amount of illumination produced by light source 78. FIG. 15 discloses one form of standardized grid 92 which may be used consisting of a film transparency having horizontally oriented transparent lines 94 when the standardized grid 92 is mounted on the translatable frame 68. Apertures 96 contained in the grid 92 are positioned to receive pins 74 and thereby positioning the grid properly for the light source intensity test. During this test, stepper motor 66 is advanced over only a limited number of horizontal positions A of carriage 68 so that the area of grid 66 actually scanned by linear arrays 82 and 86 can be controlled and predicted. The number of dark areas actually sensed by the photodetectors of arrays 82 and 86 are compared by microprocessor 36 with upper and lower acceptable limits and appropriate instructions are thereafter sent for display to the keyboard and display 38 if either an increase or decrease in the light source intensity is required. The tests can be repeated until the light source intensity has been adjusted in order to cause the number of detected light and dark areas to fall within an acceptable range. Of course, the microprocessor 36 could be programmed to automatically adjust the light intensity control 90 to cause light source 78 to produce an appropriately intense light for scanning images mounted on frame 68. Moreover, the standardized grid 92 may take a variety of shapes or forms although the design disclosed in FIG. 15 consisting of horizontal lines 94 has been found to be quite satisfactory.
As will be described hereinbelow, high quality photocomposition of character designs such as alphabet letters and numerical symbols requires not only extremely accurate resolution and reproduction of character design but also extremely accurate positioning and spacing of such character designs in word and sentence forming sequences so as not only to optimize readability but also to satisfy criteria relating to the artistic effect desired by the photocomposer. Thus, before each letter design may be scanned, a reference position for the design must be established and is normally chosen to coincide with the left reference line and basic line normally used by typeface designers. These lines correspond to the left hand boundary of the imaginary square establishing the set width of the letter and the base line defining the lower boundary of an upper case letter, respectively. In the subject system, this reference position is established by scanning a positional reference grid recorded on film transparency 98, illustrated in FIG. 16, upon which has been recorded a base line 100 arranged horizontally when the transparency is mounted on pins 74 of frame 68 by means of apertures 102 contained in the transparency 98. A left hand reference line 104 is also positioned on transparency 98 perpendicular to base line 100. Before any single letter design is scanned, reference grid film transparency 98 is placed on frame 68 to permit the scanner system to record the position of the base line 100 and reference line 104 as recorded on transparency 98 relative to the lower most photodiode position and the left most starting position of the frame 68, respectively. Thereafter, the transparency 98 is removed from the frame so as to permit a letter design or designs to be scanned as desired.
Naturally, the width and height of all letter designs will not be so great as to require use of the entire width and height scanning capability of optical scanner 30. Accordingly, a blocking mask transparency 106, illustrated in FIG. 17, may be mounted on pins 74 of frame 68 by means of apertures 108 to permit digital recording of a left boundary 109 and a right boundary 110 between which scanning will occur; thus, enabling the stepper motor 66 to initially advance frame 68 to the left boundary position defined by left boundary line 109 before commencing the optical scanning of a selected design known to reside between the left and right boundaries 109 and 110, respectively. Obviously, the use of a transparency such as illustrated in FIG. 17 will greatly reduce the time required for digitally recording the design information contained in a series of designs which occupy a field of view significantly less than the total field of view defined by the optical and mechanical portions of the subject optical scanner 30.
The optical scanner 30 may be further provided with a scan position indicator 112 (FIGS. 14 and 17) physically mounted to a fixed position relative to the optical axis defined by lens 80 and 84. The indicator 112 is positioned to cooperate with a position scale 114 recorded at the top of blocking mask transparency 106. Apertures 108 contained in transparency 106 are positioned to receive pins 74 thereby positioning the scale 114 and the boundaries 109, 110, in a predetermined location relative to the frame 68. Thus, a group of character designs known to occupy only a selected field of view relative to a predetermined base line and left hand reference lines may be more quickly scanned by the provision of a masking transparency as illustrated in FIG. 17 by positioning the left and right boundaries 109, 110 so as to define a desired field of scan. Moreover, should the operator determine that any one particular character design need only be scanned over a portion of the field defined by boundaries 109 and 110, the scan position indicator 112 may be employed in cooperation with the scale 114 to permit manual control, through keyboard and display 38, over which stepper motor 66 moves during the scanning procedure.
FIG. 18 discloses a typical character image 116 recorded on a transparency 118 in a predetermined location relative to apertures 120 arranged to receive positioning pins 74 of frame 68. By separating the character image 116 from the base and left hand reference lines contained on transparency 98, FIG. 16, the character image itself may extend below the base line or to the left of the left hand reference line as is desirable with certain types of letter designs including what is termed in the printing trade as a "descender" which is that portion of a letter design extending below the base line of a line of printed characters. For example, the lower portion of a lower case "g" or "y" which extends below a line of print is considered a "descender." The recordation of the position of the base and left hand reference lines by scanning a reference line transparency (FIG. 16) separate from the transparency containing the letter or character design (FIG. 18) allows the letter form to fall below the base line or extend to the left of the left hand reference line without thereby requiring the microprocessor 36 to distinguish between that portion of the shadow image representative of the base and left hand reference lines. At the same time, provision of a positional reference grid film transparency such as transparency 98 (FIG. 16) permits the base line and left hand reference lines to coincide with corresponding lines traditionally used by typeface design artists in preparing original artwork. Moreover, a reference grid transparency 98 such as illustrated in FIG. 16 further permits highly accurate positional recordation of character images which are substantially unaffected by changes in temperature and mechanical wear associated with the translation of frame 68 by stepper motor 66. If the reference grid transparency 98 were not employed periodically to redefine the correct position of the left hand and base reference lines, such information would have to either be contained on each transparency containing a character design to be scanned or would have to be permanently stored. Placement of such lines on the character design image transparency would lead to the disadvantages discussed above relating to the confusion caused by the character design actually coming in contact with or crossing over one of the reference lines. On the other hand, if the reference line positions were permanently stored, no provision could be made for variations caused by temperature changes or gradual wear of the mechanical parts connecting the stepper motor 66 to the reference frame 68.
As noted above, the output from photodetector arrays 82 and 86 is provided to the linear array logic circuit 42 over line 34 in serial pulse from wherein each pulse is amplitude detected to form a series of digital pulses indicating binary ones and zeros corresponding to the illuminated or non-illuminated condition of corresponding photodiodes of arrays 82 and 86. FIG. 19 discloses a series of parallel converters for converting the series form of digital pulses resulting from each scan of the photo arrays into parallel 8 bit bytes suitable for processing by the microprocessor 36. More particularly, the circuit of FIG. 19 which forms part of logic circuit 42 is designed to convert the serial digital pulses received on an input line 122 into 8 bit bytes of scan data provided on output lines 124 connected with microprocessor 36. In particular, FIG. 19 discloses a pair of 4 bit shift registers 126, 128 designed to shift through the data received on line 122 upon receipt of clock signals on clock line 130. Since the same clock signals are provided to the photodetector arrays, the digital data received by registers 126 and 128 are syncronized with the receipt of data pulses on input line 122. FIG. 19 also discloses a pair of shift registers 132 and 134 connected in parallel by lines 136 with registers 126 and 128, respectively, to read out the contents of registers 126 and 128 once for each 8 clock pulses supplied on line 130. Operation of registers 132 and 134 is controlled by a pulsed signal having a frequency equal to the clock rate divided by 8 supplied over line 138. Upon receipt of a pulse over line 138, registers 132 and 134 transfer in parallel the contents in registers 126 and 128 to output lines 124 through amplifiers 140 for transmission to microprocessor 36 of FIG. 14. This microprocessor is programmed to accept the 8 bit bytes of scan data for each vertical scan of a character image received from optical scanner 30, and to determine from this data the coordinate position of each transsition from light to dark in each series of 8 bit scan data bytes representative of a vertical image scan. In the preferred embodiment the pulse data received by microprocessor 36 for each vertical scan of an image is reduced to a series of pairs of 8 bit bytes of binary pulses representing hexadecimal numbers describing the the start of each vertical scan followed by hexidecimal representation of the transition between light and dark areas as determined by transistions in the pulse data from ones to zeros and back again. The total number of pulses received from the linear photodiode arrays 82 and 86 for each scan is 1536. To uniquely identify the position of each photodetector, a hexidecimal number having a least three place significance would be required. In binary format, a 3 place hexidecimal number would require 12 bits per 3 place hexidecimal number but since the commercially available microprocessors operate in 8 bit bytes, a pair of such bytes is required to uniquely identify the position of all photodiodes in arrays 82 and 86. FIG. 20 illustrates a typical example of the format of data prepared by microprocessor 36 in response to the pulse scan data received from optical scanner 30. In column 1, are listed successive pairs of 8 bit data bytes representative of the beginning of a vertical scan followed by identification of those photodiodes in arrays 82 and 86 at which transistors between light and dark takes place. These transistors would, of course, represent the boundary points of a character image which points are actually intersected during each vertical scan of the character image. Referring again to FIG. 14, a character image 32 may be vertically scanned once for each horizontal step of frame 68 across the entire width of the character image 32. In this way, microprocessor 36 would be in a position to determine the coordinate position of each boundary point by obtaining the horizontal position of frame 68 upon detection of the first transition from light to dark followed by determining the vertical position of transitions between light and dark for each successive vertical scan of the image.
The transition coordinate data is fed by microprocessor 36 to the magnetic disc recorder 46 where it is recorded on a magnetic disc 44 as a series of binary bits having the form shown in column 1 of FIG. 20. Microprocessor 36 is also designed to forward signals indicative of the position of frame 68 at which image data is first detected in the scan of the character image. Operator inserted data identifying the character image is also received from keyboard and display 10 by the microprocessor 36 which forwards the information for recording on disc 44. Programs capable of operating the microprocessor 36 and microprocessor based controller 46 are listed in Appendices A and B, respectively.
Since the data supplied to disc 44 is in a fairly raw uncondensed form, only a few letters may be recorded on any one disc. It is the purpose of the encoding system illustrated in FIG. 21 to take the raw data from a series of discs such as disc 44 and to encode this data in accordance with the principles described with reference to the scheme of FIG. 11 by which the binary representation of the coordinate positions in hexadecimal format of all boundary points for a character image is transposed into a series of 3 bit codes representative of successive 3 dot translational movements along the boundary of the character image.
More particularly with regard to FIG. 21, the encoding system includes a disc drive 142 for receiving a disc 44 from the scanner system of FIG. 14 whereby data comprising hexadecimal coordinate data for the boundary points of one or more character images may be transferred to a random access memory 144 by means of a microprocessor 146 operating through a variable length sector controller 148, the precise organization and function of which will be described in greater detail hereinbelow with reference to FIG. 29. Also included in the encoding system illustrated in FIG. 21 is a second disc drive 150 for driving a magnetic floppy disc 152 on which the final encoded data representative of the letters and images in one or more alphabets may be recorded to form a master disc adapted to be repeatedly used composing text material as will also be described below. A program capable of operating the system of FIG. 21 in accordance with the encoding scheme of FIG. 11 is reproduced in Appendix C. Before encoding of the data actually takes place, the microprocessor 146 is programmed to perform a cleaning routine wherein data recorded on disc 44 which is obviously representative of spurious signals as opposed to actual boundary point coordinates are removed from the recorded information before encoding takes place. For example, if a coordinate position is recorded indicating transition |