WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Apparatuses and methods for creating and using portable fonted texts with embedded automatically-created font descriptions    

Custom CD of patents similar to US5583978 : Apparatuses and methods for creating and using portable fonted texts with embedded automatically-created font descriptions - $19.95
United States Patent5583978   
Link to this pagehttp://www.wikipatents.com/5583978.html
Inventor(s)Collins; John S. (Boston, MA); Goldwater; Mark H. (Norfolk, MA)
AbstractA computerized system inputs fonted text and outputs corresponding fonted text containing new, automatically created, font descriptions. The new font descriptions make the output a portable document which can be rendered at any magnification by a machine of any output resolution, even if that machine does do not have access to the pre-defined font descriptions associated with the original input text. The system creates the portable document by accessing the pre-defined font descriptions of each character-font shape in the input text and generating new font descriptions which describe those shapes in a new font description language. Preferably the system findspoints on the outlines of each character-font shape which are a function of the shape itself, rather than how its pre-defined description describes that shape. The system bases the segmentation of the new font description on such description-independent points. Once created, the portable document can be rendered on the computer or printer generating it or a computer or printer receiving the document over a network or on mass storage media. In some embodiments, the computer viewing the portable document determines whether can access and render the pre-defined font description of each character in the portable document. If so, it does so. If not, it interprets the shape of the character from its new font description in the portable document.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5583978
Apparatuses and methods for creating and using portable fonted texts

     with embedded automatically-created font descriptions - US Patent 5583978 Drawing
Apparatuses and methods for creating and using portable fonted texts with embedded automatically-created font descriptions
Inventor     Collins; John S. (Boston, MA); Goldwater; Mark H. (Norfolk, MA)
Owner/Assignee     Bitstream Inc. (Cambridge, MA)
Patent assignment
All assignments
Company News
Publication Date     December 10, 1996
Application Number     08/250,372
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     May 27, 1994
US Classification     345/170
Int'l Classification     G06T 005/00
Examiner     Jankus; Almis R.
Assistant Examiner    
Attorney/Law Firm     Porter; Edward W.
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/151 395/150 395/155 395/161 395/141 395/113 395/115 395/116 395/110 395/112 382/198 382/204 382/242 382/259
Patent Tags     apparatuses methods creating portable fonted texts embedded automatically-created font descriptions
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5473709
Aoki
382/258
Dec,1995

[0 after 0 votes]
5355449
Lung
345/467
Oct,1994

[0 after 0 votes]
5309554
Ito
345/170
May,1994

[0 after 0 votes]
5301267
Hassett
345/469
Apr,1994

[0 after 0 votes]
5167016
Bagley

Nov,1992

[0 after 0 votes]
4785391
Apley
345/469
Nov,1988

[0 after 0 votes]
5099435
Collins
345/469
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What we claim is:

1. A computerized method comprising the steps of:

receiving an input text which represents a sequence of characters and which identifies for each character a pre-defined font;

accessing, for each combination of a character and pre-defined font so received, a pre-defined font description which describes a sequence of outline segments which define each of the one or more outlines of the shape of the character in its associated pre-defined font using a given font description language;

generating a new font description from the pre-defined font description of the shape for each received character-font combination, which new font description describes the shape of the combination as a sequence of outline segments according to a new font description language, said step of generating new font descriptions including the steps of:

modeling the character-font shape defined by a given pre-defined font description, including the steps of:

identifying description-independent segmentation points in the one or more outlines represented by the outline segments of the given pre-defined font description, the location of which description-independent points is a function of each such outline's shape, independently of the sequence or segmentation of the outline segments included in the pre-defined font description;

approximating the shape of the outline defined by the pre-defined font description between adjacent description-independent points with new segments bounded at those adjacent description-independent points; and

generating a given one of said new font descriptions in which the sequence of outline segments includes said new segments; and

creating an output text including:

a sequence of characters corresponding to those of the input text;

the new font descriptions created for the characters of the input text, including said given one of said new font description; and

an indication of which of the new font descriptions represents the shape of each character in the output text.

2. A computerized method as in claim 1 wherein:

said step of receiving an input text includes receiving such a text in which the pre-defined font associated with each of the characters in said text is associated with any one of a plurality of font description languages;

said step of accessing pre-defined font descriptions includes accessing pre-defined font descriptions written in any one of said plurality of font description languages; and

said step of generating new font descriptions from the pre-defined font descriptions includes interpreting pre-defined font descriptions from any one of said plurality of font description languages into said new font descriptions.

