Font data streaming

Information

  • Patent Grant
  • 9319444
  • Patent Number
    9,319,444
  • Date Filed
    Monday, June 22, 2009
    15 years ago
  • Date Issued
    Tuesday, April 19, 2016
    8 years ago
Abstract
Provided is a method for font data streaming for time-based video/audio presentations where content is transmitted in small increments and transmission continues while a previously transmitted portion is viewed or played. Different subsets of characters of the same font are assembled together on a device and previously sent characters are reused for rendering subsequent text strings. Font subsets are created to provide only a minimal number of glyphs for the character set coverage, thereby reducing the redundancy of font data transmission and reducing the total number of characters transmitted.
Description
FIELD OF THE INVENTION

The present disclosure relates generally to font data streaming, and more particularly to reducing the redundancy in font data transmissions.


BACKGROUND OF THE INVENTION

In digital broadcasting, a digital device (e.g., cable box) receives mixed media information. Interactive multimedia presentations combine a number of different elementary objects including, but not limited to, 2D and 3D vector graphics content, video, audio objects, text, scene composition, and layout information. Text content is encoded as a sequence of Unicode character codes. However, the character code only defines the semantical meaning of a character (e.g., Latin lowercase character ‘a’) and it does not provide any information about the character's visual appearance. In order to visualize text information, font data has to be present. The text may then be displayed by rendering images of each character using the font data. A device receiving digital broadcasts may have a resident font available to display the text, but several conditions may occur.


One condition that may occur is that resident font metrics may be incompatible with the layout of the multimedia presentation. A font may be too small or too large, which may lead to a break in the viewing experience of the presentation. For example, if a font is too small, the text may not be readable, or the layout of the multimedia content may be broken. On the other hand, if the font is too large, content layout may also be broken and/or portions of the text may be cut off (e.g., content menu entries, in which each entry is limited to a single line of text).


Another condition that may occur is that a resident font may not satisfy stylistic requirements. For example, a graphic content design may require a particular typeface or font style (e.g., custom charactercustom charactervs. “Content Title”).


In addition, a resident font may not support the character set required by the application or content. For example, a user may access web or multimedia content that requires non-Latin character set support. If these additional characters are not supported by the resident font, the text display will be broken (e.g., missing characters will be displayed using a rectangular box).


Thus, in order for a media content to be faithfully rendered on a device (e.g., set-top box, mobile phone, PDA, computer system, etc.) where selected fonts may not be available, the fonts have to be embedded in the content, or transmitted as a separate resource. The receiving terminal would then have necessary font data for text rendering. However, font data may be quite large and transmitting a complete font may not be possible in real time and/or in bandwidth-constrained environments.


In the digital media industry to date, one known approach is to download a complete font (or font subset) file to a remote terminal in advance of sending the media content, to ensure that necessary font information is available when the text is to be rendered. However, this approach does not work in a broadcast environment, in which a media presentation is continuously updated in real time and the receiving terminal can tune into the broadcast at any arbitrary moment in time.


Another known approach involves subdividing font data into smaller data blocks and repeatedly transmitting them using data carousel mechanisms. In the carousel mechanism, all of the information necessary for the display of a broadcast is downloaded so that even if a user misses an original download (e.g., viewing) of the broadcast, the information is retained in the carousel and can be re-accessed. Thus, this approach ensures that, regardless of the moment when the initial broadcast starts, the terminals that tuned in later will receive (and collate) all necessary font data blocks.


The carousel may comprise a mixed file including subset fonts. Characters not required for use may be removed. Removal of the characters may involve subsetting of the fonts/characters that are not to be used. For example, if both Latin and Cyrillic characters are present in the original font and the program's text content is in English, the Cyrillic characters may be removed. Subsets may be created in advance (e.g., statically) and downloaded periodically. The same information may be repeated in portions and put in the carousel. However, the data carousel mechanism approach is extremely redundant in that it requires the same data to be continuously re-sent to satisfy real-time requirements.


SUMMARY OF THE INVENTION

Exemplary embodiments of the invention provide for font data streaming to reduce the redundancy of font data transmissions, thereby reducing the total number of characters for which data is transmitted during any given transmission.


According to exemplary embodiments, a method of font data streaming may comprise subdividing a data stream into data segments, and analyzing the text content of a first data segment to determine required fonts and an initial character set coverage, for each required font, a font subset that comprises only glyphs necessary for the initial character set coverage is generated and stored into memory. The font subset is transmitted along with the respective data segment to a receiving device.


The method may further comprise analyzing the text content of a subsequent data segment to determine required fonts and character set coverage for the respective data segment. For each required font, a current font subset that comprises only glyphs necessary for the character set coverage is generated. The current font subset is compared with the previous font subset, and those glyphs that have been sent in a previous font subset are removed from the current font subset, to produce a reduced font subset. The reduced font subset is stored into memory, and transmitted along with the respective data segment to a receiving device.





BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings. FIGS. 1-3 represent non-limiting, exemplary embodiments as described herein.



FIG. 1 is a general schematic illustration of an exemplary system in which the concepts of the present invention can be implemented.



FIG. 2 is a flowchart illustrating a method for font data streaming according to exemplary embodiments.



FIG. 3 is a diagram illustrating the data reuse concept of the font data streaming method in a multicast environment.





DETAILED DESCRIPTION

For simplicity and illustrative purposes, the principles of the invention are described by referring to exemplary embodiments thereof. The exemplary embodiments mainly refer to a method of delivering font data for time-based video/audio presentations (known as streaming). However, one of ordinary skill in the art will readily recognize that the same principles are equally applicable to many types of media presentation situations. Thus, the scope of the invention encompasses those situations in which the transmission of media content requires the delivery of font data.


Exemplary embodiments provide incremental updates to a communication or receiving device, wired or wireless (e.g., set-top box, mobile phone, PDA, computer system, etc.) and the interactive components thereof (e.g., video clips, graphics, and text). The incremental updating is similar to that provided in broadcasting and printing updates. A user selects content to be downloaded by browsing mixed interactive media, text, and/or graphics. The information obtained upon browsing is sliced into small portions, and transmitted as individual segments. In a digital transmission, adaptation to the information occurs within a short time period and the text strings change over time, and thus, there is a requirement for the font subsets to change in accordance with the content to be displayed. A line-by-line change involves incremental subsets.


Conventional digital transmission may involve the same transmission sequentially repeated for many users. For example, with mobile or cell phone technology, there is no one start time and multiple users can initiate the beginning of a transmission at different times. Thus, the same content is repeated for various users at different times. In contrast, with television, if a program is broadcast at 7:00 pm, but the user does not tune in until 7:10 pm, the missed portion will not be repeated and the user simply misses the first ten minutes of the broadcasted program.


Exemplary embodiments are provided to serve multiple clients through a digital server or client application. Exemplary embodiments provide a method that allows content to be displayed incrementally in different media at incremental times. In digital technology involving cell phones and PDAs, service to multiple users at different times needs to be provided. The users need to be able to view complete transmissions regardless of when the users begin to receive the transmission. Because each transmission is the same for each user, certain portions of the transmission may be re-used, but directed to different respective users.


Font streaming can be implemented by assembling different subsets of the same font together on a device, thus reusing previously sent characters for rendering of subsequent text strings. This concept is taken into consideration when font subsets are created, thereby reducing the redundancy of font data transmission.


In Table 1 that follows, an example of a dialog appearing as a part of a video presentation with subtitles is illustrated.












TABLE 1








Font Subset after Font



Dialog
Required Font Subset
Streaming







Line 1
Where is the
M W a e h i n r s t ?
M W a e h i n r s t ?



Main street?




Line 2
Turn right at
T a e g h i l n r t u x
T g l u x



the next light




Line 3
Thank you
T a h k n o u y
k o y









Referring to Table 1, the rendering of the first line of text requires a font subset that includes the characters “M W a e h i n r s t ?”. The second line of text requires the subset “T a e g h i l n r t u x”. The third subset contains the characters “T a h k n o u y.” The font subset that is transmitted for the first line of text contains the characters “M W a e h i n r s t ?”. The font subset that is transmitted for the second line of text, after removing redundancy, contains the characters “T g l u x”. The non-redundant font subset that is streamed for the third line of text contains the characters “k o y”.


As illustrated above, the total number of characters in the three original subsets is reduced from 31 to 19 when non-redundant font streaming is used. These subsets can be assembled (or linked together) in the receiving device as a single font. The process can be repeated if necessary, either in predetermined time intervals or to accommodate for breakdowns in transmission or stream resynchronization requirements.


One example of a media presentation system, in which the present invention can be implemented, is illustrated in FIG. 1. A multimedia signal, containing any one or more of video, audio, text and graphic content, is transmitted to users by a presentation server 10, via a suitable network 12. Each of a plurality of receivers 14 is configured to recognize the transmissions from the server and process received multimedia signals for presentation on a suitable display device 16. Depending upon the type of system, the network and receivers can be embodied in various forms. In a cable TV system, for example, the receivers 14 might be set-top boxes or the like, and the transmission media for the network can be coaxial and/or fiber-optic cable, and could also include microwave or other wireless media. Likewise, in a satellite television system, set-top boxes could be connected to suitable interface equipment to communicate with satellite transceivers.


Alternatively, the system could be a cellular telephone or Wi-Fi environment. In these cases, the receivers can be mobile telephones or PDAs with built-in displays and suitable wireless interfaces for communication with base stations, wireless network access points, etc.


