WO2010084207A1 - A system and method for displaying a text with a font - Google Patents

A system and method for displaying a text with a font Download PDF

Info

Publication number
WO2010084207A1
WO2010084207A1 PCT/EP2010/050881 EP2010050881W WO2010084207A1 WO 2010084207 A1 WO2010084207 A1 WO 2010084207A1 EP 2010050881 W EP2010050881 W EP 2010050881W WO 2010084207 A1 WO2010084207 A1 WO 2010084207A1
Authority
WO
WIPO (PCT)
Prior art keywords
font
text
author
user
display
Prior art date
Application number
PCT/EP2010/050881
Other languages
French (fr)
Inventor
Marc Escher
Franz Hoffman
Claude Vedovini
Nicolas Wolff
Original Assignee
Fontself Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fontself Sa filed Critical Fontself Sa
Publication of WO2010084207A1 publication Critical patent/WO2010084207A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Definitions

  • the present invention concerns a method and a system for displaying a text using a font on a user's device, wherein access rights associated with this font depend on this text in order to allow display of said text with this font and to prevent display of any other text with this font.
  • Font creation solutions exist, but their use is limited to advanced users and professionals and usually requires installation of a comprehensive software package. This in not adapted for casual users. Moreover, even when a new font has been created or updated, it is difficult to distribute it. Current font formats such as TrueType®, OpenType® or Postscript® cannot be used on a device without prior local installation.
  • FR2807183 describes a method for creating a handwritten font based on a guide grid. This document does not provide any solution for sharing fonts, and requires installation of a dedicated program and fonts on an end-user's device.
  • US7352899 (“Realistic machine-generated handwriting with personalized fonts”) describes a method for generating a handwritten font, where handwriting variability is randomly simulated. The method applies to vector fonts only. Although vector fonts are easily scalable, they are poorly adapted to the representation of handwriting, since the texture and pressure of the writer cannot be easily represented with vectors.
  • US5412771 (“Generation of interdependent font characters based on ligature and glyph categorizations”) describes a method for automatic generation of ligatures between characters.
  • US6867787 (“Character generator and character generating method”) relates to a method for applying three dimensional effects to a font.
  • US7379075 relates to a method for the representation of colour in bitmap fonts.
  • US6870535 (“Font architecture and creation tool for producing richer text”) relates to a method of creating a series of font characters represented by a specific hierarchical graph structure.
  • US6958755 describes a personalized computer font solution using a simplified workflow for personal fonts creation. It is limited to creation of fonts based on letters drawn on a grid. As most current font solutions, it also relies on font technologies that are not appropriate for live communications between different interconnected devices.
  • US2004091176 describes another method for generating a vector font from characters written in a grid.
  • US6065008 System and method for secure font subset distribution
  • US5533174 relates to a method for secure distribution of font stored in a server.
  • US6853980 describes a system for distributing fonts, where the distance between fonts is computed for facilitating the search.
  • US7009612 relates to a method for generating fonts based on an existing font.
  • US6975412 relates to a method for authenticating fonts in order to make sure that the font used during rendering is the same as the font used during the creation of a document.
  • US7188313 relates to a program for automatic generation of ligature between adjacent characters.
  • US5295238 relates to another program for automatic generation of context sensitive characters.
  • WO2006042307 relates to a method for introducing randomness in a vector font, in order to simulate handwriting.
  • US2003025675 describes a method for simulating handwriting in a vector font, using various parameters such as width, pressure, speed, etc.
  • US7161598 describes a program for the rendering of fonts, wherein a single file is used for defining a plurality of characters.
  • None of those solutions provides a method for displaying a text with a font and preventing display of any other text with this font.
  • None of those solutions provides a method for creating and sharing a new font without installing any dedicated authoring software.
  • the creation of new font is limited to expert users who have the time and money for purchasing and/or installing a new application in their computer. This is hardly convenient for casual users, for example users who have only one font to create and share.
  • the author of a new font has no or limited possibilities for controlling the access rights to his new font, and for deciding which other user or group of users are authorized to use or modify his font.
  • a further aim is to fulfill the need for a system that provides more advanced styling features, more flexibility over displayed texts, for example text blocks or text flows and with a greater ease of use for the end-users. They may also be empowered to create custom glyphs to extend existing fonts. This will ultimately lead to more expressive and original displayed texts.
  • a method for displaying a text created by an author using a font on at least an user's device wherein access rights are associated with said font, characterized in that said access rights depend on said text to display with said font, in order to allow display of said text with said font and to prevent display of any other text with said font.
  • One author can preferably define access user's rights to a font in order to authorize or prevent other users to use this font.
  • the user's rights can be stored in a Central Server.
  • the access rights are granted by the author to a limited number of users.
  • the font is based on bitmap font described by a bitmap file (i.e., an array of pixels) for allowing a more flexible representation of text, since the color of each pixel can be individually controlled.
  • the bitmap that corresponds to each character can be stored in a central server that can be accessed by each authorized user who needs this font to display a text.
  • the rendering of a text with this font is performed by a rendering software in the user's device.
  • this rendering is performed with an application run in a browser of the user's device, for example based on Flash®, Java®, Javascript®, HTML5, Silverlight®, Cocoa® application or similar technologies.
  • the same piece of software is used for creating a new font and for rendering this font in a browser.
  • the same piece of software used for creating a new font and for rendering this font in a browser is used also for granting the access rights in order to authorize or prevent a user to use the font.
  • bitmap fonts are preferably stored in a central server, and accessed by the rendering application of the users who need to use this font. Local, cache copies of those fonts can also be stored in devices of authorized users
  • the authentication of the association method of a font with a text changes periodically in order to prevent the association of any text content with any font.
  • This association method comprises a static web resource containing the URL of the font, created by the server; this static web resource is stored in the server.
  • the rendering application of user's device computes the address of this web resource using a common non-reversible algorithm based on the content and a secret they share. In one embodiment this secret, or this algorithm, is changed periodically. A new set of static web resource containing the URL of the font is calculated when the secret or the algorithm is changed.
  • a time stamp can be associated with each modification of the user's rights, so that, when a font is disabled or otherwise made unavailable for some users, only earlier message can be displayed with this font but no message created after the font disability.
  • multiple fonts can be associated with a text by the author.
  • the author can, in one embodiment, associates different parts of the text with different fonts. For example he can associate the first part of the text with a font F1, the second part with a font F2 different from F1, and the final part with a font F3 different from F1 and F2.
  • different fonts can be associated by the author to different parts of the text and the user, when receives the text, can select the font with which display these different parts.
  • the author can associates the first part of a text with fonts F1 and F2 and the second part with font F2 and F3.
  • the user can choose to display for example all the text with the font F2, or the first part with the font F1 and the second with the font F2 or F3. All the possible combinations of the fonts for the different parts can be selected by the user.
  • the author can associate a text with multiple fonts having different priorities.
  • the text is displayed by the user with the font having a higher priority.
  • the user can decide to display this text with an allowed font having a lower priority.
  • the invention concerns also a system for allowing at least an user's device to display a text created by an author using a font, wherein access rights are associated with said font and depend on said text to display with said font
  • a system for allowing at least an user's device to display a text created by an author using a font, wherein access rights are associated with said font and depend on said text to display with said font comprising an author's device for creating said font and for associating said access rights to said font, a network server connected over a network to said author's device and at least an user device for receiving said font from the server, whereby the author's device includes computer program means for receiving and sending information over the network server, computer program means for creating said bitmap font and for associating access rights to said font depending on said text, whereby said server includes means for storing said access rights and whereby said user device includes computer program means for receiving information over the network server, computer program means for rendering said text using said fond depending on said access rights in order to allow display of said text with said font and to prevent
  • the server comprises a web/application server running over an operating system of this server.
  • the present invention has applicability for an author who wants to create new fonts either for its private use or for sharing them with another user or group of recipient users connected together over a network and use them only for a specific text or message.
  • This user or group of users may select a font in a font collection created by the author on his own device but stored in a central server.
  • the newly created fonts can be immediately applied to emails, web pages and blogs.
  • An important advantage of the method and system according to the invention is permitting an author to associate a font, created for example by scanning his own handwritten writing, with a specific text, in order to prevent other texts to be displayed with this font.
  • the invention concerns also a computer program product comprising a program to be executed by an author's device and/or a user's device and/or a server for causing it to perform the steps of such a method.
  • Figure 1 is a bloc diagram of a system with a client-server architecture for font creation, distribution and storage according to the present invention.
  • Figure 2 shows a bloc diagram of a prior art system for creating and sharing fonts.
  • Figure 3 shows a flow diagram of a method according to the invention, for creating and sharing fonts in order to use them in messages.
  • Figure 4 shows a flow diagram of an alternate method according to the invention for creating and sharing fonts in order to use them in messages.
  • Figure 5 shows a flow diagram of a method for creating, processing and using personalized fonts through a service server, according to the prior art.
  • Figure 6 shows a flow diagram of another alternate method according to the invention for creating, processing and using personalized fonts from guides.
  • Figure 7 shows a possible embodiment of a font creation interface with multiple input sources for font creation, according to the present invention.
  • Figures 8a to 8f show different input sources for font creation.
  • Figure 9 shows a possible embodiment of the glyph assignment of multiple input sources according to the present invention.
  • Figures 10a and 10b show a screen copy and a partial screen copy for illustrating an embodiment of graphical user interface (GUI) used for segmenting the glyphs and assisting the segmented glyphs with a character, according to the present invention.
  • GUI graphical user interface
  • a letter corresponds to a single alphanumerical or non alphanumerical character, to a symbol, pictogram, etc.
  • a word is a series of letters which may or may not be visually inter-connected.
  • a word usually carries one meaning and is separated from other words by a word separator, for example by a space.
  • a glyph is an element of writing, i.e. a single portion of an image of a text which contributes to the meaning of what is written.
  • a glyph may correspond to a portion of a letter, a complete letter, an alphanumerical character, a pictogram, a smiley, an emoticon, an ideogram, etc.
  • a ligature corresponds to two or more glyphs which are visually inter-connected, for example when two or more characters are joined in handwriting.
  • the word text needs to be understood in its broad acceptation.
  • a text is an ordered set of letters, including alphanumerical or non alphanumerical characters, pictograms, and/or symbols.
  • a specific font may be associated with a specific text, in order to allow display of this text with this font and to prevent other texts to be displayed with the same font.
  • Appropriate access rights may be defined by the font author and stored in the Central Server 2 in order to define which text may be rendered with which font.
  • Figure 1 shows a system for creating and distributing personalized fonts over a network according to the present invention. This system comprises the following elements: a plurality of Font Creation Clients 1, a Central Server 2, possibly associated with a Web/application server 4, and a plurality of Font Display Clients 3. Only one Font Creation Client 1 and one Font Display Client 3 are shown on Figure 1.
  • the Font Creation Client 1, the Font Display Client 3 and the Central Server 2 are mutually connected through a network connection such as a local network and/or the Internet. Fonts created and stored by one Font Creation Client 1 are automatically synchronized with copies stored in a Central Server 2for access and use by one or several Font Display Client 3.
  • One Font Creation Client 1 is provided to each author who wants to create and share a font.
  • This Font Creation Client 1 comprises a software application, for example a program or preferably a plug-in, which is executed locally in a user device such as a computer, a game station or a mobile communication device.
  • the user device includes a processor, random access memory (RAM), non volatile memory, e.g. ROM, hard disk drive, flash memory and/or similar memories. It also comprises a network input/output which can be implemented as a wireless module or as a network connection, and a display monitor.
  • a Local Font Storage 11 stores fonts created with this Client 1.
  • the Local Font storage 11 comprises an input sources database 11a, a font database 11 b, a font packages storage 11c and a font file database 11d.
  • the input source database 11 a stores digital images to be processed for retrieving a font.
  • the digital images used as sources may correspond to handwritten text pages, freeform hand-drawn letter sheets, characters in a grid guide, photo images, hand-drawn smileys, etc.
  • the applications and procedures executed by the Font Creation Client 1 for creating, manipulating and sharing a font are preferably based on a Flash® technology or similar technologies such as Javascript or HTML5 for execution in a web browser such as MS® Internet Explorer for example.
  • a single application that may be downloaded and run in the browser of author's device is used for performing the different steps which are involved in the creation and sharing of a new bitmap font, as well as the different steps which are required for displaying and rendering a bitmap font.
  • This allows any author or user with a browser and an Internet connection to create and use fonts just by downloading and executing this application within his browser and without any need for installing a dedicated application or font.
  • the download may be automatic when the user accesses a particular web page, for example a page with the suitable Flash® code.
  • the Font Display Client 3 comprises a software application, for example a program, a script or a plug-in, executed by a user device such as a computer, a game station, a mobile communication device or any Internet terminal.
  • a user device such as a computer, a game station, a mobile communication device or any Internet terminal.
  • One aim of the Font Display Client 3 is to perform the rendering of a text with the bitmap font selected by the author of the text and stored in the Central Database 21 and, possibly, in the Local Cache 31, while taking into account the scripts possibly associated with some fonts for personalizing this rendering.
  • Another aim is to perform the synchronization of bitmap fonts locally stored in the Cache 31 with fonts stored in the Central Server 2.
  • the software in the Font Display Client 3 can be similar or identical to the Font Creation Client 1.
  • the Local Cache 31 contains a font-packages storage 31 a used for storing bitmap fonts rendered by the Client 3.
  • the applications and procedures executed by the Font Creation Client 1 and by the Font Display Client 3 may be based on the Flash®, Java®, Javascript®, HTML5, Silverlight®, Cocoa® technologies or similar browser-based technologies.
  • the same application may be executed in the Font Creation Client 1 and in the Font Display Client 3.
  • the software of the Font Display Client 3 is a lighter version of the software in the Font Creation Client 1 , and comprises for example only the portions of the code which are required for retrieving and displaying the bitmap fonts, without the portions needed for creating a new font.
  • the font creation, distribution and rendering applications may also consist of independent applications running on top of the operating system, such as but not limited to an Adobe® AIRTM application. It is noted that any other operating system, such as Apple® OSXTM or Linux® may be used, as well as any application platform, should it be browser-based or not, for example but not limited to MS® SilverlightTM or C++TM applications.
  • the resources and processing power required for the font creation, storage and rendering of a bitmap font are shared between Font Creation Client 1, the Server 2 and the Font Display Client 3.
  • the font creation process is principally performed on the author's side in the Font Creation Client 1 by an application executed on the author's device, for example within a browser.
  • the font rendering process on the user's side is performed by the Font Display Client 3 with a similar or identical application executed within a browser of the user's device.
  • the application run in the author's and/or client's device, respectively for the Font Creation Client 1 and the Font Display Client 3, is preferably also capable of sending messages, for example emails or contributions to a blog or chat platform, personalized with a bitmap.
  • the Central Server 2 may be built around a computer server having an operating system, such as but not limited to Microsoft® Windows® NT Server.
  • the Central Server 2 includes a processor, non volatile memory, e.g. ROM, hard disk drive, flash memory, and/or similar memories, a network I/O (input/output) which can be implemented as a wireless module or a network connection, and a display monitor.
  • the Central Server 2 may also be any form of distributed server or virtual machine.
  • the Central Server 2 may run additional image and font processing applications on top of the operating system, such as but not limited to a vectorization application, for processing fonts and text images sent by Fonts Creation Clients 1.
  • the Central Server 2 comprises or can access a Central Database 21 , in which the fonts created by different authors by means of their Font Creation Client 1 are stored, as well as the corresponding access rights.
  • a plurality of files or data are stored in the Central Database 21 during the creation of a new font:
  • the font database 21 b which is a set of bitmap font glyphs at their highest resolution
  • a font packages storage 21c for a set of multi-resolution font packages which are automatically down-sampled from the original font, and/or a vector font file
  • a font metadatabase 21 d in which metadata such as font name, character sets, keywords, spacing, kerning, etc., are stored for each font;
  • a storage 21 e for storing content-file signatures allowing a specific font to be associated with a specific content, for example in order to prevent the use of a particular font with a different content
  • an access rights database 21f that stores the font access rights assigned by each author to his fonts.
  • Each font may be associated with credentials issued by the font author or by a font distributor (not shown).
  • a font author may assign specific rights to a font or group of font and to a user or group of users, in order to grant or restrict the right to preview, view, use, copy and/or buy a font.
  • Scripts may also be associated with some fonts in order to define and personalize the rendering.
  • the Font Display Client 3 on the recipient's s side needs to display a content with a specific font associated with this content, it have to compute the address URL1. If at this address there is a resource, it means that there is a font associated with this content. If so, the Font Display Client 3 retrieves the URL2 from this resource. If not, the Font Display Client 3 displays the content using a replacement font.
  • Font Display Client 3 computes the address URL1 by using a nonreversible algorithm shared with the Central Server; the computation is based on the content and on a secret shared by the Central Server and the Client. This secret or the algorithm is changed periodically, new sets of URL1 are calculated for all known associations and distributed. [00098] The Font Display Client 3 then navigates to this computed URL1 and retrieves the resource at this URL. If the resource exists, this means that there is a Font-Package associated with this content.
  • the Central Server 2 Since the algorithm is non-reversible, to be able to create a new set of URL1 when the secret changes, the Central Server 2 needs to store the association in a database when it is created. This information will be read again only when the secret is changed and in order to recreate the new set of URL1.
  • the access rights may be assigned by the author using the above mentioned browser-based application and/or later edited or updated using an interface to access to Central Server 2.
  • An author may for example grant private rights to one font that can only be accessed by him, restricted rights for other fonts authorized to users or group(s) of users, or public rights for other fonts which can be accessed by all users.
  • Several combinations of rights may be assigned to a specific font and/or to a specific user through a specific interface.
  • a graphical user interface (GUI) provides the author a series of options to grant rights.
  • Table 1 shows an example of assignment of rights in the access right database 21f.
  • an author has the rights which required for viewing and editing his font. This author authorized some users to use one font, but not to duplicate it. Other specific groups may buy the font in order to use it.
  • all users have at least a right to preview the font, for example in a catalog in the public library.
  • All fonts are stored in the input sources database 21a, preferably as bitmap fonts. Several successive versions of a font may be stored in the server 2. [000104] Multi-resolution font-packages may also be computed and stored in the font-packages storage 21c of the Central database 21 in order to optimize bandwidth and to provide efficient font data transmission. When a Font Display Client 3 renders a message with a font, it may automatically retrieve and use the font package with the closest resolution to the requested size and quality.
  • the fonts stored in the Central Database 21 are synchronized with local copies temporarily stored in Local Font Storage 11 on the author's side, and distributed over the Internet to different Font Display Clients 3; this distribution is for example automatically triggered on demand when one authorized user displays a page, e-mail or document with this font.
  • the system may comprise a web/application server 4, associated with the Central Server 2.
  • This web server consists of any kind of web server or application server software where a specific set of instructions, provided as plug-ins, DLLs or others, have been implemented.
  • the web/application server 4 can also process and forward messages sent by the author(s) to some users.
  • Figure 2 shows a flow diagram of a prior art method for local creation of a font, and later sharing of the font with other users.
  • an author who wants to send a message with a new font first needs to draw or import the different letters of the new font (step 5).
  • a font is then locally created and/or edited in the user's device during step 6 in order to generate a font file during step 7.
  • This font is then sent to a Central Server 2 (step 8) where it is stored during step 20. Separately, this font is installed in the author's device during step 9.
  • a user 3 who wants to receive and display a text with this new font first needs to download the font from the server 2 during step 32, and install the font in his device during step 33.
  • a message using the new font can then be prepared and sent by the author during step 10, and displayed with the new font on the recipient side during step 34.
  • Figure 5 shows a flow diagram of another prior art method for creating, remotely processing and using personalized fonts.
  • the new font is generated in a central server.
  • a user first prints a grid guide with his printer P, and then fills during step 5 the grid by drawing glyphes, such as letters or other symbols in the boxes of the grid.
  • the grid is then scanned during step 15, and converted into an image file.
  • the position of each glyph in the grid guide corresponds to the character which has to be associated with this glyph.
  • the scanned bitmap image is then sent at step 16 to a server 2. Since a high resolution image is required, a large file needs to be transferred, which is time consuming or even impossible for equipments with slow Internet connection.
  • bitmap data received by the server 2 is then processed in the server during step 22, in order to generate a bitmap font at step 23.
  • Processing usually includes segmentation of the image in order to isolate the different glyphs, and association of those glyphs with characters or symbols.
  • this step is usually performed automatically without any user intervention, and based for example on optical character recognition and/or position of the glyphs within the grid. Therefore, it only works with fonts which are relatively easy to recognize, or at least when optical recognition or use of a grid is feasible.
  • step 23 The font generated at step 23 is then sent back during step 24 to the author's device 1, where it is downloaded at step 17.
  • the author 1 then has to send, or make available, a copy of this newly generated font to all other users who needs this font, for example by sending e-mails with the font in attachment, or by uploading this fonts in font repositories over the Internet.
  • the author 1 also needs to install his own font (step 9) in order to use it (step 18).
  • a Font Creation Client 1 i.e., an application or plug-in.
  • This application can be retrieved from the Central Server 2, or from any other suitable repository, and needs to be downloaded only once for all the subsequent fonts to create or display.
  • This application/plug-in is preferably run in a browser where it is automatically launched when the author accesses a specific address or link on the Internet.
  • a font is then created within the Font Creation Client 1 by drawing or importing an image with glyphs (step 5 in Figures 3 and 4).
  • the font is then edited and processed (step 6), wherein the processing comprises a segmentation and assignment, as will be described.
  • the font creating and processing of steps 5 and 6 is performed locally in the author's device with the application previously installed or launched during step 12.
  • a message using this new font can then be sent directly from the same application during step 10, for example an e-mail message, a contribution on a blog, a web page, an instant messaging message, etc.
  • the bitmap font stored in the Central Server 2 may be further processed by the author and/or by any other authorized user, using a suitable remote application in the Central Server 2, for example an application available through a web page which can be accessed with the Web server 4 (step 40).
  • This font is also made immediately available to authorized users over this web server 4, and can be immediately used at step 34, for example in order to display messages with this font sent by the author during step 10.
  • font-packages may be cached by the Font Display Client 3 in a local memory 31. Instead of repeatedly fetching the same font package on the Central Server 2, all messages with an identical font will be displayed by using this locally-stored copy of the bitmap font.
  • the Font Display Client 3 then provides a mechanism for synchronizing the local copy of the font with the copy in the Central Storage 2, in order for example to update the font.
  • new versions of the fonts uploaded in the Central Server 2 are automatically transmitted to the users with a local copy, subject to access rights.
  • a subset of glyphs is transmitted from the Central Server 2 to the Font Display Client 3, for example only the glyphs corresponding to the characters which are used in a text to render with this font.
  • the font-package transmitted to the user's device for rendering of a particular text or for synchronization with the local copy is preferably automatically selected among a plurality of available packages with different resolutions; the Font Display Client 3 automatically retrieves the font with the best resolution needed for the display of the text, depending on the text and on the user's device.
  • FIG. 4 a local copy of a new font is stored during step 13 in a cache of the author device 1 for faster access and processing.
  • the fonts in this local Cache are later automatically synchronized with the fonts stored in the Central Server 2. This local storage is not performed in Figure 3, where the new font is immediately transferred to the Central Server 2, and where even the author accesses only the centrally stored version of his font.
  • the transmission of the new font from the Font Creation Client 1 to the Central Server 2 is preferably automatically performed without any author's intervention, using synchronization mechanisms executed as part of the Font Creation Client 1. The author may nevertheless intervene during this step, for example in order to change the user's rights assigned to this font.
  • a font will not be deleted from the Central Database 21, modified or otherwise made unavailable after its distribution to any client 3 who used or bought it. Even if one author disables one font at some time, messages previously associated with that font will still be displayable by using a duplicated font-packages storage 21c.
  • a time stamp may be associated with each modification of the font's access rights and with each message, so that only earlier messages can be displayed with this font, but no messages created after the font's disability.
  • FIG. 6 illustrates another example of font generating and sharing process according to the invention.
  • an author downloads from the Central Server 2 or any other repository the Font Creation Client 1, and installs this application in his device, or runs it as a plug-in in a browser.
  • This installation needs to be done only once in a device and the plug-in can for example be executed or made available each time the browser is subsequently started.
  • step 14 the author prints a grid guide with the printer P or retrieves such a grid guide.
  • the grid guide may be printed by using an option or command in the plug in.
  • the author then draws letters or groups of letters in boxes of the grid guide during step 5.
  • the grid guide is scanned during step 15, and converted into a bitmap file.
  • the author can also retrieve images of texts with glyphs by selecting a file otherwise available.
  • the author can also draw or modify glyphs within the plug-in, by using a suitable drawing software.
  • bitmap image is processed in order to isolate the different glyphs on the page and to associate each glyph with one character or sequence of characters.
  • This processing is advantageously performed locally in the Font Creation Client, i.e, by the very same application/plug in which is used for drawing or importing the bitmap file and later on for sharing and displaying the generated bitmap font.
  • some steps of the font generation process are performed in a remote Central Server 2 during step 22.
  • the segmentation of the image into different glyphs, and/or the association between each glyph and or character or sequence of characters is preferably performed locally in the author's Font Creation Client 1, in order to avoid transfer of large size files.
  • Some subsequent steps can be performed in the server 2, in order to exploit the larger processing power.
  • the bitmap font which is generated at the end of the process is preferably stored in the author's Font Creation Client 1 during step 13, and automatically sent and synchronized during step 20 with a copy stored in the Central Database 21 of the Central Server 2.
  • This font can also be used immediately for displaying text in the author device, using a bitmap font rendering tool as part of the Font Creation Client /plug-in.
  • the user can also define user's rights during steps 19-13, and store those rights in the Central Server 2 for defining what other users can do with this font.
  • the method according to the present invention preferably does not rely on the input-sources database 21 a to store access rights for a Font Display Client 3.
  • the method of authentication and credentials required for using a specific font can thus be changed without any modification of the input-sources database 21a.
  • This feature further enables to periodically change the association method in order to prevent attackers from gathering all font-packages or associate any content with any font- package.
  • the new font is immediately made available at step 40 to other users through the web or application server 4.
  • Other users who need to display a text with this new bitmap font can immediately do this with a suitable Font Display Client 3 that will retrieve this font from the Central Server 2 through the web or application server 4.
  • Figures 7 to 8b are various screen copies and partial screen copies displayed by the Font Creation Client 1 during the font creation process of the present invention.
  • Figure 7 is a screen copy displayed by the Font Creation Client 1 of the author's device during step 19 of the font creation process.
  • the creation of a new bitmap font comprises a plurality of steps which are, in this embodiment, successively performed with various tabs in a window displayed by the Font Creation Client Software application.
  • the displayed window comprises a first tab titled "Import” for the importation of an image of a text with glyphs, a second tab “Segment” for the segmentation of this image in order to isolate the glyphs, a third tab “Assign” for assigning a character or sequence of characters to a glyph, a fourth tab “Adjust” for the adjustment of the glyph, and a fifth tab “Export” for exporting the created bitmap font.
  • the first step consists in the importation of images and/or directly drawing of glyphs within the Font Creation Client 1, by using any device such as a mouse, a tablet, a touch screen or an image scanner for example.
  • the application for importing the image is advantageously run in the web browser of the author's computer, as part of the author's Font Creation Client plug-in.
  • the importing window proposes different files which are available from the author's device, namely a free text scan_31.jpg represented by a mosaic 106, a photo scan_32.jpg represented by a mosaic 110, a grid guide scan_33.jpg represented by a mosaic 104 and a free form scan_34.jpg represented by a mosaic 102.
  • the author can freely select one of those images.
  • Other and new images can also be used, including sources in different formats.
  • Figures 8a to 8f illustrate different examples of images (input sources) that an author may select to create a font.
  • Example of possible images include for example: separate individual image files 100 (one file for each glyph); one single hand-written page 102 with characters, numbers, symbols and even drawings; a grid guide of characters 104, in which one glyph is written in each or some boxes of the grid; a hand-drawn text page 106; a guided hand-drawn text page 108; and/or a photographic picture 110.
  • Sources with guides may include some specific helper codes such as a Datamatrix or QR Code 114, shown on Figure 8c and 8e, in order to identify the specific character sequences and to indicate the orientation of the page.
  • This code 114 can also be used for indicating the type of input source.
  • Those guides 114 may for example be printed on paper form on which the author draws or writes a new font, and scanned together with the image of the font in order to provide automatic font recognition and orientation.
  • An author may also combine several glyph creation methods, and/or modify a previously imported glyph.
  • the author may write a free text on a page, scan and import this text into the browser- based application, and modify or clean the scan image using image processing tools provided by the Font Creation Client plug-in and/or by the Central Server 2.
  • the processing of the scanned image may for example include removal of noise, increase of sharpness, adaptation of contrast, rotation and resizing of the image and manual edition of glyphs or glyph parts.
  • Multiple input sources may also be processed and used for the creation of a single alphabet.
  • the author(s) may import several input sources on a single canvas and display them with a preview.
  • Additional information may also be retrieved from the scanned form and/or entered by the author, including for example the characters to be extracted or the type of segmentation to be used during the next step of the font processing.
  • sources When several sources are edited at any step of the process, they may also be displayed and organized as a series of elements.
  • various sources of one type are displayed on various sub-tabs, with or without a preview icon, or simply by representing the sources by file names scan_31.jpg to scan_34.jpg, as shown in Figure 9.
  • the lower part of the window of Figure 9 shows an image of a currently selected sub-tab (here the image scan_33.jpg) as well as a virtual keyboard for assigning glyphs on this image with characters or series of characters.
  • a segmentation is automatically and/or manually performed in order to identify areas of the image containing the various glyphs.
  • An automatic segmentation may be used when the source is guided, for example based on a grid, while manual segmentation may be preferred for other types of sources.
  • the Font Creation Client 1 proposes an automatic segmentation, based for example on position in a grid and/or on optical recognition algorithms, and the author can adjust the segmentation in a manual step, if needed.
  • Figures 10a and 10b show an exemplary screen copy of a window that may be displayed within the browser by the Font Creation Client 1 during the font segmentation and association process.
  • the author(s) may draw and/or adjust the size, shape and position of bounding boxes around each glyph to be extracted.
  • Other shapes instead of this rectangle bounding box may also be used, for instance a lasso tool to delimit a freeform polygon around the glyph.
  • Figure 10a illustrates a source image 200 previously imported and selected by the author and which is displayed in a portion of the display.
  • This image typically comprises a plurality of individual glyphs 202 which need to be isolated.
  • Each glyph is delimited by a bounding box 204, 210, 212 or 214.
  • the bounding box 204 comprise handles 206 with which the boxes may be manually modified with a cursor in order to affect the dimension, position and rotation of the box. It is also possible to scale a box 204 in order to adapt the size of the glyph in the box. Once a new bounding box 204 is selected, the other ones 212 are simply visualized with a single stroke without any handles.
  • a glyph 202 may then be manually associated with a character or a string of characters by using for example one of the following steps performed by the author: -automatic association, for example based on optical character recognition, or on position in a grid.
  • the character or symbol automatically assigned to a glyph can be corrected by the author.
  • the image cropped inside the box may be displayed as semi-transparent, as shown by the box 214, or replaced by a smaller icon or specific cursor arrow to facilitate the placement over the virtual keyboard 218.
  • droppable keys 224 of the virtual keyboard may be specifically at least temporarily recognizable, for example by highlighting as the box is dragged over them. Once a glyph has been dropped over a virtual key, this key can be made recognizable in another manner, for example differently highlighted as referenced with 222, for the author to notice which keys have already been associated with a glyph.
  • the preview window 230 of Figure 10b provides a preview of the cropped glyph image together with a text field 232 in which the author can enter one or several character(s) to associate with this glyph.
  • a box eraser 236 is provided in the preview window 230 for removing noise pixels around the character.
  • This preview window 230 includes additional image modifications options 234 for modifying the glyph, such as a delete key D and navigation keys referenced Pr, Ne En respectively for Previous, Next and Enter to navigate between the successive bounding boxes.
  • a behavior may be effective on glyphs, words, sentences or paragraphs, and affect them differently, for instance incrementally.
  • a behavior may be set before the user types text, or applied after a text block was selected. Behaviors may be exposed to the user by a series of parameters. Behaviors may be accumulated and applied sequentially. Behaviors may be provided at random or may be manually added to the rendering system, and provided as external programming script codes.
  • bending lines can be cited in regard of slope, curvature and bending start. Jitter can be also considered, especially for horizontal displacement, vertical displacement, maximum for random translation, maximum for random rotation and maximum for random scale.
  • Parameters concerning the drying ink i.e. percentage loss and consumption per letter/ word/ line and parameters concerning the ligatures, i.e. On /Off switch and maximum letters per ligature are also of interest as well as alternates, e.g. contextual alternative glyphs.
  • the author of a font may thus program specific scripts, for instance in a Flash® application or similar software, in order to apply them to a displayed text. This also allows to use bitmap fonts and to process additional image-based visual effects, such as but not limited to a blur, sharpening or coloring of the glyphs.