3. A computerized method as in claim 2 wherein:

said step of generating new font descriptions includes interpreting said pre-defined font descriptions from different font description languages into new font descriptions written in a single new font description language.

4. A computerized method as in claim 1:

further including the step of responding to each different pre-defined font identified in said input text, by creating a corresponding new font;

wherein said step of generating new font descriptions for each pre-defined description of a character-font shape includes associating the new font description created for each such shape with the new font corresponding to the shape's corresponding pre-defined font.

5. A computerized method as in claim 4:

wherein said step of receiving an input text includes receiving an input text in which one or more of the identified pre-defined fonts are pre-defined logical fonts, each of which identifies:

an associated pre-defined physical font which has associated pre-defined physical font descriptions defining the basic shape of each of the pre-defined logical font's characters as a sequence of outline segments; and

a set of pre-defined transformations which specify how to transform the basic character shape specified by the pre-defined physical font for any such character into the pre-defined logical font's shape for the character;

said step of accessing pre-defined font descriptions includes accessing said pre-defined physical font descriptions;

said step of responding to each different pre-defined font identified in the input text includes responding to each different pre-defined logical font identified by creating a corresponding new logical font and by checking to see if a new physical font has already been created for the pre-defined logical font's associated pre-defined physical font, and if not, for creating such a new physical font; and

said step of generating a new font description from the pre-defined description of the shape for each received character-font combination includes performing the following steps when the combination's font is a given pre-defined logical font:

generating a new physical font description describing the sequence of outline segments associated with the basic shape defined by the given pre-defined logical font's associated pre-defined physical font description for the character;

associating said new physical font description with the new physical font created in association with the given pre-defined logical font's associated pre-defined physical font; and

storing a set of transformations corresponding to the predefined transformations identified by the given pre-defined logical font in association with the new logical font created in association with the given pre-defined logical font.

6. A computerized method as in claim 4 wherein:

said step of generating new font descriptions further includes associating, with each new font description associated with a given new font, a character code for identifying the character in the given new font whose shape is described by the new font description:

said character code has a data format which is of sufficient complexity to represent more than two hundred and fifty-six different values, enabling more than two hundred and fifty-six different characters to be associated with each new font; and

said character codes are used in said output text to represent the sequence of characters corresponding to those of the input text.

7. A computerized method as in claim 6 further including the step of writing said output text onto a removable mass storage media which can be removed from the computing system.

8. A computerized method as in claim 6 further including the steps of making said output text available on-line to remote users.

9. Mass storage media created by a process comprising the steps of:

receiving an input text which represents a sequence of characters and which identifies for each character a pre-defined font;

accessing, for each combination of a character and pre-defined font so received, a pre-defined font description which describes a sequence of outline segments which define each of the one or more outlines of the shape of the character in its associated pre-defined font using a given font description language;

generating a new font description from the pre-defined font description of the shape for each received character-font combination, which new font description describes the shape of the combination as a sequence of outline segments according to a new font description language, said step of generating new font descriptions including the steps of:

modeling the character-font shape defined by a given pre-defined font description, which modeling includes the steps of:

identifying description-independent segmentation points in the one or more outlines represented by the outline segments of the given pre-defined font description, the location of which description-independent points is a function of each such outline's shape, independently of the sequence or segmentation of the outline segments included in the pre-defined font description;

approximating the shape of the outline defined by the pre-defined font description between adjacent description-independent points with new segments bounded at those adjacent description-independent points; and

generating a given one of said new font descriptions in which the sequence of outline segments includes said new segment; and

creating an output text including:

a sequence of characters corresponding to those of the input text;

the new font descriptions created for the characters of the input text, including said given one of said new font description; and

an indication of which of the new font descriptions represents the shape of each character in the output text;

transferring said output text onto said mass storage media.

10. Mass storage media as in claim 9 wherein:

said step of receiving an input text includes receiving such a text in which the pre-defined font associated with each of the characters in said text is associated with any one of a plurality of font description languages;

said step of accessing pre-defined font descriptions includes accessing pre-defined font descriptions written in any one of said plurality of font description languages; and

said step of generating new font descriptions from the pre-defined font descriptions includes interpreting said pre-defined font descriptions from said plurality of different font description languages into new font descriptions written in a single new font description language.

11. A computer system comprising:

mechanisms for receiving an input text which represents a sequence of characters and which identifies for each such character a pre-defined font;