Depending on the nature of the system, the multimedia signal can be broadcast to all receivers simultaneously, for instance in the case of a cable satellite television network. To support video-on-demand capabilities, the signal might be re-broadcast in cyclic segments. In other systems, the transmissions might be point-to-point, to provide true real-time on-demand functionality.


Referring to FIG. 2, a process for implementing the principles of the invention in such networks is illustrated in flowchart form. The media presentation is subdivided into small, time-stamped data segments, where each segment represents a unit of information (e.g., audio) or a collection of multiple different units of data (e.g., video, audio, subtitles, and fonts) to be played/displayed during a certain time period. When a device begins to receive a data stream at step 200, the text content of the first data segment to be presented in the next time period is analyzed to determine the required fonts and the initial character set coverage (step 202). For each required font, a font subset that provides a minimal number of glyphs for the initial character set coverage is created and stored at step 204. This font subset is transmitted to a receiving device at step 206.


The text content of a subsequent data segment is then analyzed to determine the required fonts and character set coverage for the respective data segment at step 208. For each required font, a new font subset that comprises only the glyphs necessary for the character set coverage is created. The new font subset is compared with the previous font subset and glyphs that have been sent in the previous subset are removed at step 210, thereby producing a reduced font subset. If at least one glyph remains after all of the previously transmitted glyphs have been removed, as determined at step 212, the reduced font subset is stored and transmitted along with the respective data segment to the receiving device at step 206. If however, the reduced font subset is empty, i.e., all of the glyphs of the font subset have been previously transmitted, the process returns to step 208 to determine the character and glyph subset for the next time segment, for the given font.


Thus, the media presentation is subdivided into data segments where each segment is transmitted and buffered by a receiver while the previously sent data segment is rendered. As long as the data transmission speed is fast enough to allow data blocks be transmitted faster than the amount of time it takes to play the segment of media presentation, a continuous program playback can be achieved.


As illustrated in the above example, the method for font data streaming according to the exemplary embodiments of the invention eliminates the need for constant repetition (re-transmission) of the same font data chunks in a broadcast or multicast environment. In a multicast environment, where different terminals may request the start of a transmission of media content at different times from the beginning (e.g., “Video On Demand” services), the reduced font data subsets created for respective segments will be resent at different times to different receiving devices, thereby minimizing the amount of data sent and optimizing the bandwidth usage.


Referring to FIG. 3, once a primary transmission is complete, the transmitted information is retained in the memory of the server. This information may be subdivided into transmission segments (e.g., for a first user at a first start time, a second user at a second start time subsequent to the first start time, a third user at a third start time subsequent to the second start time, and etc.). On a cell phone or PDA, each user will view a complete transmission regardless of the start time by the user.


According to the method of the exemplary embodiments of the invention, due to the different start times, the information from a first transmission can be used again for subsequent users thereby saving time and avoiding redundancy in action. Thus, subsequent transmissions are built on subsets previously used.


The foregoing embodiment pertains to those situations in which the viewer is able to receive the media presentation from its beginning, e.g. the viewer tunes into a television program at or before the time it is scheduled to start, or video-on-demand service is available. In these situations, the viewer will receive all of the font subsets that are needed to properly reproduce any of the textual characters that accompany the presentation.


In other situations where on-demand service is not available, the viewer may tune into a presentation, e.g., a broadcast presentation, some time after it has begun, and does not have the ability to receive the information that was transmitted for prior time segments. Table 2 below relates to such a situation, and provides an example of a dialog appearing as part of a movie script presentation. The Time Stamps that appear in column 1 of the table correspond to the beginning of successive time segments for the presentation. Text messages are transmitted from a content server (e.g., a digital cable broadcast server or a mobile TV network IP server) to a receiving terminal (e.g., a cable box or a wireless mobile device) along with the media segments, to enable English language subtitles be displayed in a particular typeface that is chosen by content authors. The table depicts an example in which three different terminals, A, B and C, tune into the presentation at different times. Terminal A tunes in prior to the start of the presentation, terminal B tunes in after time T1 but prior to time T2, and terminal C tunes in after time T2 but prior to time T3. The content server is notified as each terminal tunes into the presentation, e.g. via login data transmitted by the respective terminals, and sends an appropriate multicast signal that is addressed to each of the respective terminals.













TABLE 2







Terminal A (starts
Terminal B (starts
Terminal C (starts


Time

receiving broadcast
receiving broadcast
receiving


Stamp
Text message
at T1)
at T2)
broadcast at T3)







T1
I'm serious. It was
′ . I a b d e f i m o r s t u v w





the best first date






ever.





T2
She was amazing.
S c g h k l n p x y z
. S a c d e g h i k l m n o p r s t u w x y z