Abstract

The present invention concerns a method for displaying a text created by an author using a font on at least an user's device, wherein access rights are associated with said font, wherein said access rights depend on said text to display with said font, in order to allow display of said text with said font and to prevent display of any other text with said font. The present invention relates also to a system and a computer program product for creating and sharing personalized font on a client-server architecture.

Description

A system and method for displaying a text with a font
Field of the invention
[0001] The present invention concerns a method and a system for displaying a text using a font on a user's device, wherein access rights associated with this font depend on this text in order to allow display of said text with this font and to prevent display of any other text with this font.
Description of related art
[0002] With the advent of communication networks, such as the Internet and other private/public networks, computer devices have been used for sharing a wide range of information, from text to images and videos. Wireless networks have extended this scope of connectivity through mobile devices such as smart-phones, personal device assistants or notebooks. Since individuals and businesses now commonly use communication tools such as emails, blogs or chats for various purposes, users require a large degree of control over these messages to convey different intentions.
[0003] In this context of massive information exchange, differentiation becomes a key factor. Given that a major part of online communications is text-based, text display customization should be extensive and user- friendly.
[0004] Therefore, in text communications, users often put some emphasis on specific words or text blocks, in order to facilitate the legibility of a document or to convey a special meaning. In such a case, users have developed distinct ways to personalize texts: by applying styles, by changing fonts, by altering font properties, or by creating micro-languages such as smileys and short SMS-style language.
[0005] Most text-editors feature basic styles such as size, color, underlined, or paragraph alignments. Visual variety is also provided by font choices, which may however be limited to the set of fonts installed on the computer device. Finally, font properties such as spacing, tracking or contextual ligatures may sometimes be applied.
[0006] Despite this array of personalization options, text-based applications share some common limitations. The text format has to be set manually for each character, text block, paragraph or selection. It is only through a time-consuming manual process that an end-user can customize the visual appearance of a message. More advanced personalization, for example non parallel paragraphs or text baselines, are usually not possible, although very common and distinctive for handwriting. [0007] The possibilities of personalization with new or unusual fonts, although attractive, are often limited. This in due, in part, to the complexity of current font creation and distribution tools. Drafting and sharing personalized fonts is out of reach for most end-users which therefore have to rely on existing sets of standard fonts. [0008] Font creation solutions exist, but their use is limited to advanced users and professionals and usually requires installation of a comprehensive software package. This in not adapted for casual users. Moreover, even when a new font has been created or updated, it is difficult to distribute it. Current font formats such as TrueType®, OpenType® or Postscript® cannot be used on a device without prior local installation.
[0009] A consequence is that most web sites or email clients, for example, only use the very limited number of standard fonts that are installed in most computers and devices.
[00010] Solutions such as Embedded OpenType® have been developed in order to distribute and display copyright vector fonts on the web, but the specific subsetting and encryption methods it uses lead to the multiplication and redundancy of font data and files between many devices and websites, to a waste of storage space, and to frequent incompatibility between successive versions of one font. [00011 ] There are several patents or patent publications in the prior art related to the creation of fonts, including fonts based on handwriting. The following documents are herewith enclosed by references:
[00012] FR2807183 describes a method for creating a handwritten font based on a guide grid. This document does not provide any solution for sharing fonts, and requires installation of a dedicated program and fonts on an end-user's device.
[00013] US7352899 ("Realistic machine-generated handwriting with personalized fonts") describes a method for generating a handwritten font, where handwriting variability is randomly simulated. The method applies to vector fonts only. Although vector fonts are easily scalable, they are poorly adapted to the representation of handwriting, since the texture and pressure of the writer cannot be easily represented with vectors.
[00014] US5412771 ("Generation of interdependent font characters based on ligature and glyph categorizations") describes a method for automatic generation of ligatures between characters.
[00015] US6867787 ("Character generator and character generating method") relates to a method for applying three dimensional effects to a font. [00016] US7379075 relates to a method for the representation of colour in bitmap fonts.
[00017] US6870535 ("Font architecture and creation tool for producing richer text") relates to a method of creating a series of font characters represented by a specific hierarchical graph structure. [00018] US6958755 describes a personalized computer font solution using a simplified workflow for personal fonts creation. It is limited to creation of fonts based on letters drawn on a grid. As most current font solutions, it also relies on font technologies that are not appropriate for live communications between different interconnected devices. [00019] US2004091176 describes another method for generating a vector font from characters written in a grid.
[00020] US6065008 ("System and method for secure font subset distribution") relates to a method for creating, signing and distributing fonts and to various methods for authenticating fonts subsets.
[00021 ] US5533174 relates to a method for secure distribution of font stored in a server.
[00022] US6853980 describes a system for distributing fonts, where the distance between fonts is computed for facilitating the search. [00023] US7009612 relates to a method for generating fonts based on an existing font.
[00024] US6975412 relates to a method for authenticating fonts in order to make sure that the font used during rendering is the same as the font used during the creation of a document. [00025] US7188313 relates to a program for automatic generation of ligature between adjacent characters.
[00026] US5295238 relates to another program for automatic generation of context sensitive characters.
[00027] WO2006042307 relates to a method for introducing randomness in a vector font, in order to simulate handwriting.
[00028] US2003025675 describes a method for simulating handwriting in a vector font, using various parameters such as width, pressure, speed, etc.
[00029] US7161598 describes a program for the rendering of fonts, wherein a single file is used for defining a plurality of characters. [00030] None of those solutions provides a method for displaying a text with a font and preventing display of any other text with this font. [00031 ] Moreover none of those solutions provides a method for creating and sharing a new font without installing any dedicated authoring software. Thus, the creation of new font is limited to expert users who have the time and money for purchasing and/or installing a new application in their computer. This is hardly convenient for casual users, for example users who have only one font to create and share.
[00032] In addition, the author of a new font has no or limited possibilities for controlling the access rights to his new font, and for deciding which other user or group of users are authorized to use or modify his font.
[00033] Especially the creation of a new font from an image, such as a scanned bitmap image, for example, involves advanced methods and user interactions which are usually performed with proprietary software which must be installed in the author's computer. [00034] In addition, none of those solutions provides a convenient method allowing users to produce new original fonts, for example fonts based on their personal handwritings or custom smileys, and immediately use those fonts in messages sent to recipients. In all or most of the prior art solutions, display and use of a font is only possible for recipients who have previously installed this font in their computer systems. This seriously limits the acceptance of the new fonts.
[00035] Moreover, even if some services have been proposed to simplify the process of handwritten font creation, the lack of control over the end- result limits the interest of those services and the quality of this result. [00036] Moreover, the creation and the rendering of the fonts are usually performed with two different software programs, which often produce a different rendering.
[00037] Therefore, there is a need for a font creation tool which is adapted to users who want to create a new font for one single message, in order to prevent other messages to be displayed with this font. [00038] There is also a need for a system and method that enable authors to control which user, or group of users, can use this newly created font and for which purpose.
[00039] There is a need for a system and for a method that enable users to easily create a new font, for example a font based on handwriting, or based on a scanned image, or any other type of font.
[00040] There is also a need for a system and for a method that enable users to immediately use a newly created font in documents or messages that can immediately and easily be read and correctly rendered by any recipient, without any installation of font creation software in the author's device nor in the recipient device, and without explicit installation of the new font in the recipient's device.
[00041 ] There is further a need for a system and method that enable authors to create fonts, especially bitmap fonts, which better simulate the handwriting and quality of a rendered text with this font.
[00042] There is also a need for a system and method that enable authors to create or edit a font with the same tools, or a similar set of tools, than the software tools used by the receiving user for rendering the font.
[00043] A further aim is to fulfill the need for a system that provides more advanced styling features, more flexibility over displayed texts, for example text blocks or text flows and with a greater ease of use for the end-users. They may also be empowered to create custom glyphs to extend existing fonts. This will ultimately lead to more expressive and original displayed texts. Brief summary of the invention
[00044] According to the present invention, these problems are solved by a method for displaying a text created by an author using a font on at least an user's device, wherein access rights are associated with said font, characterized in that said access rights depend on said text to display with said font, in order to allow display of said text with said font and to prevent display of any other text with said font. [00045] One author can preferably define access user's rights to a font in order to authorize or prevent other users to use this font. The user's rights can be stored in a Central Server.
[00046] Advantageously, the access rights are granted by the author to a limited number of users.
[00047] Advantageously the font is based on bitmap font described by a bitmap file (i.e., an array of pixels) for allowing a more flexible representation of text, since the color of each pixel can be individually controlled. The bitmap that corresponds to each character can be stored in a central server that can be accessed by each authorized user who needs this font to display a text.
[00048] The rendering of a text with this font is performed by a rendering software in the user's device. In one embodiment, this rendering is performed with an application run in a browser of the user's device, for example based on Flash®, Java®, Javascript®, HTML5, Silverlight®, Cocoa® application or similar technologies. Advantageously, the same piece of software is used for creating a new font and for rendering this font in a browser.
[00049] Advantageously the same piece of software used for creating a new font and for rendering this font in a browser is used also for granting the access rights in order to authorize or prevent a user to use the font.
[00050] The bitmap fonts are preferably stored in a central server, and accessed by the rendering application of the users who need to use this font. Local, cache copies of those fonts can also be stored in devices of authorized users
[00051 ] Advantageously the authentication of the association method of a font with a text changes periodically in order to prevent the association of any text content with any font.
[00052] This association method comprises a static web resource containing the URL of the font, created by the server; this static web resource is stored in the server. The rendering application of user's device computes the address of this web resource using a common non-reversible algorithm based on the content and a secret they share. In one embodiment this secret, or this algorithm, is changed periodically. A new set of static web resource containing the URL of the font is calculated when the secret or the algorithm is changed.
[00053] A time stamp can be associated with each modification of the user's rights, so that, when a font is disabled or otherwise made unavailable for some users, only earlier message can be displayed with this font but no message created after the font disability. [00054] Advantageously multiple fonts can be associated with a text by the author. The author can, in one embodiment, associates different parts of the text with different fonts. For example he can associate the first part of the text with a font F1, the second part with a font F2 different from F1, and the final part with a font F3 different from F1 and F2. [00055] In another embodiment, different fonts can be associated by the author to different parts of the text and the user, when receives the text, can select the font with which display these different parts. For example the author can associates the first part of a text with fonts F1 and F2 and the second part with font F2 and F3. The user can choose to display for example all the text with the font F2, or the first part with the font F1 and the second with the font F2 or F3. All the possible combinations of the fonts for the different parts can be selected by the user.
[00056] In another embodiment, the author can associate a text with multiple fonts having different priorities. The text is displayed by the user with the font having a higher priority. In one embodiment the user can decide to display this text with an allowed font having a lower priority.
[00057] The invention concerns also a system for allowing at least an user's device to display a text created by an author using a font, wherein access rights are associated with said font and depend on said text to display with said font comprising an author's device for creating said font and for associating said access rights to said font, a network server connected over a network to said author's device and at least an user device for receiving said font from the server, whereby the author's device includes computer program means for receiving and sending information over the network server, computer program means for creating said bitmap font and for associating access rights to said font depending on said text, whereby said server includes means for storing said access rights and whereby said user device includes computer program means for receiving information over the network server, computer program means for rendering said text using said fond depending on said access rights in order to allow display of said text with said font and to prevent display of any other text with said font.
[00058] Preferably, the server comprises a web/application server running over an operating system of this server.
[00059] The present invention has applicability for an author who wants to create new fonts either for its private use or for sharing them with another user or group of recipient users connected together over a network and use them only for a specific text or message. This user or group of users may select a font in a font collection created by the author on his own device but stored in a central server. For example, the newly created fonts can be immediately applied to emails, web pages and blogs. [00060] An important advantage of the method and system according to the invention is permitting an author to associate a font, created for example by scanning his own handwritten writing, with a specific text, in order to prevent other texts to be displayed with this font.
[00061 ] The invention concerns also a computer program product comprising a program to be executed by an author's device and/or a user's device and/or a server for causing it to perform the steps of such a method.
Brief Description of the Drawings
[00062] The invention will be better understood with the aid of the description of an embodiment given by way of example and illustrated by the Figures, in which: [00063] Figure 1 is a bloc diagram of a system with a client-server architecture for font creation, distribution and storage according to the present invention.
[00064] Figure 2 shows a bloc diagram of a prior art system for creating and sharing fonts.
[00065] Figure 3 shows a flow diagram of a method according to the invention, for creating and sharing fonts in order to use them in messages.
[00066] Figure 4 shows a flow diagram of an alternate method according to the invention for creating and sharing fonts in order to use them in messages.
[00067] Figure 5 shows a flow diagram of a method for creating, processing and using personalized fonts through a service server, according to the prior art.
[00068] Figure 6 shows a flow diagram of another alternate method according to the invention for creating, processing and using personalized fonts from guides.
[00069] Figure 7 shows a possible embodiment of a font creation interface with multiple input sources for font creation, according to the present invention. [00070] Figures 8a to 8f show different input sources for font creation.
[00071 ] Figure 9 shows a possible embodiment of the glyph assignment of multiple input sources according to the present invention.
[00072] Figures 10a and 10b show a screen copy and a partial screen copy for illustrating an embodiment of graphical user interface (GUI) used for segmenting the glyphs and assisting the segmented glyphs with a character, according to the present invention.
Detailed Description of possible embodiments of the Invention [00073] For understanding purposes, a definition of the following words as they are used in this document is provided:
A letter corresponds to a single alphanumerical or non alphanumerical character, to a symbol, pictogram, etc. A word is a series of letters which may or may not be visually inter-connected. A word usually carries one meaning and is separated from other words by a word separator, for example by a space.
A glyph is an element of writing, i.e. a single portion of an image of a text which contributes to the meaning of what is written. A glyph may correspond to a portion of a letter, a complete letter, an alphanumerical character, a pictogram, a smiley, an emoticon, an ideogram, etc.
A ligature corresponds to two or more glyphs which are visually inter-connected, for example when two or more characters are joined in handwriting. The word text needs to be understood in its broad acceptation.
Basically, a text is an ordered set of letters, including alphanumerical or non alphanumerical characters, pictograms, and/or symbols.
[00074] According to the invention, a specific font may be associated with a specific text, in order to allow display of this text with this font and to prevent other texts to be displayed with the same font. Appropriate access rights may be defined by the font author and stored in the Central Server 2 in order to define which text may be rendered with which font.
[00075] Using this feature, an author may for example create a font corresponding to his handwriting, or any other font, and immediately send a highly personalized message, for example an e-mail, a contribution to a blog or website, etc, with this font to any recipient. The recipient user can use this font for immediate display of the personalized message sent by the author, but is prevented from using this handwritten font for the rendering of other messages. [00076] Figure 1 shows a system for creating and distributing personalized fonts over a network according to the present invention. This system comprises the following elements: a plurality of Font Creation Clients 1, a Central Server 2, possibly associated with a Web/application server 4, and a plurality of Font Display Clients 3. Only one Font Creation Client 1 and one Font Display Client 3 are shown on Figure 1.
[00077] The Font Creation Client 1, the Font Display Client 3 and the Central Server 2 are mutually connected through a network connection such as a local network and/or the Internet. Fonts created and stored by one Font Creation Client 1 are automatically synchronized with copies stored in a Central Server 2for access and use by one or several Font Display Client 3. One Font Creation Client 1 is provided to each author who wants to create and share a font. This Font Creation Client 1 comprises a software application, for example a program or preferably a plug-in, which is executed locally in a user device such as a computer, a game station or a mobile communication device. The user device includes a processor, random access memory (RAM), non volatile memory, e.g. ROM, hard disk drive, flash memory and/or similar memories. It also comprises a network input/output which can be implemented as a wireless module or as a network connection, and a display monitor.
[00078] Various input devices Id can be connected to the Font Creation Client 1, such as but not limited to a mouse, a stylus, a touch panel, a camera or a scanner. A printer P can be connected in order to print paper grids and other guides used during the creation of a font. [00079] A Local Font Storage 11 stores fonts created with this Client 1. The Local Font storage 11 comprises an input sources database 11a, a font database 11 b, a font packages storage 11c and a font file database 11d.
[00080] The input source database 11 a stores digital images to be processed for retrieving a font. The digital images used as sources may correspond to handwritten text pages, freeform hand-drawn letter sheets, characters in a grid guide, photo images, hand-drawn smileys, etc. [00081 ] The applications and procedures executed by the Font Creation Client 1 for creating, manipulating and sharing a font are preferably based on a Flash® technology or similar technologies such as Javascript or HTML5 for execution in a web browser such as MS® Internet Explorer for example. In one embodiment, a single application that may be downloaded and run in the browser of author's device is used for performing the different steps which are involved in the creation and sharing of a new bitmap font, as well as the different steps which are required for displaying and rendering a bitmap font. This allows any author or user with a browser and an Internet connection to create and use fonts just by downloading and executing this application within his browser and without any need for installing a dedicated application or font. Moreover, the download may be automatic when the user accesses a particular web page, for example a page with the suitable Flash® code. [00082] Each user who wants to display a font created within the system needs a Font Display Client 3. The Font Display Client 3 comprises a software application, for example a program, a script or a plug-in, executed by a user device such as a computer, a game station, a mobile communication device or any Internet terminal. [00083] One aim of the Font Display Client 3 is to perform the rendering of a text with the bitmap font selected by the author of the text and stored in the Central Database 21 and, possibly, in the Local Cache 31, while taking into account the scripts possibly associated with some fonts for personalizing this rendering. Another aim is to perform the synchronization of bitmap fonts locally stored in the Cache 31 with fonts stored in the Central Server 2. The software in the Font Display Client 3 can be similar or identical to the Font Creation Client 1. The Local Cache 31 contains a font-packages storage 31 a used for storing bitmap fonts rendered by the Client 3. [00084] The applications and procedures executed by the Font Creation Client 1 and by the Font Display Client 3 may be based on the Flash®, Java®, Javascript®, HTML5, Silverlight®, Cocoa® technologies or similar browser-based technologies. The same application may be executed in the Font Creation Client 1 and in the Font Display Client 3. In another embodiment; the software of the Font Display Client 3 is a lighter version of the software in the Font Creation Client 1 , and comprises for example only the portions of the code which are required for retrieving and displaying the bitmap fonts, without the portions needed for creating a new font.
[00085] The font creation, distribution and rendering applications may also consist of independent applications running on top of the operating system, such as but not limited to an Adobe® AIR™ application. It is noted that any other operating system, such as Apple® OSX™ or Linux® may be used, as well as any application platform, should it be browser-based or not, for example but not limited to MS® Silverlight™ or C++™ applications.
[00086] The resources and processing power required for the font creation, storage and rendering of a bitmap font are shared between Font Creation Client 1, the Server 2 and the Font Display Client 3. The font creation process is principally performed on the author's side in the Font Creation Client 1 by an application executed on the author's device, for example within a browser. The font rendering process on the user's side is performed by the Font Display Client 3 with a similar or identical application executed within a browser of the user's device.
[00087] Since the same, or a similar, application may be used during the creation and rendering this font, the appearance of this font is the same on the author and user sides.
[00088] The application run in the author's and/or client's device, respectively for the Font Creation Client 1 and the Font Display Client 3, is preferably also capable of sending messages, for example emails or contributions to a blog or chat platform, personalized with a bitmap.
[00089] Still referring to Figure 1, the Central Server 2may be built around a computer server having an operating system, such as but not limited to Microsoft® Windows® NT Server. The Central Server 2 includes a processor, non volatile memory, e.g. ROM, hard disk drive, flash memory, and/or similar memories, a network I/O (input/output) which can be implemented as a wireless module or a network connection, and a display monitor. The Central Server 2 may also be any form of distributed server or virtual machine. The Central Server 2 may run additional image and font processing applications on top of the operating system, such as but not limited to a vectorization application, for processing fonts and text images sent by Fonts Creation Clients 1.
[00090] The Central Server 2 comprises or can access a Central Database 21 , in which the fonts created by different authors by means of their Font Creation Client 1 are stored, as well as the corresponding access rights. [00091 ] More precisely, a plurality of files or data are stored in the Central Database 21 during the creation of a new font:
• the original input sources database 21 a;
• the font database 21 b, which is a set of bitmap font glyphs at their highest resolution; • a font packages storage 21c for a set of multi-resolution font packages which are automatically down-sampled from the original font, and/or a vector font file;
• a font metadatabase 21 d in which metadata such as font name, character sets, keywords, spacing, kerning, etc., are stored for each font;
• a storage 21 e for storing content-file signatures allowing a specific font to be associated with a specific content, for example in order to prevent the use of a particular font with a different content; • an access rights database 21f that stores the font access rights assigned by each author to his fonts. Each font may be associated with credentials issued by the font author or by a font distributor (not shown). A font author may assign specific rights to a font or group of font and to a user or group of users, in order to grant or restrict the right to preview, view, use, copy and/or buy a font.
[00092] Scripts may also be associated with some fonts in order to define and personalize the rendering. [00093] According to the invention, it is possible to change periodically the validation of the association of a text content with a font without impacting the content. This characteristic enables to prevent attackers from gathering all fonts or to associate any content with any font.
[00094] To validate the association of a content with a font and retrieve this font, it is possible to call a dynamic web service that would read a database, validate the association and then provide the associated font URL. However calculating this information by this way may hinder scalability. Therefore, according to one aspect of the invention, static resources of the internet infrastructure are used. [00095] In one example, when an author decides to associate a content with a font, for example when an author creates a message with a specific font, the Central Server 2 creates a static web resource referenced at the address at URL1 and containing the URL of the associated font referenced URL2. [00096] When the Font Display Client 3 on the recipient's s side needs to display a content with a specific font associated with this content, it have to compute the address URL1. If at this address there is a resource, it means that there is a font associated with this content. If so, the Font Display Client 3 retrieves the URL2 from this resource. If not, the Font Display Client 3 displays the content using a replacement font.
[00097] Font Display Client 3 computes the address URL1 by using a nonreversible algorithm shared with the Central Server; the computation is based on the content and on a secret shared by the Central Server and the Client. This secret or the algorithm is changed periodically, new sets of URL1 are calculated for all known associations and distributed. [00098] The Font Display Client 3 then navigates to this computed URL1 and retrieves the resource at this URL. If the resource exists, this means that there is a Font-Package associated with this content.
[00099] Since the algorithm is non-reversible, to be able to create a new set of URL1 when the secret changes, the Central Server 2 needs to store the association in a database when it is created. This information will be read again only when the secret is changed and in order to recreate the new set of URL1.
[000100] The following algorithm may be used to compute URL1 : For p the content's permalink, c the content and s the shared secret, k = sha1 (norm(p)) m = sha1 (norm(c)) URL1 = http://fontstoraaeURL.eom/s/k/mRenderinq
Other algorithms can be visualized by the person skilled in the art in order to compute the URL1.
[000101] The access rights may be assigned by the author using the above mentioned browser-based application and/or later edited or updated using an interface to access to Central Server 2. An author may for example grant private rights to one font that can only be accessed by him, restricted rights for other fonts authorized to users or group(s) of users, or public rights for other fonts which can be accessed by all users. Several combinations of rights may be assigned to a specific font and/or to a specific user through a specific interface. Advantageously, a graphical user interface (GUI) provides the author a series of options to grant rights. [000102] Table 1 shows an example of assignment of rights in the access right database 21f. In this example, an author has the rights which required for viewing and editing his font. This author authorized some users to use one font, but not to duplicate it. Other specific groups may buy the font in order to use it. Finally, all users have at least a right to preview the font, for example in a catalog in the public library. Preview View Use Copy
Private Author
Specific users
Specific groups
Public All users
Figure imgf000019_0001
Preview Display a font preview in the font library
View Display messages with the font
Use Enable font usage
Table 1
[000103] All fonts are stored in the input sources database 21a, preferably as bitmap fonts. Several successive versions of a font may be stored in the server 2. [000104] Multi-resolution font-packages may also be computed and stored in the font-packages storage 21c of the Central database 21 in order to optimize bandwidth and to provide efficient font data transmission. When a Font Display Client 3 renders a message with a font, it may automatically retrieve and use the font package with the closest resolution to the requested size and quality.
[000105] As already mentioned, the fonts stored in the Central Database 21 are synchronized with local copies temporarily stored in Local Font Storage 11 on the author's side, and distributed over the Internet to different Font Display Clients 3; this distribution is for example automatically triggered on demand when one authorized user displays a page, e-mail or document with this font.
[000106] Still referring to Figure 1, the system may comprise a web/application server 4, associated with the Central Server 2. This web server consists of any kind of web server or application server software where a specific set of instructions, provided as plug-ins, DLLs or others, have been implemented. Interconnected between the Central Server 2 and the Font Display Client 3, it makes the fonts stored in Central Database 21 available to a plurality of users for rendering fonts. In one embodiment, the web/application server 4 can also process and forward messages sent by the author(s) to some users. [000107] We will now describe some methods which are carried out during the creation, sharing and display of a font. Figure 2 shows a flow diagram of a prior art method for local creation of a font, and later sharing of the font with other users. In this method, an author who wants to send a message with a new font first needs to draw or import the different letters of the new font (step 5). A font is then locally created and/or edited in the user's device during step 6 in order to generate a font file during step 7. This font is then sent to a Central Server 2 (step 8) where it is stored during step 20. Separately, this font is installed in the author's device during step 9. [000108] In this prior art method, a user 3 who wants to receive and display a text with this new font first needs to download the font from the server 2 during step 32, and install the font in his device during step 33.
[000109] A message using the new font can then be prepared and sent by the author during step 10, and displayed with the new font on the recipient side during step 34.
[0001 10] This process is cumbersome and time consuming both for the author 1 and for the recipient 3, who both need to install the font before it can be used. Moreover, this font can only be used by recipients 3 who actively retrieved the font from the server, and successfully installed it.
[0001 11 ] Figure 5 shows a flow diagram of another prior art method for creating, remotely processing and using personalized fonts. The main difference with the method of Figure 2 is that, in this case, the new font is generated in a central server. [0001 12] During step 14 of Figure 5, a user first prints a grid guide with his printer P, and then fills during step 5 the grid by drawing glyphes, such as letters or other symbols in the boxes of the grid. The grid is then scanned during step 15, and converted into an image file. The position of each glyph in the grid guide corresponds to the character which has to be associated with this glyph. [0001 13] In the prior art method of Figure 5, the scanned bitmap image is then sent at step 16 to a server 2. Since a high resolution image is required, a large file needs to be transferred, which is time consuming or even impossible for equipments with slow Internet connection.
[000114] The bitmap data received by the server 2 is then processed in the server during step 22, in order to generate a bitmap font at step 23.
Processing usually includes segmentation of the image in order to isolate the different glyphs, and association of those glyphs with characters or symbols. In the prior art, this step is usually performed automatically without any user intervention, and based for example on optical character recognition and/or position of the glyphs within the grid. Therefore, it only works with fonts which are relatively easy to recognize, or at least when optical recognition or use of a grid is feasible.
[0001 15] The font generated at step 23 is then sent back during step 24 to the author's device 1, where it is downloaded at step 17. During step 8, the author 1 then has to send, or make available, a copy of this newly generated font to all other users who needs this font, for example by sending e-mails with the font in attachment, or by uploading this fonts in font repositories over the Internet.
[0001 16] A recipient 3 who receives or retrieves this font during step 32, has to install it during step 33 before he can use it to display messages with this font at step 34. In a similar way, the author 1 also needs to install his own font (step 9) in order to use it (step 18).
[000117] This process is very cumbersome for different reasons. First, the transfer of the scanned image to a remote server 2 at step 16 is time consuming and requires a large bandwidth which is not always available. The generation of a font from this image occurs remotely in the server 2 during steps 22 and 23, meaning that the author has little possibilities to control this process and to define which glyph corresponds to which character. The need to send the font in advance and to install it in the devices of all potential users, including the author, makes the sharing of a new font difficult and slow. [0001 18] Figures 3 and 4 describe two embodiments of the present invention for creating and sharing fonts in order to use them in messages or for rendering text displayed in any document. During step 12, an author who wants to create and use a font first needs to install in his device a Font Creation Client 1, i.e., an application or plug-in. This application can be retrieved from the Central Server 2, or from any other suitable repository, and needs to be downloaded only once for all the subsequent fonts to create or display. This application/plug-in is preferably run in a browser where it is automatically launched when the author accesses a specific address or link on the Internet. [0001 19] A font is then created within the Font Creation Client 1 by drawing or importing an image with glyphs (step 5 in Figures 3 and 4). The font is then edited and processed (step 6), wherein the processing comprises a segmentation and assignment, as will be described. The font creating and processing of steps 5 and 6 is performed locally in the author's device with the application previously installed or launched during step 12. A message using this new font can then be sent directly from the same application during step 10, for example an e-mail message, a contribution on a blog, a web page, an instant messaging message, etc.
[000120] The font created and processed during steps 5 and 6 is automatically sent to a Central Server 2, where it is stored during step 20. A duplicate of the font-packages storage 11c is then stored in the font package storage 21 c of the Central Database 21.
[000121] The bitmap font stored in the Central Server 2 may be further processed by the author and/or by any other authorized user, using a suitable remote application in the Central Server 2, for example an application available through a web page which can be accessed with the Web server 4 (step 40). This font is also made immediately available to authorized users over this web server 4, and can be immediately used at step 34, for example in order to display messages with this font sent by the author during step 10.
[000122] There is thus no need for installing the font in the author and in the recipient device; the font is immediately made available through the Central Server 2, over the Web Server 4, and displayed by any client having previously installed the requested application/plug in.
[000123] In order to optimize bandwidth consumption and accelerate font display, font-packages may be cached by the Font Display Client 3 in a local memory 31. Instead of repeatedly fetching the same font package on the Central Server 2, all messages with an identical font will be displayed by using this locally-stored copy of the bitmap font. The Font Display Client 3 then provides a mechanism for synchronizing the local copy of the font with the copy in the Central Storage 2, in order for example to update the font. Thus, new versions of the fonts uploaded in the Central Server 2 are automatically transmitted to the users with a local copy, subject to access rights.
[000124] In one embodiment, a subset of glyphs is transmitted from the Central Server 2 to the Font Display Client 3, for example only the glyphs corresponding to the characters which are used in a text to render with this font.
[000125] The font-package transmitted to the user's device for rendering of a particular text or for synchronization with the local copy is preferably automatically selected among a plurality of available packages with different resolutions; the Font Display Client 3 automatically retrieves the font with the best resolution needed for the display of the text, depending on the text and on the user's device.
[000126] In addition, different versions of the font, corresponding to different languages may be available. The Font Display Client 3 automatically selects the version which is needed, depending on user's selections, on the current language settings of the user, on the language of the text, and/or on the letters or symbols which need to be represented in this text. [000127] In the embodiment of Figure 4, a local copy of a new font is stored during step 13 in a cache of the author device 1 for faster access and processing. The fonts in this local Cache are later automatically synchronized with the fonts stored in the Central Server 2. This local storage is not performed in Figure 3, where the new font is immediately transferred to the Central Server 2, and where even the author accesses only the centrally stored version of his font.
[000128] The transmission of the new font from the Font Creation Client 1 to the Central Server 2 is preferably automatically performed without any author's intervention, using synchronization mechanisms executed as part of the Font Creation Client 1. The author may nevertheless intervene during this step, for example in order to change the user's rights assigned to this font.
[000129] A font will not be deleted from the Central Database 21, modified or otherwise made unavailable after its distribution to any client 3 who used or bought it. Even if one author disables one font at some time, messages previously associated with that font will still be displayable by using a duplicated font-packages storage 21c. A time stamp may be associated with each modification of the font's access rights and with each message, so that only earlier messages can be displayed with this font, but no messages created after the font's disability.
[000130] Figure 6 illustrates another example of font generating and sharing process according to the invention. During step 12, an author downloads from the Central Server 2 or any other repository the Font Creation Client 1, and installs this application in his device, or runs it as a plug-in in a browser. This installation needs to be done only once in a device and the plug-in can for example be executed or made available each time the browser is subsequently started.
[000131] During step 14, as in the prior art, the author prints a grid guide with the printer P or retrieves such a grid guide. The grid guide may be printed by using an option or command in the plug in. [000132] The author then draws letters or groups of letters in boxes of the grid guide during step 5. When the grid guide has been completed, it is scanned during step 15, and converted into a bitmap file.
[000133] Alternatively, the author can also retrieve images of texts with glyphs by selecting a file otherwise available. The author can also draw or modify glyphs within the plug-in, by using a suitable drawing software.
[000134] During step 19, the bitmap image is processed in order to isolate the different glyphs on the page and to associate each glyph with one character or sequence of characters. This processing is advantageously performed locally in the Font Creation Client, i.e, by the very same application/plug in which is used for drawing or importing the bitmap file and later on for sharing and displaying the generated bitmap font.
[000135] In one embodiment, some steps of the font generation process are performed in a remote Central Server 2 during step 22. For example, the segmentation of the image into different glyphs, and/or the association between each glyph and or character or sequence of characters, is preferably performed locally in the author's Font Creation Client 1, in order to avoid transfer of large size files. Some subsequent steps can be performed in the server 2, in order to exploit the larger processing power.
[000136] The bitmap font which is generated at the end of the process is preferably stored in the author's Font Creation Client 1 during step 13, and automatically sent and synchronized during step 20 with a copy stored in the Central Database 21 of the Central Server 2. This font can also be used immediately for displaying text in the author device, using a bitmap font rendering tool as part of the Font Creation Client /plug-in.
[000137] Using the same plug-in, the user can also define user's rights during steps 19-13, and store those rights in the Central Server 2 for defining what other users can do with this font. [000138] The method according to the present invention preferably does not rely on the input-sources database 21 a to store access rights for a Font Display Client 3. The method of authentication and credentials required for using a specific font can thus be changed without any modification of the input-sources database 21a. This feature further enables to periodically change the association method in order to prevent attackers from gathering all font-packages or associate any content with any font- package.
[000139] After synchronization and definition of user's rights in step 20, the new font is immediately made available at step 40 to other users through the web or application server 4. Other users who need to display a text with this new bitmap font can immediately do this with a suitable Font Display Client 3 that will retrieve this font from the Central Server 2 through the web or application server 4.
[000140] Figures 7 to 8b are various screen copies and partial screen copies displayed by the Font Creation Client 1 during the font creation process of the present invention.
[000141] Figure 7 is a screen copy displayed by the Font Creation Client 1 of the author's device during step 19 of the font creation process. The creation of a new bitmap font comprises a plurality of steps which are, in this embodiment, successively performed with various tabs in a window displayed by the Font Creation Client Software application. In the example, the displayed window comprises a first tab titled "Import" for the importation of an image of a text with glyphs,, a second tab "Segment" for the segmentation of this image in order to isolate the glyphs, a third tab "Assign" for assigning a character or sequence of characters to a glyph, a fourth tab "Adjust" for the adjustment of the glyph, and a fifth tab "Export" for exporting the created bitmap font.
[000142] The first step (importation) consists in the importation of images and/or directly drawing of glyphs within the Font Creation Client 1, by using any device such as a mouse, a tablet, a touch screen or an image scanner for example. The application for importing the image is advantageously run in the web browser of the author's computer, as part of the author's Font Creation Client plug-in. In Figure 7, the importing window proposes different files which are available from the author's device, namely a free text scan_31.jpg represented by a mosaic 106, a photo scan_32.jpg represented by a mosaic 110, a grid guide scan_33.jpg represented by a mosaic 104 and a free form scan_34.jpg represented by a mosaic 102. The author can freely select one of those images. Other and new images can also be used, including sources in different formats.
[000143] Figures 8a to 8f illustrate different examples of images (input sources) that an author may select to create a font. Example of possible images include for example: separate individual image files 100 (one file for each glyph); one single hand-written page 102 with characters, numbers, symbols and even drawings; a grid guide of characters 104, in which one glyph is written in each or some boxes of the grid; a hand-drawn text page 106; a guided hand-drawn text page 108; and/or a photographic picture 110.
[000144] Sources with guides may include some specific helper codes such as a Datamatrix or QR Code 114, shown on Figure 8c and 8e, in order to identify the specific character sequences and to indicate the orientation of the page. This code 114 can also be used for indicating the type of input source.
[000145] Those guides 114 may for example be printed on paper form on which the author draws or writes a new font, and scanned together with the image of the font in order to provide automatic font recognition and orientation.
[000146] An author may also combine several glyph creation methods, and/or modify a previously imported glyph. For example, the author may write a free text on a page, scan and import this text into the browser- based application, and modify or clean the scan image using image processing tools provided by the Font Creation Client plug-in and/or by the Central Server 2. The processing of the scanned image may for example include removal of noise, increase of sharpness, adaptation of contrast, rotation and resizing of the image and manual edition of glyphs or glyph parts.
[000147] Multiple input sources may also be processed and used for the creation of a single alphabet. To provide a global view of the images to be processed, the author(s) may import several input sources on a single canvas and display them with a preview.
[000148] Additional information may also be retrieved from the scanned form and/or entered by the author, including for example the characters to be extracted or the type of segmentation to be used during the next step of the font processing.
[000149] When several sources are edited at any step of the process, they may also be displayed and organized as a series of elements. In one possible embodiment, various sources of one type are displayed on various sub-tabs, with or without a preview icon, or simply by representing the sources by file names scan_31.jpg to scan_34.jpg, as shown in Figure 9. The lower part of the window of Figure 9 shows an image of a currently selected sub-tab (here the image scan_33.jpg) as well as a virtual keyboard for assigning glyphs on this image with characters or series of characters.
[000150] After the importation, as a second step of the font creation method of the present invention, a segmentation is automatically and/or manually performed in order to identify areas of the image containing the various glyphs. An automatic segmentation may be used when the source is guided, for example based on a grid, while manual segmentation may be preferred for other types of sources. In one embodiment, the Font Creation Client 1 proposes an automatic segmentation, based for example on position in a grid and/or on optical recognition algorithms, and the author can adjust the segmentation in a manual step, if needed.
[000151] Figures 10a and 10b show an exemplary screen copy of a window that may be displayed within the browser by the Font Creation Client 1 during the font segmentation and association process. [0001 52] After an optional initial automatic segmentation of the selected image into glyphs (if possible), the author(s) may draw and/or adjust the size, shape and position of bounding boxes around each glyph to be extracted. Other shapes instead of this rectangle bounding box may also be used, for instance a lasso tool to delimit a freeform polygon around the glyph.
[0001 53] Figure 10a illustrates a source image 200 previously imported and selected by the author and which is displayed in a portion of the display. This image typically comprises a plurality of individual glyphs 202 which need to be isolated. Each glyph is delimited by a bounding box 204, 210, 212 or 214. The bounding box 204 comprise handles 206 with which the boxes may be manually modified with a cursor in order to affect the dimension, position and rotation of the box. It is also possible to scale a box 204 in order to adapt the size of the glyph in the box. Once a new bounding box 204 is selected, the other ones 212 are simply visualized with a single stroke without any handles.
[0001 54] After its segmentation, a glyph 202 may then be manually associated with a character or a string of characters by using for example one of the following steps performed by the author: -automatic association, for example based on optical character recognition, or on position in a grid. The character or symbol automatically assigned to a glyph can be corrected by the author.
-clicking a specific key 208, for example one key for each bounding box 204, or a key associated with the currently selected box 204, to launch a new preview window 230, as illustrated in Figure 10b; or
-typing the appropriate character(s) on a text field 210 near the currently selected glyph 202; or
-dragging a box 214 and dropping it on a "droppable key" 220 linked to a specific character or on a generic key 21 6 on a virtual keyboard 218 displayed on screen. [000155] In Figure 10a, the box 214 is dragged and dropped on the generic key 216 which displays a preview window 230 similar to the one shown in Figure 10b.
[000156] During the drag-and-drop process, the image cropped inside the box may be displayed as semi-transparent, as shown by the box 214, or replaced by a smaller icon or specific cursor arrow to facilitate the placement over the virtual keyboard 218. In the same time, droppable keys 224 of the virtual keyboard may be specifically at least temporarily recognizable, for example by highlighting as the box is dragged over them. Once a glyph has been dropped over a virtual key, this key can be made recognizable in another manner, for example differently highlighted as referenced with 222, for the author to notice which keys have already been associated with a glyph.
The preview window 230 of Figure 10b provides a preview of the cropped glyph image together with a text field 232 in which the author can enter one or several character(s) to associate with this glyph. A box eraser 236 is provided in the preview window 230 for removing noise pixels around the character. This preview window 230 includes additional image modifications options 234 for modifying the glyph, such as a delete key D and navigation keys referenced Pr, Ne En respectively for Previous, Next and Enter to navigate between the successive bounding boxes.
[000157] These features may also have time-based properties. A behavior may be effective on glyphs, words, sentences or paragraphs, and affect them differently, for instance incrementally. A behavior may be set before the user types text, or applied after a text block was selected. Behaviors may be exposed to the user by a series of parameters. Behaviors may be accumulated and applied sequentially. Behaviors may be provided at random or may be manually added to the rendering system, and provided as external programming script codes. [000158] As samples of the different parameters that may be affected and exposed for specific displayed text behaviors, bending lines can be cited in regard of slope, curvature and bending start. Jitter can be also considered, especially for horizontal displacement, vertical displacement, maximum for random translation, maximum for random rotation and maximum for random scale. Parameters concerning the drying ink, i.e. percentage loss and consumption per letter/ word/ line and parameters concerning the ligatures, i.e. On /Off switch and maximum letters per ligature are also of interest as well as alternates, e.g. contextual alternative glyphs.
[000159] The author of a font may thus program specific scripts, for instance in a Flash® application or similar software, in order to apply them to a displayed text. This also allows to use bitmap fonts and to process additional image-based visual effects, such as but not limited to a blur, sharpening or coloring of the glyphs.