mechanisms for accessing, for each combination of a character and pre-defined font so received, a pre-defined font description which represents the sequence of outline segments which define each of the one or more outlines of the shape of the character-font combination:

whereing said mechanisms for generating includes mechanisms for modeling the character-font shape defined by said pre-defined font description, including

mechanisms for identifying description-independent segmentation points in the one or more outlines represented by the outline segments of the pre-defined font description, the location of which description-independent points is determined by each such outline's shape, independently of the sequence or segmentation of the outline segments included in the pre-defined font description;

mechanisms for approximating the shape of the outline defined by the pre-defined font description between adjacent description-independent points with new segments bounded at those adjacent description-independent points; and

wherein said new font description describes the shape of the character-font combination as a sequence of outline segments which includes said new segments derived by said mechanisms for modeling; and

mechanisms for creating an output text including:

a sequence of characters corresponding to those of the input text;

the new font descriptions created for the characters of the input text; and

an indication of which of the new font descriptions represents the shape of each character in the output text.

12. A computer system as in claim 11 wherein said mechanism for identifying description-independent points includes mechanisms for identifying features in the shape of outlines represented by the pre-defined font description and for locating description-independent points in correspondence with such shape features.

13. A computer system as in claim 11 wherein:

said mechanisms for identifying segmentation points include mechanisms for identifying a sufficient number of description-independent segmentation points to enable each of a given character-font shape's outlines to be closely approximated by a sequence of one or more of said new segments, each of which is located between a pair of said description independent points;

said mechanism for approximating the shape of outlines creates one of said new segments between each of said pairs of description-independent points on each of said outlines; and

said mechanism for generating new font descriptions includes mechanisms for generating new font descriptions which describes the character-font shapes as a sequence of said new outline segments.

14. A computing system as in claim 11 further comprising mechanisms for rendering a visual representation of said output text, which mechanisms include:

mechanisms for interpreting the new font description for each character-font combination in the output text to be rendered into a corresponding character-font shape;

mechanisms for identifying the new font description associated with each of a succession of characters represented in the output text; and

mechanisms for rendering the character-font shape described by the new font description identified for each of said succession of characters at a location in said visual representation of text adjacent the location associated with the preceding character in said succession of characters.

15. A computing systems as in claim 14:

which includes a plurality of computers, including a set of one or more first computers and set of one or more second computers;

wherein each of said first computers includes:

said mechanisms for receiving an input text;

said mechanisms for accessing pre-defined font descriptions;

said mechanisms for generating new font descriptions; and

said mechanism for creating an output text;

wherein each of said second computers includes said mechanisms for rendering a visual representation of the output text; and

further comprising mechanisms for transferring the output text produced by one of said first computers to one of said second computers.

16. A computer system as in claim 15 wherein said mechanisms for transferring the output text includes a computer network for enabling data signals representing said output text to be transmitted from one of said first computers to one of said second computers.

17. A computer system as in claim 14 wherein said mechanisms for rendering includes a printing device for producing a printed image of said visual representation.

18. A computer system as in claim 11 wherein:

said mechanisms for receiving an input text includes mechanisms for receiving such a text in which the pre-defined font associated with each of the characters in said text can be associated with any one of a plurality of font description languages;

said mechanisms for accessing pre-defined font descriptions includes mechanisms for accessing pre-defined font descriptions written in any one of said plurality of font description languages; and

said mechanisms for generating new font descriptions from the pre-defined font descriptions includes mechanisms for interpreting said pre-defined font descriptions from said plurality of different font description languages into new font descriptions written in a single new font description language.

19. A computer system comprising:

mechanisms for receiving an input text which includes:

a sequence of characters;

an association between each such character and one of a possible plurality of named fonts, each of which named fonts has associated with it a set of original coded font descriptions which describe the shape of each character in the named font as a sequence of outline segment; and

a machine generated font description for each unique combination of a character and named font in said input text, which machine generated font description has been automatically generated to describe substantially the same shape as the shape defined for the character-named-font combination by the named font's associated original font description, but which describes said shape with a different coding and with a sequence of outline segments the segmentation of which is independent from the segmentation used in the original font description;

mechanisms for rendering a visual representation of said input text including:

mechanisms for identifying the named font associated with each successive character in the input text;

mechanisms for determining whether or not the system can render the named font associated with each such successive character from one of the named font's original font descriptions, that is, whether or not the system has access to the such original font description and has mechanisms for interpreting the original font descriptions into a shape;

mechanisms, operating when said means for determining determines the system can render the named font for such character from its corresponding original font description, for interpreting the original font description for the named font to generate the shape for the character;