She looked exactly






like her picture.





T3
You'll never see her
Y
′ Y v
′ . Y a e g h i l n o r s u v



again.





T4
How do you know?
? H
? H
? H d k w y


T5
Because you look
B
B
B c t



nothing like yours.









Referring to Table 2, the columns that correspond to the different terminals A, B, and C demonstrate the respective font data subsets that are to be transmitted to each device. At each initial time stamp interval, the initial font subset includes only those glyphs that are necessary to render and display a text message transmitted at that same time. The subsequent font subsets include only incremental updates between the previously transmitted font subsets and the new set of glyphs required to display a new text message. If all necessary glyph data has already been transmitted, no font data transmission takes place during the given time interval.


Thus, at time T1, the font subset transmitted to terminal A comprises the glyphs for all of the characters that appear in the text message for segment 1 of the presentation. At time T2, a reduced font subset is transmitted to terminal A, which comprises the font subset for the characters of segment 2, minus those whose data was previously transmitted for segment 1. At the same time, however, since terminal B logged in after time T1, the complete font subset for segment 2 is transmitted to terminal B, as it did not receive any prior character information.


Likewise, at time T3, terminal A receives another reduced font subset for segment 3, as does terminal B, which are based upon the character data that was previously transmitted to each terminal, respectively. In the meantime, terminal C logged in after time T2, and so it receives the complete font subset for segment 3.


Exemplary embodiments of the invention provide a method of font data streaming that is able to support different media delivery scenarios and routing schemes. The method may be utilized in either “one to one” or “one to many” transmission, in broadcast and multicast transmissions, and allows different terminals to tune into a media broadcast at different times. Font data streaming assures that the minimal set of necessary font information is always present at the receiving terminal at the time when the text message is to be displayed. Accordingly, the previously mentioned redundancy in font data transmission is eliminated by sending only the minimal incremental subset of required font data to each terminal.


It will be appreciated by those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restricted.

