Character generating method and system
AssigneeRockwell International Corporation
InventorsGregory W. Evans, Robert L. Caswell
Life of this patent
Estimating the term…
Abstract
A digital character generator method and system encode characters based on a normalized quad in accordance with coordinates of initial starting points of outlines of the character and variational parameters defining changes in those outlines such as slope and curvature. All characters of all formats are encoded for a maximum point size display. Vertical scaling factors permit character generation at any desired point size display. Horizontal scaling factors are employed both for transforming computations based on the encoded parameters for the normalized quad to a desired point size of display and also to adapt cyclic computations to the stroking density of a display CRT.
Claims47
A character generator for generating characters encoded in accordance with a normalized quad of X Y coordinates wherein each successive X coordinate value corresponds to a computation cycle, each character being encoded in a succession of data instructions related to outlines of the character segments and including a beginning line instruction identifying the initial Y coordinate of each of a related pair of outlines, outline change instructions specifying variously fixed and variable directions of outline, and termination of an outline pair, and an instruction designating the end of a character, each change instruction including an identification of the outline to which it relates, and a number designating the computation cycles to a subsequent instruction,
- means responsive to a beginning line instruction to identify an initial pair of outlines and to store in relation thereto their respective Y coordinates,
- means responsive to a change instruction for a related outline, as identified and stored, for computing, in each successive computation cycle, a new Y coordinate value for each identified outline in accordance with its associated change instruction, said means maintaining a stored Y coordinate value for an outline for which there is no change instruction,
- means for updating the Y coordinate values in said storing means in accordance with the computed new value thereof, as computed in each computation cycle, and
- means responsive to the encoded computation cycle number of each successive change instruction to request and receive the next successive instruction for the character upon completion of the encoded number of computation cycles of a present instruction.
A method for automatically generating characters with respect to a normalized encoding quad of X-Y coordinates having predetermined Y coordinate values wherein for at least one parameter of directional variations of a line within the quad, there are selected a plurality of fixed values of the parameter variations, the fixed values respectively relating to Y coordinate increments to successive X coordinate positions and wherein a first and each successive X coordinate position defines a computation cycle, each character capable of being generated being encoded in an instruction set in accordance with
- storing the initial Y coordinates of the outlines of each pair of outlines of a character as an instruction identifying the beginning of the outline pair,
- storing, in relation to each outline having a directional variation, the corresponding parameter value as a parameter change instruction,
- determining the number of X coordinate positions from the first and each successive parameter change instruction to the respectively next successive instruction, and storing the determined number as a number of computation cycles in associated with the first of each two said successive instructions,
- storing an end of character instruction, and
- storing the termination of an outline pair intermediate the beginning and end of a character as an end of outline pair instruction, and the generating method comprising:
- providing a set of instructions in accordance with the aforesaid encoding of a character to be generated, for each character available to be generated,
- identifying a desired character to be generated and selecting, in succession, the instructions of the corresponding said set thereof for processing, in accordance with
- responding to each begin outline pair instruction corresponding to outline pairs initiating with the first X coordinate position of the character to identify and store the Y coordinate and thereby establish a starting point for each such outline relative to the quad, and
- in each successive computation cycle, computing the Y coordinate position of each outline in accordance with the stored value thereof and any encoded parameter change instructions for the outline and storing said computed Y coordinate values, and
- storing the number of computation cycles from a first instruction encoded therewith and reducing that number by a predetermined amount upon completion of computations in each of successive computation cycles and, in response to said number being reduced to a predetermined value, selecting the next successive instruction of said set for said character.
A method for automatically generating characters encoded in a normalized quad of predetermined X and Y coordinate values wherein successive X coordinates define successive computation cycles and wherein each outline is encoded in a begin outline pair instruction for each outline thereof as to its initial Y coordinates, in a parameter change instruction as to at least a first parameter of directional variations comprising one of a plurality of fixed values of the first parameter, each said fixed value defining a Y coordinate increment;
- an end of outline pair instruction for the outlines of a pair terminating intermediate the beginning and end of a character;
- each foregoing instruction furthermore being encoded with an outline number identifying the outline to which it relates;
- and an end of character instruction for terminating all outlines of the character;
- each instruction excepting the begin outline pair instruction and the end of character instruction furthermore being encoded with the number of computation cycles corresponding to the number of X positions to the next encoded instruction for the character, comprising:
- providing a set of instructions in accordance with the aforesaid encoding of a character to be generated for each character available to be generated,
- identifying a desired character to be generated and selecting, in succession, the instructions of the corresponding said set thereof for processing, in accordance with,
- in a first computation cycle, responding to each begin outline pair instruction corresponding to an outline pair initiating at an initial X coordinate position of the character to establish an initial Y coordinate value for each such outline relative to the quad,
- in each successive computation cycle, generating the Y coordinate value of each outline in accordance with its Y coordinate value generated in the respectively next preceding computation cycle and any current instruction as to that outline, to define the Y coordinate value for the corresponding X coordinate position in relation to the quad, including
- for each outline having a parameter change instruction, computing a new y coordinate value in accordance with modifying the initial value by the amount of the increment identified by the parameter value encoded in the instruction, and
- terminating the computation of Y coordinate values for each outline pair identified by an end of outline pair instruction, and
- storing the number of computation cycles from a first instruction encoded therewith and reducing that number by a predetermined amount upon completion of generating the Y coordinate values of each outline in each of successive computation cycles and, in response to said number being reduced to a predetermined value, selecting the next successive instruction of said set for said character,
- terminating the computation of Y coordinate values for all outlines for a given character in response to an end of character instruction.
A method for automatically generating and displaying characters encoded in a normalized quad of predetermined X and Y coordinate values wherein successive X coordinates define successive computation cycles and wherein each outline is encoded in a begin outline pair instruction for each outline thereof as to its initial Y coordinates, in a parameter change instruction as to at least a first parameter of directional variations comprising one of a plurality of fixed values of the first parameter, each said fixed value defining a Y coordinate increment;
- an end of outline pair instruction for the outlines of a pair of terminating intermediate the beginning and end of a character;
- each foregoing instruction furthermore being encoded with an outline number identifying the outline to which it relates;
- and an end of character instruction for terminating all outlines of the character;
- each instruction excepting the begin outline pair instruction and the end of character instruction furthermore being encoded with a number of computation cycles corresponding to the number of X positions to the next encoded instruction for the character, comprising:
- generating characters in accordance with:
- providing a set of instructions in accordance with the aforesaid encoding of a character to be generated, for each character available to be generated,
- identifying a desired character to be generated and selecting, in succession, the instructions of the corresponding said set thereof for processing, in accordance with,
- in a first computation cycle, responding to each begin outline pair instruction corresponding to an outline pair initiating at an initial X coordinate position to establish initial Y coordinates for each such outline relative to the quad,
- in each successive computation cycle, generating the Y coordinate value of each outline in accordance with its Y coordinate value generated in the respectively next preceding computation cycle and any current instruction as to that outline, to define the Y coordinate value for the corresponding X coordinate position in relation to the quad, including
- for each outline having a parameter change instruction, computing a new Y coordinate value in accordance with modifying the initial value by the amount of the increment identified by the parameter value encoded in the instruction, and
- terminating the computation of Y coordinate values for each outline pair identified by an end of outline pair instruction, and
- storing the number of computation cycles from a first instruction encoded therewith and reducing that number by a predetermined amount upon completion of computations in each successive computation cycles and, in response to said number being reduced to a predetermined value, selecting the next successive instruction of said set for said character,
- terminating the computation of Y coordinate values, for all outlines of a given character in response to an end of character instruction, and
- displaying characters thus generated on a display means including means for effectively horizontally displaced vertical strokes on a display element in accordance with a desired stroking density and wherein the scanning means may be selectively controlled to blank and unblank each stroke on the display element, in accordance with:
- correlating the size of the display character in the X coordinate direction, in accordance with the effective displacement of successive X positions of the quad, to the stroke density of the display means to define a first component value of a horizontal scaling factor thereby to control character size in the X coordinate direction by control of stroke density on said display means, in the character generation operation, and
- controlling the unblanking and blanking of the scanning beam during each stroke in accordance with the computed Y coordinate values for the cycle correlated with the stroke.
A method of automatically generating characters with respect to a normalized encoding quad of X-Y coordinates having predetermined Y coordinate values wherein each character capable of being generated is encoded in accordance with
- selecting and designating a plurality of slopes, each slope having a value defined as a corresponding, fixed increment of the Y coordinate for a unit change in the X coordinate,
- selecting and designating a plurality of slopes, each slope having a value defined as a corresponding, fixed increment of the Y coordinate for a unit change in the X coordinate,
- selecting and designating a plurality of curvatures, each curvature having a succession of incrementally changing values of slopes, with each incrementally changed slope having a related predetermined number of changes in Y in accordance with the Y increment for a given slope value,
- relating each of the characters to be encoded to the normalized quad, and, for each character,
- defining and identifying outlines of the character, wherein the outlines are related in pairs, each pair containing therebetween a solid continuous segment of the character,
- storing in a corresponding beginning of line instruction the initial Y coordinate of each outline of the character,
- storing, for each outline having a slope, the outline identification and the corresponding slope designation in a slope change instruction,
- storing, for each outline having a curvature, the outline designation and the corresponding curvature designation in a change curvature instruction,
- storing in at least each instruction subsequent to the beginning of line instruction and prior to the end of a character, the number of X coordinate positions to the next successive instruction for the character as a corresponding number of computation cycles,
- storing an end of character instruction, and
- said method of character generation comprising:
- providing at least one set of instructions, each such set defining a corresponding character to be generated,
- identifying a desired character to be generated and selecting, in succession, the instructions of the corresponding said set thereof for processing in accordance with
- responding to each begin outline pair instruction of said at least one set corresponding to an outline pair initiating with the first X coordinate position of the character to identify and store the initial Y coordinate and establish a starting point for that outline relative to the quad, and
- in each successive computation cycle, determining the Y coordinate value of each outline for the corresponding X coordinate position of the quad in accordance with:
- maintaining the initial Y coordinate value in the absence of a change instruction for the outline;
- computing a new, changed Y coordinate value in response to a change instruction for the outline, and storing said new Y coordinate value, and
- storing the number of computation cycles from a first instruction encoded therewith and reducing that number by a predetermined amount upon completion of computations in each of successive computation cycles and, in response to said number being reduced to a predetermined value, selecting the next successive instruction of said set for said character.
A system for automatically generating characters with respect to a normalized encoding quad of first and second coordinates wherein each character capable of being generated includes at least one outline and the character is encoded as to that outline with respect to a normalized encoding quad to define values of the first coordinate with respect to successive values of the second coordinate and including a beginning of line instruction definining the initial first coordinate value for each outline, a slope change instruction for each outline having a slope, a curvature change instruction for each outline having a curvature, each foregoing instruction identifying the outline to which it relates and designating the number of successive positions of the second coordinate prior to the next successive instruction for the character, an end of outline instruction and an end of character instruction, comprising:
- means defining a computation cycle with respect to each successive position of the second coordinate of the encoding quad,
- means responsive to a begin outline instruction corresponding to an outline initiating at the first position of the second coordinate to identify the initial value of the first coordinate, thereby to establish a starting point for that outline relative to the quad, and
- means operative in each successive computation cycle to determine the value of the second coordinate for each outline with respect to the corresponding position of the first coordinate of the quad, including means for maintaining the said initial value of the second coordinate system in the absence of a change instruction for the outline, and means for computing a new, changed value for the outline in response to a change instruction of the outline.
A system for displaying characters wherein each character to be displayed is encoded in relation to a normalized encoding set of first and second coordinates and wherein a character is defined by at least one outline encoded in a set of instructions defining, for a first value of the second coordinate, a value of the first coordinate corresponding to a point on the outline and at least one value indicative of the extent relative to the second coordinate for which the stored value of the first coordinate corresponds to points on the outline, comprising:
- means for generating the character for display, including means for computing a first coordinate value corresponding to a point on the outline for each successive second coordinate value in accordance with the encoded set of instructions for the character outline.
- display means including a display element and means for scanning the display element in scan paths of a desired pattern controlled to encompass a region of the display element on which the character is to be displayed, and means for controlling said scanning means between a display state for producing a display and a blanked state for producing no display,
- said means for computing including means for correlating the second coordinate values and the computed first coordinate values of the outline with the scan pattern and region of display, and
- said scanning control means controlling said scanning means to switch from one to the other of the display and blanked states when the scanning in each scan path crosses the correlated and computed coordinate values of the outline.
A system for displaying characters wherein each character to be displayed is encoded in relation to a normalized encoding set of first and second coordinates and wherein a character is defined by at least one outline encoded in a set of instructions defining, for a first value of the second coordinate, a value of the first coordinate corresponding to a point on the outline and at least one value indicative of the extent relative to the second coordinate for which the stored value of the first coordinate corresponds to points on the outline, comprising:
- means for generating the character for display, including means for computing a first coordinate value corresponding to a point on the outline for each successive second coordinate value in accordance with the encoded set of instructions for the character outline,
- display means including a display element and means for scanning the display element in scan paths of a desired pattern controlled to encompass a region of the display element on which the character is to be displayed, and means for controlling said scanning means between a display state of producing a display and a blanking state for producing no display,
- said means for computing including means for correlating the second coordinate values and the computed first coordinate values of the outline with the scan pattern and region of display, and
- said scan controlling means controlling the scanning means in each scan path to switch from the current to the opposite one of display and blanked states at each intersection of the scan path and the computed outline, except at tangential intersections thereof.
A character generator for generating characters encoded in accordance with a normalized quad of first and second coordinates wherein each successive value of the first coordinate corresponds to a computation cycle of the generator, each character being encoded in a set of data instructions related to outlines of the character segments and including a beginning line instruction identifying the initial value of the first coordinate of each of a related pair of outlines for a given second coordinate value, outline change instructions specifying, variously, fixed and variable directions of associated outlines and termination of an outline pair, and an instruction designating the end of a character, each change instruction including an identification of the outline to which it relates, and a number designating the computation cycles to a subsequent instruction, comprising:
- means responsive to a beginning line instruction to identify an initial pair of outlines and to store in relation thereto their respective coordinate values of the said first coordinate,
- means responsive to a change instruction for a related outline, as identified and stored, for computing, in each successive computation cycle, a new coordinate value of said first coordinate for each identified outline in accordance with its associated change instruction, and for maintaining a stored value of said first coordinate for an outline for which there is no change instruction,
- means for updating the value of the first coordinate in said storing means in accordance with the computed new value thereof, as computed in each computation cycle, and
- means responsive to the encoded computation cycle number of each successive change instruction to request and receive the next successive instruction for the character upon completion of the encoded number of computation cycles of a present instruction.
Dependencies are inferred from the claim text.