mechanisms, operating when said means for determining determines the system cannot render the font named for such character from its corresponding original font description, for interpreting the machine generated font description for such character and its associated named font to generate the shape for the character;

mechanisms for rendering the shape generated for each such successive character in the visual representation at a location adjacent the location associated with the preceding character in the sequence of characters.

20. A computerized method comprising the steps of:

receiving an input text which represents a sequence of characters and which identifies for each character a pre-defined font;

accessing, for each combination of a character and pre-defined font so received, a pre-defined font description which describes a sequence of outline segments which define each of the one or more outlines of the shape of the character in its associated pre-defined font using a given font description language;

responding to each different pre-defined font identified in said input text, by creating a corresponding new font;

generating a new font description from the pre-defined font description of the shape for each received character-font combination, which new font description describes the shape of the combination as a sequence of outline segments according to a new font description language, said generating of new font descriptions including associating the new font description created for each character-font shape with the new font corresponding to the shape's associated pre-defined font;

creating an output text including:

a sequence of characters corresponding to those of the input text;

the new font descriptions created for the characters of the input text, associated with their corresponding new fonts; and

an indication of which of the new font descriptions represents the shape of each character in the output text; and

wherein the number of new font descriptions associated with a given new font in the output text varies as a function of the number of characters in the input text identified with the given new font's corresponding pre-defined font.

21. A computerized method comprising the steps of:

receiving an input text which represents a sequence of characters, which identifies for each character a pre-defined font, and in which the pre-defined fonts associated with different characters in said text are associated with different font description languages;

accessing, for each combination of a character and pre-defined font so received, a pre-defined font description which describes a sequence of outline segments which define each of the one or more outlines of the shape of the character in its associated pre-defined font using that pre-defined font's associated one of said different font description languages;

generating a new font description from the pre-defined font description of the shape for each received character-font combination, all of which new font descriptions describe the shape of their respective character-font combination as a sequence of outline segments described in a common, new font description language;

creating an output text including:

a sequence of characters corresponding to those of the input text;

the new font descriptions created for the characters of the input text; and

an indication of which of the new font descriptions represents the shape of each character in the output text.

22. A computerized method comprising the steps of:

receiving an input text which represents a sequence of characters and which identifies for each character a pre-defined font;

accessing, for each combination of a character and pre-defined font so received, a pre-defined font description which describes a sequence of outline segments which define each of the one or more outlines of the shape of the character in its associated pre-defined font using a given font description language;

generating a new font description from the pre-defined font description of the shape for each received character-font combination, which new font description describes the shape of the combination as a sequence of outline segments according to a new font description language;

creating an output text including:

a sequence of characters corresponding to those of the input text;

the new font descriptions created for the characters of the input text;

an indication of which of the new font descriptions represents the shape of each character in the output text; and

a computer program including instructions for rendering a visual representation of said output text.

23. A computerized method comprising the steps of:

receiving an input text which represents a sequence of characters and which identifies for each character a pre-defined font;

accessing, for each combination of a character and pre-defined font so received, a pre-defined font description that describes a sequence of outline segments which define each of the one or more outlines of the shape of the character in its associated pre-defined font using a given font description language;

generating a new font description from the pre-defined font description of the shape for each received character-font combination, which new font description describes the shape of the combination as a sequence of outline segments according to a new font description language;

creating an output text including:

a sequence of characters corresponding to those of the input text;

the new font descriptions created for the characters of the input text; and

an indication of which of the new font descriptions represents the shape of each character in the output text;

receiving requests over a communications network from one or more remote computing systems for the transmission of different selected portions of said output text; and

responding to each such request by transmitting the following over the network to a remote computing system:

the part of the output text's sequence of characters corresponding to the portion of text selected by the request;

an indication of which of the new font descriptions represents the shape of each character in the selected portion of text; and

a subset of said new font descriptions necessary to describe the character-font shape of the transmitted characters.

24. A computerized method as in claim 23 wherein said step of responding to each request includes:

recording which new font descriptions have previously been sent to a given remote computing system; and

determining whether or not to send a given new font description in response to a request from a given remote computing system as a function of whether or not said recording indicates said given new font description has previously been sent to the given remote computing system.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

The present invention relates to computer font technology, that is, the computer technology of representing and generating the shapes of alphanumeric characters and other images used with text.

BACKGROUND OF THE INVENTION