Claims
  • 1. A method of font data streaming in relation to font data transmissions, the method comprising steps as follows: subdividing a portion of a media stream into data segments, the media stream including character data and font data;analyzing, by a server and independent of a first receiving device, text content of a data segment to determine any required fonts and an initial character set coverage for that data segment;for each required font, generating and storing into memory of the server a font subset that comprises only glyphs necessary for the initial character set coverage;after initiating transmission of the media stream to the first receiving device, transmitting from the server the font subset of the respective data segment to the first receiving device; andinitiating transmission of a subsequent font subset that comprises additional glyphs for character coverage of a subsequent data segment that has not been previously sent, wherein the subsequent font subset is determined by comparing character set coverage for the subsequent data segment to any previously sent font subset;wherein said steps reduce redundancy in font data transmissions through reducing total number of glyphs provided in one or more subsequent font subsets determined for subsequent data segments of the media stream being transmitted to said first receiving device.
  • 2. The method of claim 1, wherein each data segment represents a unit of data or a collection of multiple different units of data including video, audio, subtitles, and fonts.
  • 3. The method of claim 1, wherein initiating transmission of the subsequent font subset comprises: analyzing text content of the subsequent data segment to determine required fonts and character set coverage for the subsequent data segment;for each required font, generating a current font subset that comprises only glyphs necessary for the character set coverage for the subsequent data segment;comparing, by the server, the current font subset with any previous font subset and removing from the current font subset those glyphs that have been sent in a previous font subset, to produce the subsequent font subset;storing the subsequent font subset into memory; andtransmitting the subsequent font subset of the subsequent data segment to the first receiving device.
  • 4. The method of claim 3, further comprising: storing the previous font subset at the first receiving device; andupdating the font subset stored at the first receiving device by adding the subsequent font subset to the stored previous font subset.
  • 5. The method of claim 3, wherein the font subsets are stored at the server.
  • 6. The method of claim 1, wherein the data stream is transmitted to a plurality of receiving devices that receive the data stream at different times and each device views a complete transmission regardless of a viewing start time by the device.
  • 7. The method of claim 6, wherein the font subset and the respective data segment are transmitted and stored at a first device and subsequently transmitted and stored at other devices.
  • 8. A method of font data streaming, the method comprising steps as follows: subdividing a portion of a media stream into data segments, the media stream including character data and font data;analyzing, by a server and independent of a first receiving device, text content of a data segment to determine required fonts and an initial character set coverage for that data segment;for each required font, generating and storing into memory of the server a font subset that comprises only glyphs necessary the initial character set coverage;after initiating transmission of the media stream to the first receiving device, transmitting from the server the font subset of the respective data segment to the first receiving device; andtransmitting a subsequent font subset that comprises additional glyphs for character set coverage of a subsequent data segment that has not been previously sent, wherein the subsequent font subset is determined by comparing character set coverage for the subsequent data segment with any previously sent font subset;wherein said steps reduce redundancy in font data transmissions through reducing total number of glyphs provided in one or more subsequent font subsets determined for subsequent data segments of the media stream being transmitted to said first receiving device.
  • 9. The method of claim 8, wherein said transmitting of said subsequent font subset comprises: analyzing text content of the subsequent data segment to determine required fonts and character set coverage for the subsequent data segment;for each required font, generating a current font subset that comprises only glyphs necessary for the character set coverage for the subsequent data segment;comparing, by the server, the current font subset with any previous font subset and removing from the current font subset those glyphs that have been sent in a previous font subset, to produce the subsequent font subset;storing the subsequent font subset in memory; andtransmitting the subsequent font subset of the subsequent data segment to the first receiving device.
  • 10. The method of claim 9, further comprising: storing the previous font subset at the first receiving device; andupdating the font subset stored at the first receiving device by adding the subsequent font subset to the stored previous font subset.
  • 11. The method of claim 8, wherein each font subset and its respective data segment are transmitted and stored at a first device, and subsequently transmitted and stored at other devices.
  • 12. The method of claim 8, wherein the font subsets are stored at the server.
  • 13. A computing device-implemented method, comprising: subdividing a portion of a media stream into data segments, the media stream including character data and font data;analyzing, by the computing device and independent of a first receiving device, text content of a data segment to determine any required fonts and an initial character set coverage for that data segment;for each required font, generating and storing into memory of the computing device a font subset that comprises only glyphs necessary for the initial character set coverage;after initiating transmission of the media stream to the first receiving device and independent of the first receiving device, transmitting from the computing device the font subset of the data segment to the first receiving device; andfor each subsequent data segment: analyzing text content of the respective subsequent data segment to determine required fonts and character set coverage for the respective subsequent data segment,for each required font, generating a current font subset that includes only glyphs necessary for the character set coverage for the respective subsequent data segment,comparing, by the computing device, the current font subset of the respective subsequent data segment with any previous font subset and removing any previously sent glyphs from the current font subset, to produce a reduced font subset for the respective subsequent data segment,storing the reduced font subset into memory, andtransmitting the reduced font subset of the respective subsequent data segment to the first receiving device.
  • 14. The computing device-implemented method of claim 13, wherein each data segment represents at least one of video, audio or text.
  • 15. A system comprising: a computing device comprising: a memory configured to store instructions; anda processor to execute the instructions to perform operations comprising: subdividing a portion of a media stream into data segments, the media stream including character data and font data;analyzing, independent of a first receiving device, text content of a data segment to determine any required fonts and an initial character set coverage for that data segment;for each required font, generating and storing into the memory of the computing device a font subset that comprises only glyphs necessary for the initial character set coverage;after initiating transmission of the media stream to the first receiving device and independent of the first receiving device, transmitting from the computing device the font subset of the data segment to the first receiving device; andfor each subsequent data segment: analyzing text content of the respective subsequent data segment to determine required fonts and character set coverage for the respective subsequent data segment,for each required font, generating a current font subset that includes only glyphs necessary for the character set coverage for the respective subsequent data segment,comparing, by the computing device, the current font subset of the respective subsequent data segment with any previous font subset and removing any previously sent glyphs from the current font subset, to produce a reduced font subset for the respective subsequent data segment,storing the reduced font subset into memory, andtransmitting the reduced font subset of the respective subsequent data segment to the first receiving device.
  • 16. The system of claim 15, wherein each data segment represents at least one of video, audio or text.