Claims

Claims
1. A method for displaying a text created by an author using a font on at least an user's device, wherein access rights are associated with said font, characterized in that said access rights depend on said text to display with said font, in order to allow display of said text with said font and to prevent display of any other text with said font.
2. The method of claim 1, wherein said author associates said text with a font in order to allow other users to display said text and only said text with this font.
3. The method of one the claims 1 or 2, wherein said author defines said access rights using a right application.
4. The method of claim 3, wherein said font is stored in a central server (2) and transmitted to said user from said central server (2).
5. The method of claim 4, wherein said access rights are stored in said central server (2) in order to authorize or prevent said user to use said font.
6. The method of one of the claims 1 to 5, wherein said access rights to display said text with said font are granted to a limited number of users.
7. The method of one of the claims 1 to 6, wherein said font is a bitmap font.
8. The method of one of the claims 1 to 7, wherein said text is presented to said user using a rendering application (3); and wherein said rendering application (3) is identical to said right application.
9. The method of claim 8, wherein said rendering application (3) is based on a Flash®, a Java®, a Javascript®, a HTML5, a Silverlight®, a Cocoa® application or similar browser-based technologies.
10. The method of one of the claims 2 to 9, wherein a static web resource (URL1) containing the URL (URL2) of said font is stored in said server (2), and wherein said rendering application (3) computes the address of said web resource (URL1) using a common non-reversible algorithm based on the content and a secret they share.
1 1. The method of claim 10, wherein said secret, or said algorithm, is changed periodically.
12. The method of claim 1 1 , wherein a new set of address of said web resource (URL1) is calculated when said secret or said algorithm is changed.
13. The method of one of the claims 1 to 12, wherein said access rights are verified each time when said font is used.
14. The method of claim 13, wherein a replacement font is used when said user is prevented to use said font.
15. The method of one of the claims 1 to 14, wherein said font is created with a font creation application (1 ); and wherein a single application is used for creating new fonts, for rendering texts with said fonts and for defining access rights associated with said fonts.
16. The method of one of the claims 1 to 1 5, wherein a time stamp is associated with each changing of the user's rights assigned to said font.
17. The method of claim 16, wherein said text is displayed with said font on the user's device depending on said time stamp.
18. The method of one of claims 1 to 16, wherein said author associates said text with multiple fonts.
19. A system for allowing at least an user's device to display a text created by an author using a font, wherein access rights are associated with said font and depend on said text to display with said font comprising
an author's device for creating said font and for associating said access rights to said font, a network server (2) connected over a network to said author's device and at least an user device for receiving said font from the server (2), whereby the author's device includes computer program means (13, 10) for receiving and sending information over the network server (2), computer program means (1) for creating said bitmap font and for associating access rights to said font depending on said text, whereby said server (2) includes means (21) for storing said access rights and whereby said user device includes computer program means (34) for receiving information over the network server (2), computer program means (3) for rendering said text using said fond depending on said access rights in order to allow display of said text with said font and to prevent display of any other text with said font.
20. The system of claim 19, wherein said font is a bitmap font.
21. A computer program product comprising a program to be executed by an author's device and/or a user device and/or a server (2) for causing it to perform the steps of the method according to one of claims 1 to 18.
PCT/EP2010/050881 2009-01-26 2010-01-26 A system and method for displaying a text with a font WO2010084207A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09151345.7 2009-01-26
EP09151345 2009-01-26