Since the beginning of the written word, creators of documents have been concerned not only with how their words would sound to the ear if spoken, but also with how they appear to the eye when read. Before the advent of print, calligraphy was a major art form. With print, the art of creating and using fonts has superseded calligraphy in importance.

A font is a set of shapes representing each character in an alphanumeric character set. Usually the shapes of different characters in each font share certain characteristics, such as horizontal and vertical position of certain shape features, the general width of their vertical and horizontal strokes, and whether or not they are serifed, bold, or italic, so that the characters of a given font look appropriate together.

Commonly a font is identified by a basic font name, such as "Courier", "Arial", "Helvetica", or "Times New Roman" which identifies the general shapes of its characters, independent of size. These basic font names are often trademarks owned by the designers of the font. The basic font name is often followed by a point size designation which specifies the size of that font. Sometimes other words are inserted between the basic font name and the point size, such as "bold", which means its strokes are to be thicker; "narrow", which means its entire characters are to be made more narrow; "italic", which means its characters are to be slanted; or "oblique", which is used for sans serifed characters and means its characters are to be slanted.

The ability to vary fonts has many advantages. It lets a user vary the size of his letters to pack text more densely when necessary and to allow text to be more easily read. Using different fonts also has the ability to visually distinguish different parts of the text. This makes texts easier to scan and use. In addition, some texts are more visually pleasing than others, whereas some are easier to read. Different fonts appeal to different aesthetic senses. Some appear traditional, some modern, some art nouveau, some art deco, some hand written, some humorous, and some shocking. The ability to select from a wide variety of fonts greatly increases the ability to tune the aesthetic message of a document.

When the computer age started, most computers only represented text in one font. In the last decade or so, however, an increasing percentage of computer systems have the ability to display and print text in several different fonts. Most such computers have font resources which contain pre-defined font descriptions for the shape of each character of each of the fonts it can handle. The pre-defined font descriptions describe character shapes in a specified form or language.

Some font languages represent shapes as bitmap images which can be translated directly to the pixels on a video display or a laser printer. This has the advantage of being fast, but it has the disadvantage of requiring a different set of font descriptions for each different size.

More recently there has been a trend to scalable font languages. These languages define character shapes in terms of the one or more outlines which define its shape. Each such outline is defined by a move to a starting location and then a sequence of outline segments, each of which is either a line or a curve, such as a Quadratic or Cubic Bezier curve or a circular arc, followed by a move to the standard position for starting the next letter. A Bezier curve is a well-known type of curve defined by its two on-curve endpoints and one or two off-curve control points located between them. Quadratic Bezier curves only have one off-curve control point, with the curve at each endpoint being tangent to a line from that endpoint to the control point and with the angle of the curve reflecting the angle formed by those tangent lines. Cubic Bezier curves have two off-curve control points, with the curve at each endpoint being tangent to the line to its closest control point and with the curve's extent in the general direction of each such tangent near an endpoint being a function of the length from that endpoint to the tangent's associated control point. The lines and segments are usually defined in a resolution of either 1000.times.1000 or 2048.times.2048 units, called outline resolution units, or ORUs. Since these font descriptions define a shape in terms of lines and curves and since that definition is made with a high resolution, they can be used to generate font images of virtually any desired size.

In scalable font technology the set of font descriptions defining the outline shapes of each character in a character set can be considered a base, or physical, font. The variously sized fonts generated from such a physical font are considered logical fonts, because they do not have separate shape descriptions associated with their characters, but rather generate such shapes at the specified size from the scalable physical font description. Using such nomenclature, there would be, for example, physical font associated with the base font name "Arial", and that physical font would have associated with it any logical font which had the name "Arial" followed by a point size specification, such as "Arial 12" or "Arial 24". Normally a separate physical font is provided for font names which include "Bold", "Italic", or "Narrow", but fonts with the word "Oblique" in their name are often generated by slanting the shapes of the corresponding physical font, and the same could be done, if necessary for "Italic" if no corresponding italic physical or base font is provided.

There are currently several major scalable font languages. They include PostScript, developed by Adobe Systems Incorporated, of 1585 Charleston Road, Mountain View, Calif. 94039, TrueType, developed by Apple Computer, Inc., 20525 Mariani Avenue, Cupertino, Calif. 95014; Speedo, developed by Bitstream Inc., the assignee of this application; and Intellifont, developed by the AGFA division of Miles Inc, 90 Industrial Way, Wilmington, Mass. 01887. Each of these languages uses a different code or format to describe shapes and represents shapes in different ways. For example, TrueType uses quadratic Bezier curves to define the shape of curve segments, whereas PostScript and Speedo use Cubic Bezier curves, and Intellifont use circular arcs.