US Referenced Citations (195)
Number Name Date Kind
4244657 Wasylyk Jan 1981 A
5347266 Bauman et al. Sep 1994 A
5412771 Fenwick May 1995 A
5416898 Opstad et al. May 1995 A
5444829 Kawabata et al. Aug 1995 A
5453938 Gohara et al. Sep 1995 A
5526477 McConnell et al. Jun 1996 A
5528742 Moore et al. Jun 1996 A
5533174 Flowers et al. Jul 1996 A
5586242 McQueen et al. Dec 1996 A
5606649 Tai Feb 1997 A
5630028 DeMeo May 1997 A
5737599 Rowe et al. Apr 1998 A
5748975 Van De Vanter May 1998 A
5781714 Collins et al. Jul 1998 A
5877776 Beaman et al. Mar 1999 A
5940581 Lipton Aug 1999 A
6012071 Krishna et al. Jan 2000 A
6031549 Hayes-Roth Feb 2000 A
6044205 Reed et al. Mar 2000 A
6065008 Simon et al. May 2000 A
6073147 Chan et al. Jun 2000 A
6111654 Cartier Aug 2000 A
6141002 Kanungo et al. Oct 2000 A
6249908 Stamm Jun 2001 B1
6252671 Peng et al. Jun 2001 B1
6282327 Betrisey Aug 2001 B1
6313920 Dresevic et al. Nov 2001 B1
6320587 Funyu Nov 2001 B1
6330577 Kim Dec 2001 B1
6343301 Halt et al. Jan 2002 B1
6426751 Patel Jul 2002 B1
6490051 Nguyen et al. Dec 2002 B1
6512531 Gartland Jan 2003 B1
6522330 Kobayashi Feb 2003 B2
6522347 Tsuji Feb 2003 B1
6583789 Carlson et al. Jun 2003 B1
6657625 Chik et al. Dec 2003 B1
6675358 Kido Jan 2004 B1
6678688 Unruh Jan 2004 B1
6687879 Teshima Feb 2004 B1
6704116 Abulhab Mar 2004 B1
6704648 Naik et al. Mar 2004 B1
6718519 Taieb Apr 2004 B1
6738526 Betrisey May 2004 B1
6754875 Paradies Jun 2004 B1
6760029 Phinney et al. Jul 2004 B1
6771267 Muller Aug 2004 B1
6810504 Cooper et al. Oct 2004 B2
6813747 Taieb Nov 2004 B1
6853980 Ying et al. Feb 2005 B1
6856317 Konsella et al. Feb 2005 B2
6882344 Hayes et al. Apr 2005 B1
6901427 Teshima May 2005 B2
6907444 Narasimhan et al. Jun 2005 B2
6952210 Renner et al. Oct 2005 B1
6993538 Gray Jan 2006 B2
7050079 Estrada et al. May 2006 B1
7064757 Opstad et al. Jun 2006 B1
7064758 Chik et al. Jun 2006 B2
7155672 Adler et al. Dec 2006 B1
7184046 Hawkins Feb 2007 B1
7188313 Hughes et al. Mar 2007 B2
7228501 Brown et al. Jun 2007 B2
7346845 Teshima et al. Mar 2008 B2
7477988 Dorum Jan 2009 B2
7492365 Corbin et al. Feb 2009 B2
7505040 Stamm et al. Mar 2009 B2
7539939 Schomer May 2009 B1
7552008 Newstrom et al. Jun 2009 B2
7580038 Chik et al. Aug 2009 B2
7583397 Smith Sep 2009 B2
7636885 Merz et al. Dec 2009 B2
7701458 Sahuc et al. Apr 2010 B2
7752222 Cierniak Jul 2010 B1
7768513 Klassen Aug 2010 B2
7836094 Ornstein et al. Nov 2010 B2
7882432 Nishikawa et al. Feb 2011 B2
7944447 Clegg et al. May 2011 B2
7958448 Fattic et al. Jun 2011 B2
8098250 Clegg et al. Jan 2012 B2
8201088 Levantovsky et al. Jun 2012 B2
8201093 Tuli Jun 2012 B2
8306356 Bever Nov 2012 B1
8381115 Tranchant et al. Feb 2013 B2
8413051 Bacus et al. Apr 2013 B2
8601374 Parham Dec 2013 B2
8643542 Wendel Feb 2014 B2
8689101 Fux et al. Apr 2014 B2
8731905 Tsang May 2014 B1
20010052901 Kawabata et al. Dec 2001 A1
20020010725 Mo Jan 2002 A1
20020033824 Stamm Mar 2002 A1
20020052916 Kloba et al. May 2002 A1
20020087702 Mori Jul 2002 A1
20020093506 Hobson Jul 2002 A1
20020174186 Hashimoto et al. Nov 2002 A1
20020194261 Teshima Dec 2002 A1
20030014545 Broussard et al. Jan 2003 A1
20030076350 Vu Apr 2003 A1
20030197698 Perry et al. Oct 2003 A1
20040025118 Renner Feb 2004 A1
20040088657 Brown et al. May 2004 A1
20040119714 Everett et al. Jun 2004 A1
20040177056 Davis et al. Sep 2004 A1
20040189643 Frisken et al. Sep 2004 A1
20040207627 Konsella et al. Oct 2004 A1
20050033814 Ota Feb 2005 A1
20050094173 Engelman et al. May 2005 A1
20050111045 Imai May 2005 A1
20050128508 Greeff et al. Jun 2005 A1
20050149942 Venkatraman Jul 2005 A1
20050190186 Klassen Sep 2005 A1
20050193336 Fux et al. Sep 2005 A1
20050200871 Miyata Sep 2005 A1
20050264570 Stamm Dec 2005 A1
20050270553 Kawara Dec 2005 A1
20050275656 Corbin et al. Dec 2005 A1
20060010371 Shur et al. Jan 2006 A1
20060017731 Matskewich et al. Jan 2006 A1
20060061790 Miura Mar 2006 A1
20060072136 Hodder et al. Apr 2006 A1
20060072137 Nishikawa et al. Apr 2006 A1
20060072162 Nakamura Apr 2006 A1
20060103653 Chik et al. May 2006 A1
20060103654 Chik et al. May 2006 A1
20060168639 Gan Jul 2006 A1
20060245727 Nakano et al. Nov 2006 A1
20060267986 Bae et al. Nov 2006 A1
20060269137 Evans Nov 2006 A1
20060285138 Merz et al. Dec 2006 A1
20070002016 Cho et al. Jan 2007 A1
20070006076 Cheng Jan 2007 A1
20070008309 Sahuc et al. Jan 2007 A1
20070050419 Weyl et al. Mar 2007 A1
20070055931 Zaima Mar 2007 A1
20070139412 Stamm Jun 2007 A1
20070139413 Stamm et al. Jun 2007 A1
20070159646 Adelberg et al. Jul 2007 A1
20070172199 Kobayashi Jul 2007 A1
20070211062 Engleman et al. Sep 2007 A1
20070283047 Theis et al. Dec 2007 A1
20080028304 Levantovsky et al. Jan 2008 A1
20080030502 Chapman Feb 2008 A1
20080154911 Cheng Jun 2008 A1
20080282186 Basavaraju Nov 2008 A1
20080303822 Taylor Dec 2008 A1
20080306916 Gonzalez et al. Dec 2008 A1
20090031220 Tranchant Jan 2009 A1
20090158134 Wang Jun 2009 A1
20090275351 Jeung et al. Nov 2009 A1
20090287998 Kalra Nov 2009 A1
20090303241 Priyadarshi et al. Dec 2009 A1
20090307585 Tranchant et al. Dec 2009 A1
20100088606 Kanno Apr 2010 A1
20100088694 Peng Apr 2010 A1
20100091024 Myadam Apr 2010 A1
20100115454 Tuli May 2010 A1
20100164984 Rane Jul 2010 A1
20100231598 Hernandez et al. Sep 2010 A1
20100275161 DiCamillo Oct 2010 A1
20110090229 Bacus et al. Apr 2011 A1
20110090230 Bacus et al. Apr 2011 A1
20110093565 Bacus et al. Apr 2011 A1
20110115797 Kaplan May 2011 A1
20110131153 Grim, III Jun 2011 A1
20110188761 Boutros et al. Aug 2011 A1
20110238495 Kang Sep 2011 A1
20110271180 Lee Nov 2011 A1
20110276872 Kataria Nov 2011 A1
20110289407 Naik Nov 2011 A1
20110310432 Waki Dec 2011 A1
20120001922 Escher et al. Jan 2012 A1
20120016964 Veen et al. Jan 2012 A1
20120033874 Perronnin Feb 2012 A1
20120066590 Harris et al. Mar 2012 A1
20120072978 DeLuca Mar 2012 A1
20120092345 Joshi et al. Apr 2012 A1
20120102176 Lee et al. Apr 2012 A1
20120102391 Lee et al. Apr 2012 A1
20120127069 Santhiveeran et al. May 2012 A1
20120215640 Ramer et al. Aug 2012 A1
20120306852 Taylor Dec 2012 A1
20120307263 Ichikawa et al. Dec 2012 A1
20120323694 Lita et al. Dec 2012 A1
20120323971 Pasupuleti Dec 2012 A1
20130033498 Linnerud Feb 2013 A1
20130120396 Kaplan May 2013 A1
20130127872 Kaplan May 2013 A1
20130163027 Shustef Jun 2013 A1
20130179761 Cho Jul 2013 A1
20130215133 Gould et al. Aug 2013 A1
20140025756 Kamens Jan 2014 A1
20140153012 Seguin Jun 2014 A1
20150100882 Severenuk Apr 2015 A1
Foreign Referenced Citations (15)
Number Date Country
2166488 Mar 2010 EP
06-258982 Sep 1994 JP
10-124030 May 1998 JP
2002-507289 Mar 2002 JP
05-215915 Aug 2005 JP
05-217816 Aug 2005 JP
07-011733 Jan 2007 JP
544595 Aug 2003 TW
200511041 Mar 2005 TW
WO 9423379 Oct 1994 WO
WO 9900747 Jan 1999 WO
WO 0191088 Nov 2001 WO
WO 03023614 Mar 2003 WO
WO 2004012099 Feb 2004 WO
WO 2005001675 Jan 2005 WO
Non-Patent Literature Citations (33)
Entry
International Search Report & Written Opinion issued in PCT application No. PCT/US10/01272, mailed Jun. 15, 2010, 6 pages.
Adobe Systems Incorporated, “The Type 42 Font Format Specification,” Technical Note #5012, Jul. 31, 1998, pp. 1-24.
Adobe Systems Incorporated, “PostScript Language Reference—Third Edition,” Feb. 1999, pp. 313-390.
Adobe Systems Incorporated, “To Unicode Mapping File Tutorial,” Adobe Technical Note, XP002348387, May 2003.
Apple Computers, “The True Type Font File,” Oct. 27, 2000, pp. 1-17.
Celik et al., “W3C, CSS3 Module: Fonts,” W3C Working Draft, Jul. 31, 2001, pp. 1-30.
Japanese Office Action, 2009-521768, mailed Aug. 28, 2012.
Supplementary European Search Report, European Patent Office, European patent application No. EP 07796924, dated Dec. 27, 2010, 8 pages.
TrueType Fundamentals, Microsoft Typography, Nov. 1997, pp. 1-17.
Announcing Speakeasy: A new open-source language tool from Typekit, Oct. 28, 2010, on-line http://blog.typekit.com/2010/10/28/announcing-speakeasy-a-new-open-source-language-tool-from-typekit/.
International Search Report & Written Opinion issued in PCT application No. PCT/US2011/034050 dated Jul. 15, 2011, 13 pages.
International Search Report & Written Opinion, PCT/US2013/026051, mailed Jun. 5, 2013, 9 pages.
Doughty, Mike, “Using OpenType® Fonts with Adobe® InDesign®,” Jun. 11, 2012 retrieved from the internet: http://webarchive.org/web/20121223032924/http://www.sketchpad.net/opentype-indesign.htm (retrieved Sep. 22, 2014), 2 pages.
Goswami, Gautum, “Quite ‘Writly’ Said!,” One Brick at a Time, Aug. 21, 2006, Retrieved from the internet: :http://gautamg.wordpress.com/2006/08/21/quj.te-writely-said/ (retrieved on Sep. 23, 2013), 3 pages.
International Search Report & Written Opinion, PCT/US2014/010786, mailed Sep. 30, 2014, 9 pages.
Wenzel, Martin, “An Introduction to OpenType Substitution Features,” Dec. 26, 2012, Retrieved from the internet: http://web.archive.org/web/20121226233317/http://ilovetypography.com/OpenType/opentype-features. Html (retrieved on Sep. 18, 2014), 12 pages.
“A first experiment with multicoloured web fonts,” Manufactura Independente website, Feb. 28, 2011, Retrieved from the internet: http://blog.manufacturaindependente.org/2011/02/a-first-experiment-with-multicoloured-web-fonts/.
“colorfont/vl,” Feb. 28, 2011, retrieved from the internet: http://manufacturaindependente.com/colorfont/v1/.
Extensis, Suitcase 10.2, Quick Start Guide for Macintosh, 2001, 23 pgs.
International Search Report & Written Opinion, PCT/US2013/071519, mailed Mar. 5, 2014, 12 pages.
International Search Report & Written Opinion, PCT/US2013/076917, mailed Jul. 9, 2014, 11 pages.
Open Text Exceed, User's Guide, Version 14, Nov. 2009, 372 pgs.
“photofont.com—Use photofonts,” Sep. 2, 2012, retrieved from the internet: http://web.archive.org/web/20120902021143/http://photofont.com/photofont/use/web.
Universal Type Server, Upgrading from Suitcase Server, Sep. 29, 2009, 18 pgs.
Japanese Office Action, 2013-508184, mailed Apr. 1, 2015.
International Preliminary Report on Patentability issued in PCT application No. PCT/US2013/071519 dated Jun. 9, 2015, 9 pages.
European Search Report, 14187549.2, Jul. 30, 2015 7 pages.
Saurabh, Kataria et al., “Font retrieval on a large scale: An experimental study”, 2010 17th IEEE International Conference on Image Processing (ICIP 2010); Sep. 26-29, 2010; Hong Kong, China, IEEE, Piscataway, NJ, USA, Sep. 26, 2010, pp. 2177-2180.
European Search Report, 14184499.3, Jul. 13, 2015, 7 pages.
“Flash CS4 Professional ActionScript 2.0”, 2007, retrieved on http://help.adobe.com/en—US/AS2LCR/Flash—10.0/help.htm1?content=00000284.html on Aug. 31, 2015.
European Search Report, 13179728.4, Sep. 10, 2015, 3 pages.
Ma Wei-Ying et al., “Framework for adaptive content delivery in heterogeneous network environments”, Jan. 24, 2000, Retrieved from the Internet: http://www.cooltown.hp.com/papers/adcon/MMCN2000.
“Saffron Type System”, retrieved from the internet Nov. 12, 2014, 7 pages.
Related Publications (1)
Number Date Country
20100321393 A1 Dec 2010 US