Publications (1)

Publication Number Publication Date
WO2010084207A1 true WO2010084207A1 (en) 2010-07-29

Family

ID=42145110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/050881 WO2010084207A1 (en) 2009-01-26 2010-01-26 A system and method for displaying a text with a font

Country Status (1)

Country Link
WO (1) WO2010084207A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455503A (en) * 2012-05-31 2013-12-18 腾讯科技(深圳)有限公司 Word stock collection method, webpage rendering method, device and system
US10503810B2 (en) 2015-06-18 2019-12-10 International Business Machines Corporation Font personalization
US11922111B2 (en) * 2019-09-23 2024-03-05 Snap Inc. Personalized fonts

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295238A (en) 1991-04-30 1994-03-15 Highlights For Children, Inc. System, method, and font for printing cursive character strings
US5412771A (en) 1992-02-07 1995-05-02 Signature Software, Inc. Generation of interdependent font characters based on ligature and glyph categorizations
EP0715246A1 (en) * 1994-11-23 1996-06-05 Xerox Corporation System for controlling the distribution and use of composite digital works
US5533174A (en) 1993-10-26 1996-07-02 Digital Equipment Corporation Network font server
US6065008A (en) 1997-10-01 2000-05-16 Microsoft Corporation System and method for secure font subset distribution
FR2807183A1 (en) 2000-03-30 2001-10-05 Isaac Sebbag Creation of a personalized written character database on a computer for any computer user
US20030025675A1 (en) 2001-08-01 2003-02-06 Bodin Dresevic Dynamic rendering of ink strokes with transparency
US20040091176A1 (en) 2002-10-25 2004-05-13 Xuqiang Bai Apparatus and method for handwritten character font generation, and computer-readable storage medium recording program for the same
US6853980B1 (en) 1999-09-07 2005-02-08 Bitstream Inc. System for selecting, distributing, and selling fonts
US6867787B1 (en) 1999-03-15 2005-03-15 Sony Corporation Character generator and character generating method
US6870535B2 (en) 1997-09-15 2005-03-22 Canon Kabushiki Kaisha Font architecture and creation tool for producing richer text
US6958755B1 (en) 2002-02-06 2005-10-25 Bellsouth Intellectual Property Corporation Personalized computer fonts
US6975412B2 (en) 1999-05-03 2005-12-13 Apple Computer, Inc. Font management system that provides for synchronization of fonts among resources
US7009612B2 (en) 2002-09-25 2006-03-07 Riso Kagaku Corporation Apparatus and method for font generation, and computer-readable storage medium recording program for the same
WO2006042307A2 (en) 2004-10-12 2006-04-20 Synapse Group, Inc. Realistic machine-generated handwriting
WO2006089109A2 (en) * 2005-02-14 2006-08-24 Extensis Corporation Format and systems for secure utilization of electronic fonts
US7161598B2 (en) 2004-02-26 2007-01-09 Research In Motion Limited Method of rendering text on an output device
US7188313B2 (en) 2001-10-03 2007-03-06 Hallmark Cards, Incorporated Context sensitive font generation
US7379075B2 (en) 1999-10-29 2008-05-27 Apple Inc. Method and system for the representation of color and other attributes in bitmap fonts

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295238A (en) 1991-04-30 1994-03-15 Highlights For Children, Inc. System, method, and font for printing cursive character strings
US5412771A (en) 1992-02-07 1995-05-02 Signature Software, Inc. Generation of interdependent font characters based on ligature and glyph categorizations
US5533174A (en) 1993-10-26 1996-07-02 Digital Equipment Corporation Network font server
EP0715246A1 (en) * 1994-11-23 1996-06-05 Xerox Corporation System for controlling the distribution and use of composite digital works
US6870535B2 (en) 1997-09-15 2005-03-22 Canon Kabushiki Kaisha Font architecture and creation tool for producing richer text
US6065008A (en) 1997-10-01 2000-05-16 Microsoft Corporation System and method for secure font subset distribution
US6867787B1 (en) 1999-03-15 2005-03-15 Sony Corporation Character generator and character generating method
US6975412B2 (en) 1999-05-03 2005-12-13 Apple Computer, Inc. Font management system that provides for synchronization of fonts among resources
US6853980B1 (en) 1999-09-07 2005-02-08 Bitstream Inc. System for selecting, distributing, and selling fonts
US7379075B2 (en) 1999-10-29 2008-05-27 Apple Inc. Method and system for the representation of color and other attributes in bitmap fonts
FR2807183A1 (en) 2000-03-30 2001-10-05 Isaac Sebbag Creation of a personalized written character database on a computer for any computer user
US20030025675A1 (en) 2001-08-01 2003-02-06 Bodin Dresevic Dynamic rendering of ink strokes with transparency
US7188313B2 (en) 2001-10-03 2007-03-06 Hallmark Cards, Incorporated Context sensitive font generation
US6958755B1 (en) 2002-02-06 2005-10-25 Bellsouth Intellectual Property Corporation Personalized computer fonts
US7009612B2 (en) 2002-09-25 2006-03-07 Riso Kagaku Corporation Apparatus and method for font generation, and computer-readable storage medium recording program for the same
US20040091176A1 (en) 2002-10-25 2004-05-13 Xuqiang Bai Apparatus and method for handwritten character font generation, and computer-readable storage medium recording program for the same
US7161598B2 (en) 2004-02-26 2007-01-09 Research In Motion Limited Method of rendering text on an output device
WO2006042307A2 (en) 2004-10-12 2006-04-20 Synapse Group, Inc. Realistic machine-generated handwriting
US7352899B2 (en) 2004-10-12 2008-04-01 Loeb Enterprises, Llc Realistic machine-generated handwriting with personalized fonts
WO2006089109A2 (en) * 2005-02-14 2006-08-24 Extensis Corporation Format and systems for secure utilization of electronic fonts

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455503A (en) * 2012-05-31 2013-12-18 腾讯科技(深圳)有限公司 Word stock collection method, webpage rendering method, device and system
CN103455503B (en) * 2012-05-31 2018-04-03 腾讯科技(深圳)有限公司 Word stock collection, webpage rendering intent, apparatus and system
US10503810B2 (en) 2015-06-18 2019-12-10 International Business Machines Corporation Font personalization
US11423205B2 (en) 2015-06-18 2022-08-23 International Business Machines Corporation Font personalization
US11922111B2 (en) * 2019-09-23 2024-03-05 Snap Inc. Personalized fonts