For a computer to render a font named in a given document, it requires not only a bitmapped or scalable font description of that font's characters, but also software, called a font interpreter, that knows how to interpret the particular code in which each font language's font descriptions are written and convert them into a bitmap pattern or a sequence of moves and outline segments.

Unfortunately, not all computers have the same font descriptions or the ability to interpret the same font languages. This creates a problem if an electronic document is created on a first computer using one or more given fonts and is then transferred to second computer which does not have those fonts or which cannot interpret them. In such a case, when the document is shown or printed on the second computer it has different fonts than intended. This can cause the document to have a very different, and often undesired appearance, and can disrupt its spacing and pagination. In highly formatted text, such a text with columns, this can make the text almost unreadable. In addition, some fonts have special characters not found in other fonts, or use different character codes than are commonly used in other fonts so that such a font mismatch can not only disrupt the appearance and organization of a document, but can also cause information to be lost or be garbled.

One solution to the problem of making fonted text portable is to send a copy of all fonts and font interpreters needed to properly render the characters of a document along with it. Unfortunately this has many problems. First, finding out what fonts and interpreters need to be sent with each such document and installing them on the viewing machine would be labor intensive. Furthermore, it would present legal problems because, even though the actual shape of fonts have long been held not to be copyrightable, both the code and sequence of outline segments contained in font descriptions have been considered by many to be copyrightable, and thus cannot be installed in a new machine without legal permission.

There have been multiple prior attempts to deal with this problem.

A first prior approach is to use software that enables the computer playing back a document to attempt to approximate a font called for in the document with a font which is similar, if it has one. Such systems attempt to replace one serifed font with another, one italic with another, and so on. Unfortunately, this approach still requires that the computer playing back a document have fonts which approximate those it is to replace, and the approximations are often disappointing.

Another prior technique amplifies this first approach by using software that sends information along with documents explaining the size of each character in each of the fonts used. This enables corresponding software in the playing computer to stretch or compress whatever font it is using to approximate a missing font to produce a font which has the same spacing. This provides the valuable advantage of preventing the formatting of documents from being upset due to spacing differences, but is still is only an approximation.

Another prior approach has been to embed, or include, font descriptions with the document so the party at the other end can use them. The makers of such embeddable fonts have designed them so they can only be used in the document in which they have been included and thus have granted a license for such a copy of their font descriptions to be made without requiring express permission. Unfortunately, all such systems of which we are aware only work with fonts of one language and assume that the computer on which their documents are to be played has interpreters for that language. Thus the documents produced cannot be properly reproduced if the machine playing them back does not have the proper font interpreter and it even if does, it can only provide insured portability for fonts written in that interpreter's one language.

Another prior approach is to have a document recorder application which records bitmap images of all character-font shapes included in a document from the font interpreter of the computer creating the document and embeds them in a copy of the document. The resulting portable document is designed to be viewed or printed from a player application on another computer. The player renders the shape of each character in the document from its associated embedded font. The program has the ability to, in effect, creates bitmapped physical and logical fonts. That is, if the user decides he or she does not want to have to store separate bitmap images for the same shape font in different sizes, the system will store it in one size and on playback attempt to generate bitmap patterns at different sizes from it.

This approach appears to avoid copyright problems, because it has long been held that the shape of fonts is not copyrightable and the bitmap patterns copied are determined largely by the shape of the font's original pre-defined font descriptions rather than from the actual code or sequence of moves and outline segments used in that description. It also has that advantage of being able to play back any font handled by the computer creating the document. It has the disadvantages of requiring a large amount of memory to produce a large variety of fonts accurately.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide an apparatus and method for creating and playing back portable documents, that is documents in which text with a variety of different fonts can be accurately played back by a machine which does not previously have font descriptions and font interpreters for all of that document's fonts.

It is yet another object of the present invention to provide such an apparatus and method which creates and plays back such portable documents automatically.

It is still another object of the present invention to provide such an apparatus and method which creates and plays back such documents quickly.

It is yet another object of the present invention to provide such an apparatus and method which creates such documents with portable font description which do not require much storage space.

It is still another object of the present invention to provide an apparatus and methods for automatically creating new font descriptions of character shapes defined in old font descriptions while avoiding copying certain features in such old font descriptions which are not required to describe those shapes.

According to one aspect of the invention, a computerized apparat