Similar Documents

Publication Publication Date Title
US20120001922A1 (en) System and method for creating and sharing personalized fonts on a client/server architecture
US20120001921A1 (en) System and method for creating, managing, sharing and displaying personalized fonts on a client-server architecture
US10042950B2 (en) Method and apparatus for modifying the font size of a webpage according to the screen resolution of a client device
US10534569B2 (en) Systems and methods for providing variable data printing (VDP) using dynamic font downgrading
US10678406B1 (en) Conversational user interface design
JP2007011733A (en) Method, device and system for preparing asian web font document
JP2004157502A (en) Method for selecting font
JP2015130158A (en) Cloud-based font service system
KR100798465B1 (en) Learning data formation system for the subject explanation
US20070101278A1 (en) Web site theme designer
US9159147B2 (en) Method and apparatus for personalized handwriting avatar
US20120151334A1 (en) Interactive image-based document for secured data access
US11900045B2 (en) System and method for processing an active document from a rich text document
CN113012265A (en) Needle printing character image generation method and device, computer equipment and medium
WO2010084207A1 (en) A system and method for displaying a text with a font
CN113238747A (en) Label generation method and system for self-adaptive container display
US11907639B2 (en) Electronic publishing platform
KR100856775B1 (en) System for providing user specific handwriting style based on handwriting data
WO2010084205A1 (en) A system and method for creating and sharing personalized fonts on a client-server architecture
JP4143628B2 (en) Text content presentation device, text content presentation method, and text content presentation program
US9135517B1 (en) Image based document identification based on obtained and stored document characteristics
CN104866251A (en) Apparatus and method for information providing
EP2310963B1 (en) Information output apparatus, information output method, and recording medium
CN109726382B (en) Typesetting method and device
US20160027082A1 (en) Virtual shop for electronic greeting cards

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10701031

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10701031

Country of ref document: EP

Kind code of ref document: A1