WO2011103087A1 - Preventing unauthorized font linking - Google Patents

Preventing unauthorized font linking Download PDF

Info

Publication number
WO2011103087A1
WO2011103087A1 PCT/US2011/024876 US2011024876W WO2011103087A1 WO 2011103087 A1 WO2011103087 A1 WO 2011103087A1 US 2011024876 W US2011024876 W US 2011024876W WO 2011103087 A1 WO2011103087 A1 WO 2011103087A1
Authority
WO
WIPO (PCT)
Prior art keywords
font file
watermark
request
font
computer
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/US2011/024876
Other languages
English (en)
French (fr)
Inventor
Mike Bacus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EXTENSIS Inc
Original Assignee
EXTENSIS Inc
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 EXTENSIS Inc filed Critical EXTENSIS Inc
Priority to CA2790079A priority Critical patent/CA2790079C/en
Priority to JP2012553965A priority patent/JP5793722B2/ja
Priority to EP11745113.8A priority patent/EP2537090B1/en
Publication of WO2011103087A1 publication Critical patent/WO2011103087A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]

Definitions

  • Style sheet languages may be used to control the formatting and presentation of structured documents, such as documents written in markup languages like Hyper Text Markup Language (“HTML”) and Extensible Markup Language (“XML”).
  • HTML Hyper Text Markup Language
  • XML Extensible Markup Language
  • HTML Hyper Text Markup Language
  • XML Extensible Markup Language
  • style sheet languages the contents of a document, which may be included in an HTML or XML computer file, thus may be defined and stored independently of the formatting of the document, which may be stored in a style sheet computer file.
  • CSS Cascading Style Sheets
  • a webpage developer may control the background color or image of a webpage; the spacing and location of paragraphs and other body elements like images and tables; and the color, size, and face of fonts used in the webpage.
  • CSS includes a plurality of commands for controlling and/or modifying such parameters, including, for example, the @font-face command.
  • @font-face command may be used in providing such functionality
  • a website developer further may wish to allow only certain, authorized servers and/or websites to access linkable fonts maintained online by the website developer.
  • it may be desirable to limit access to linkable fonts because a website developer may wish to control the amount of bandwidth used in providing linkable fonts.
  • it may be desirable to limit access to linkable fonts because a website developer's use of linkable fonts may be subject to license restrictions, and the website developer may be required to limit access to linkable fonts by the terms of such license restrictions.
  • Unauthorized font linking may include, for example, using an @font-face command in CSS code to link to a font, where the font is stored on a server by a developer, and where the developer's consent to the font linking has not been obtained.
  • a request for a font file may be received. Subsequently, it may be determined whether the request is valid. In response to determining that the request is valid, a first watermark may be embedded in the font file, and the first watermark may include at least one point in at least one glyph contained in the font file.
  • a second watermark may be embedded in the font file, and the second watermark may include at least one table that identifies a customer. Then, the font file may be served. By serving the font file after embedding one or more watermarks in the font file, it may be determined later whether a copy of the font file was improperly made or taken by searching for copies of the watermarked font file in locations not authorized to store or use the font file. Thereafter, a network may be searched for at least one website, and it may be determined, based on one or more watermarks included in a font linked to be the at least one website, whether the at least one website improperly links to the font.
  • FIG. 1 illustrates an example system in which one or more aspects of the disclosure may be implemented.
  • FIG. 2 illustrates an example network environment in which one or more aspects of the disclosure may be implemented.
  • FIG. 3 illustrates a method by which a font request may be triggered and/or processed according to one or more aspects described herein.
  • FIG. 4 illustrates an example of a font request according to one or more aspects described herein.
  • FIG. 5 illustrates a method by which a font request may be processed according to one or more aspects described herein.
  • FIG. 6 illustrates a method by which the validity of a font link may be evaluated according to one or more aspects described herein.
  • FIG. 7 illustrates a method by which a security token may be evaluated according to one or more aspects described herein
  • FIG. 1 illustrates an example system in which one or more aspects of the disclosure may be implemented.
  • one or more aspects described herein may be implemented as a computer program and/or a combination of computer programs for use with a computer 100 and/or stored in memory 1 13.
  • Computer 100 represents a generic computing device, e.g. , a. desktop computer, laptop computer, notebook computer, network server, portable computing device, personal digital assistant, smart phone, mobile telephone, distributed computing network device, and/or any other device having the requisite components and/or abilities to operate as described herein and thereby be configured as a special-purpose device according to one or more illustrative aspects of the disclosure.
  • Computer 100 may include central processing unit or other processor 103, RAM or other volatile memory 105, ROM or other boot memory 107, network interface(s) 109 (e.g., Ethernet, wireless network interface, modem, etc.) through which computer 100 may connect to a wide area network and/or local area network (e.g., Internet, LAN, WAN, PAN, etc.), input/output port(s) 111 (e.g., keyboard, mouse, monitor, printer, USB ports, serial ports, parallel ports, IEEE 1394/Firewire ports, and the like), and non- volatile memory 113 (e.g., fixed disk, optical disk, holographic storage, removable storage media, flash drive, etc.).
  • a wide area network and/or local area network e.g., Internet, LAN, WAN, PAN, etc.
  • input/output port(s) 111 e.g., keyboard, mouse, monitor, printer, USB ports, serial ports, parallel ports, IEEE 1394/Firewire ports, and the like
  • Computer 100 may store various programs, instructions, applications, and data in memory 113, including, but not limited to, operating system software 115, font servlet 1 17 (e.g., one or more plug-ins and/or other font software described herein), data 119 (e.g., documents, files, and other data described herein), and font database 121 (e.g., one or more font files and/or other files described herein).
  • operating system software 115 e.g., font servlet 1 17 (e.g., one or more plug-ins and/or other font software described herein)
  • data 119 e.g., documents, files, and other data described herein
  • font database 121 e.g., one or more font files and/or other files described herein.
  • One or more aspects of the disclosure may be embodied in computer-usable data and/or computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices to render one or more fonts for output on a device such as a display or a printer.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other data processing device.
  • the computer-executable instructions may be stored on a computer-readable medium such as a hard disk, optical disk, removable storage media, solid state memory, RAM, etc.
  • the functionality of the program modules may be combined or distributed as desired in various embodiments.
  • FIG. 2 illustrates an example network environment 200 in which one or more aspects of the disclosure may be implemented.
  • Network environment 200 may include one or more computers, such as web developer computer 205, web user computer 210, web domain server 220, servlet host 225, and font server 230.
  • network environment 200 may contain one or more local area networks ("LANs") and/or one or more wide area networks (“WANs,” e.g., the internet 215).
  • LANs local area networks
  • WANs wide area networks
  • web developer computer 205 may be a computer used by a website developer or other user in designing and developing a website and/or CSS code.
  • Web user computer 210 may be a computer used by a web user in browsing one or more websites on the Internet 215.
  • Web domain server 220 may be a computer in which one or more websites and/or CSS code is stored and/or from which one or more websites and/or CSS code is served in response to remote requests.
  • Servlet host 225 may be a computer in which one or more font-request processing and/or font serving computer programs and/or scripts are stored according to one or more aspects further described herein.
  • Font server 230 may be a computer in which one or more fonts and/or one or more font databases are stored according to one or more aspects further described herein.
  • a website developer may use web developer computer 205 to design and develop a website that includes CSS code. Subsequently, the website developer may upload the website, via the Internet 215, to web domain server 220. Alternatively or additionally, the website developer or other user may develop a website on domain server 220 remotely from developer computer 205. Thereafter, a web user may use web user computer 210 to access the website via the Internet 215. In accessing the website and executing the CSS code contained therein, the user may trigger a font request. As a result of triggering the font request, web user computer 210 and/or web domain server 220 may transmit a font request to servlet host 225.
  • the font request may include a font request server address, a customer identifier, a security token, a font name, a font file name, and/or combinations thereof.
  • servlet host 225 may process the font request, which may include parsing the font request, evaluating the font request server address, the customer identifier, security token, and/or the font name or font file name. If the servlet host 225 determines that the font request is invalid or unauthorized, the servlet host 225 might not take any further action or the servlet host may transmit a message denying the font request or other provide some other similar response.
  • the servlet host 225 may request one or more fonts corresponding to the font request from font server 230.
  • the font server 230 may transmit the one or more fonts corresponding to the font request to the servlet host 225, the web domain server 220, and/or to the web user computer 210.
  • the servlet host 225 may transmit the one or more fonts corresponding to the font request to the web domain server 220 and/or web user computer 210. Thereafter, in response to receiving the one or more fonts corresponding to the font request, web user computer 210 may display and/or print the website with the one or more received fonts.
  • network environment 200 is described as including various computers adapted to perform various functions, it should be understood that the system may be modified to include a greater or lesser number of computers which may be used alone or in combination to provide the same functionality.
  • a single computer may be used to perform all of the functions described, and one or more users may interact with the single computer through one or more terminals and/or user interfaces.
  • a first computer may be used to perform all of the functions of web developer computer 205 and web user computer 210
  • a second computer may be used to perform all of the functions of web domain server 220, servlet host 225, and font server 230.
  • FIG. 3 illustrates a method by which a font request may be triggered and/or processed according to one or more aspects described herein.
  • one or more of the computers, servers, and/or networks illustrated in FIG. 2 may implement the method illustrated in FIG. 3, as well as any variations thereof and/or any of other the methods described herein.
  • the method of FIG. 3 may be implemented in network environment 200.
  • a developer may create CSS code for a website, and the CSS code may include a font request trigger, such as an @font-face command.
  • a developer may create a website code block such as code block 400, as further described below with respect to FIG. 4, where the website code block 400 may include a use of the @font-face command.
  • the developer may embed CSS code in the website.
  • the developer may embed website code block 400 (FIG. 4) within other computer code that may form part or all of a website, and/or the developer may upload website code block 400 (FIG. 4) to a web server that may host part or all of the website.
  • the developer may publish the website with the embedded CSS code.
  • the developer may change settings on a web server that hosts the website such that the CSS code in website code block 400 forms part of the published or "live" website.
  • the website may be published over the Internet or over another network, such as a private corporate intranet.
  • a user may access the website, thereby triggering a font request.
  • a user may use a computer and a web browser, such as APPLE SAFARI or GOOGLE CHROME, to access the website, and the web browser may download and/or execute the computer code for the website.
  • the user's web browser and/or the user's computer may process an @font-face command that may be included in the computer code for the website.
  • the user's web browser and/or computer may request one or more fonts from a font server that may be identified by a font server address included in the @font-face command.
  • the user's web browser and/or computer may transmit to the font server a customer identifier and/or security token and/or a font name and/or font file name that also may be contained in the @font-face command.
  • a servlet may receive and parse the font request.
  • a servlet may receive the request from the user's web browser and/or computer in the example above, and the servlet may parse the request.
  • HTTP Hypertext Transfer Protocol
  • the servlet may parse the received request into three components: a font server address (which in this example would be "web- font.company.com/”), a customer identifier and/or security token (which in this example would be "SFO 1534-57-23349”), and a font name and/or font file name (which in this example would be "someFont.rtf ').
  • such parsing may be accomplished using regular expressions, character and/or text matching, and/or the like.
  • the servlet may query the font server and/or serve the requested font. For example, after receiving and/or parsing the font request, the servlet may query the font server to obtain the requested font, and then the servlet may serve the requested and obtained font. More specifically, the servlet may query the font server in accordance with the results of the parsing described above, and thus the servlet may provide the font server with the parsed customer identifier and/or security token, and/or the servlet may provide the font server with the parsed font name and/or font file name. Subsequently, in response to such querying, the servlet may receive the requested font from the font server, which the servlet subsequently may transmit and/or serve to the user's web browser and/or computer.
  • the servlet may determine whether the request is valid before transmitting and/or serving the requested font, the servlet may evaluate a security token and/or a referrer string before transmitting and/or serving the requested font, and/or the servlet may embed one or more watermarks in the requested font before transmitting and/or serving the requested font.
  • Various aspects of this process is described in further detail below with respect to FIG. 5.
  • FIG. 4 illustrates an example of a font request according to one or more aspects described herein.
  • a developer may create sample website code block 400, and the created sample website code block 400 may include a use of the @font-face command.
  • sample website code block 400 is downloaded and/or executed by a web browser and/or a computer, a font request based on the @font-face command and/or based on one or more arguments related to the command may be generated.
  • CSS code illustrated as sample website code block 400 in FIG.
  • the font request thus may be generated based on the source (i.e., "src") specified by the CSS code (i.e., "url(web-font.company.com/SF01534-57-23349/someFont.ttf ').
  • FIG. 5 illustrates a method by which a font request may be processed according to one or more aspects described herein.
  • a font developer, manager, or licensee may be able to embed one or more watermarks into a requested font, which further may enable such an entity to later determine if a font on another entity's website was taken improperly from a server or website of the font developer, manager, or licensee. Accordingly, the watermark may be indicative of whether the use or copy of the font file is authorized.
  • one or more of the computers, servers, and/or networks illustrated in FIG. 2 may implement the method illustrated in FIG. 5, as well as any variations thereof and/or any of the other methods described herein.
  • the method of FIG. 5 may be implemented in network environment 200.
  • a request for a font file may be received.
  • a servlet may receive a request for a font file from a user's web browser and/or computer.
  • the request for the font file may be based on CSS code downloaded and/or executed by the user's web browser and/or computer, such as sample website code block 400.
  • the request for the font file may include a font request server address, a customer identifier and/or security token, and/or a font name and/or font file name.
  • step 510 it may be determined whether the request for the font file is valid.
  • the received request for the font file may be parsed and/or evaluated by the servlet, and one or more aspects of the received request may be considered in determining whether the received request is valid.
  • determining whether the request for the font file is valid may be based on evaluating a security token.
  • FIG. 7 illustrates a method by which a security token may be evaluated according to one or more aspects described herein.
  • performing step 510 may include performing one or more of the steps of the method illustrated in FIG. 7.
  • the received request for the font file may be parsed by the servlet, and in step 710, a customer identifier and/or security token may be extracted from the received request.
  • the extracted customer identifier and/or security token may be compared to a listing of one or more valid customer identifiers and/or security tokens.
  • step 720 it may be determined whether the extracted customer identifier and/or security token matches one or more of the valid customer identifiers and/or security tokens in the listing. If it is determined that the extracted customer identifier and/or security token matches one or more of the valid customer identifiers and/or security tokens, then it may be determined that the request for the font file is valid. On the other hand, if it is determined that the extracted customer identifier and/or security token does not match a valid customer identifier and/or security token, then it might be determined that the request for the font file is invalid.
  • the corresponding customer identifier and/or security token of the received request for the font file may include "SF01534-57-23349.”
  • This customer identifier and/or security token may be parsed by the servlet and/or extracted, and then it subsequently may be compared to a listing of one or more valid customer identifiers and/or security tokens to determine its validity.
  • determining whether the request for the font file is valid also may be based on evaluating a referrer string.
  • the received request for the font file may be made via an HTTP request, and the HTTP request may identify a referrer in a referrer string and/or header field of the HTTP request.
  • the referrer string and/or header field of the HTTP request identifying the referrer may include the address of a computer, server, and/or website from which the request originated.
  • the referrer string may be extracted from the received request, and thereafter, the referrer string may be compared to a listing of one or more valid referrer strings.
  • the extracted referrer string matches one or more of the valid referrer strings, then it may be determined that the request for the font file is valid. On the other hand, if it is determined that the extracted referrer string does not match a valid referrer string, then it might be determined that the request for the font file is invalid.
  • determining whether the request for the font file is valid in step 510 may be based both on evaluating a security token and on evaluating a referrer string.
  • a system implementing one or more aspects of the disclosure may evaluate a customer identifier and/or security token (e.g., a customer identifier and/or security token parsed and extracted from a received request for a font file), as further described above and as illustrated in FIG. 7. Additionally, the system may evaluate a referrer string (e.g., a referrer string associated with a received request for a font file), as also described above.
  • the system may determine that the request for the font file is valid. In this way, the customer identifier and/or security token may be associated with the referrer string in determining whether the request for the font file is valid.
  • step 512 if the request for the font file is determined to be valid, it may be determined whether a watermarked version of the font file is cached.
  • a watermarked version of the font file may be cached if a similar request for the font file was received previously, one or more watermarks were embedded in the font file, and the watermarked font file was stored in memory.
  • the servlet may determine whether a watermarked version of the font file is cached by determining whether a version of the same font file, which may have been previously requested and watermarked using the same customer identifier and/or security token, is stored in memory. If the servlet determines that a watermarked version of the font file is not cached, the method may continue to step 515, and one or more watermarks may be embedded in the font file, as further described below. On the other hand, if the servlet determines that a watermarked version of the font file is cached, the method may continue to step 522, and the watermarked version of the font file may be retrieved from memory, as also further described below.
  • a first watermark may be embedded in the font file if it is determined that a watermarked version of the font file is not cached.
  • the first watermark may be embedded in the font file by injecting one or more single points into one or more of the glyphs included in the font file. Additionally or alternatively, the one or more injected single points may be inserted into the one or more glyphs in a pattern based on a customer identifier and/or security token.
  • the servlet may obtain the requested font file and subsequently may embed a first watermark in the font file by injecting one or more single points into the one or more glyphs contained in the font file. Injecting the one or more single points into the one or more glyphs may include modifying that data in the font file to include one or more vectors of zero length (e.g., vectors that start and end at the same point) at coordinates determined by the servlet.
  • these single points or zero-length vectors might not be connected to any other points in the one or more glyphs, and thus, when the one or more glyphs of the font contained in the font file are rendered for display and/or printing, these single points might not be rendered even though data corresponding to these single points may be contained in the font file. More specifically, these single points might not be rendered because a computer may render a font by drawing the lines that define the font, and thus, a single, unconnected point that defines no line might not be renderable or might be understood by the rendering device as being a point that is not to be rendered.
  • the servlet may insert the one or more single points into the one or more glyphs contained in the font file in a pattern based on a customer identifier and/or security token, where the customer identifier and/or security token may be received in and/or extracted from the request for the font file.
  • the servlet may compute a value based on the customer identifier and/or security token (e.g., a sum, product, checksum, MD5 hash, etc.), and the servlet may subsequently insert the one or more single points into the one or more glyphs contained in the font file in a pattern based on this computed value.
  • the computed value might dictate how many and/or where one or more single points are inserted. For example, based on the particular customer identifier and/or security token, an offset value may be determined.
  • the offset value may be an integer computed based on the particular customer identifier and/or security token using a modulo operation, for instance.
  • a point may be inserted at a predetermined location of a particular glyph in the glyph table of the font file. Specifically, the point may be inserted at a predetermined location of a glyph that is the nth glyph in the glyph table, where n represents the determined offset value.
  • the servlet may loop back to the first glyph in the glyph table after counting the last glyph in the glyph table until the servlet reaches the nth glyph in the glyph table in which the single point is to be inserted.
  • multiple single points may be inserted into the nth glyph in the glyph table, and/or one or more single points may be inserted into additional glyphs, other than the nth glyph, based on other similar calculations.
  • a second watermark may be embedded in the font file.
  • the second watermark may be embedded in the font file by inserting one or more tables into one or more data structures contained in the font file. Additionally or alternatively, the second watermark may be embedded in the font file if the request for the font file is determined to be valid and if it is determined that a watermarked version of the font file is not cached.
  • a font file may include one or more data structures, such as OPENTYPE and/or TRUETYPE data structures, and a font vendor may be able to include one or more tables in such data structures to store custom metadata, such as a customer identifier and/or security token.
  • a second watermark may be embedded in a font file by inserting one or more tables into one or more data structures contained in the font file, where the one or more tables may store one or more customer identifiers and/or security tokens.
  • a customer identifier and/or security token received in and/or extracted from the request for the font file may be included in the one or more customer identifiers inserted into the one or more tables of the one or more data structures contained in the font file.
  • the one or more tables in the one or more data structures storing custom metadata may enable one or more steps of the method illustrated in FIG. 6 to be performed and/or might not affect the rendering of the one or more glyphs contained in the font file.
  • step 522 if it is determined that a watermarked version of the font file is cached, the watermarked version of the font file may be retrieved. For instance, in response to determining that a watermarked version of the font file is cached, the servlet may locate and retrieve the watermarked version of the font file from memory storing the previously watermarked font file. [45] In step 525, the font file may be served. For example, where it is determined that the request for the font file is valid and where it is determined that a watermarked version of the font file is not cached, and after the first watermark and/or the second watermark are embedded in the font file, the servlet may transmit the font file to the user, website, and/or computer that requested the font file.
  • the servlet may transmit the font file to the user, website, and/or computer that requested the font file.
  • FIG. 6 illustrates a method by which the validity of a font link may be evaluated according to one or more aspects described herein. It may be desirable to perform the method illustrated in FIG. 6, as such a method may enable a font developer, font host, and/or authorized font user to determine whether a particular website links to one or more fonts without the authorization of the font developer, font host, and/or authorized font user.
  • One or more of the computers, servers, and/or networks illustrated in FIG. 2 may implement the method illustrated in FIG. 6, as well as any variations thereof and/or any of the other methods described herein. Thus, in one or more arrangements, the method of FIG. 6 may be implemented in network environment 200.
  • a network may be searched for at least one website.
  • servlet host 225 may search the Internet 215 for one or more websites, and may select iteratively and/or randomly a website of the one or more websites on the Internet 215 for evaluation as further described herein.
  • step 610 it may be determined whether the at least one website located in the searching includes CSS code. For example, servlet host 225 may determine whether the selected website includes CSS code. If it is determined that the selected website does not include CSS code, the method may end. On the other hand, if it is determined that the selected website contains CSS code, the method may continue to step 615.
  • step 615 it may be determined whether the CSS code of the at least one website located in the searching includes an @font-face command. For example, servlet host 225 may determine whether the CSS code of the selected website includes the @font-face command. If it is determined that the CSS code of the selected website does not include the @font-face command, the method may end. On the other hand, if it is determined that the CSS code of the selected website contains the @font-face command, the method may continue to step 620.
  • step 620 it may be determined whether each of the one or more fonts linked to by the CSS code of the at least one website located in the searching includes one or more watermarks.
  • servlet host 225 may generate and/or submit one or more requests for each of the one or more fonts linked to by the CSS code (e.g., an @font-face command) of the selected website.
  • servlet host 225 may evaluate the received font file to determine whether it contains one or more watermarks.
  • servlet host 225 may determine whether the received font file includes a first watermark, which may be in the form of one or more single points in the one or more glyphs contained in the font file.
  • servlet host 225 may determine whether the received font file includes a first watermark. Because a font file typically might not contain unconnected single points, servlet host 225 may consider any unconnected single points or zero-length vectors found in the received font file to be part of the first watermark. Additionally or alternatively, servlet host 225 may determine whether the received font file contains a second watermark, which may be in the form of one or more tables stored in one or more data structures of the received font file.
  • step 625 it may be determined whether the at least one website located in the searching improperly links to each of the one or more fonts linked to by the CSS code. For example, servlet host 225 may calculate and/or determine, based on the first watermark contained in the received font file, a customer identifier and/or a security token for the received font file. Additionally or alternatively, servlet host 225 may calculate and/or determine, based on the second watermark contained in the received font file, a customer identifier and/or a security token for the received font file. Subsequently, servlet 225 may determine whether the calculated and/or determined customer identifier and/or security token corresponds to the selected website.
  • servlet 225 may compare identification information (e.g., the web address) of the selected website with stored identification information corresponding to the calculated and/or determined customer identifier and/or security token, such as a list of one or more web addresses authorized to link to the one or more fonts contained in the received font file, where the list may be stored in a database accessible by servlet 225. Based on such a comparison, servlet 225 may determine that the identification information of the selected website does not match with the stored identification information corresponding to the calculated and/or determined customer identifier and/or security token, in which case servlet 225 may determine that the selected website improperly links to the received font file and/or may flag the selected website for further review.
  • identification information e.g., the web address
  • stored identification information corresponding to the calculated and/or determined customer identifier and/or security token such as a list of one or more web addresses authorized to link to the one or more fonts contained in the received font file, where the list may be stored in a database accessible by servlet
  • servlet 225 may determine that the identification information of the selected website matches the stored identification information corresponding to the calculated and/or determined customer identifier and/or security token, in which case servlet 225 may determine that the selected website properly links to the received font file.
  • aspects described herein may be embodied as a method, an apparatus, or as one or more computer- readable media storing computer-executable instructions. Accordingly, those aspects may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects.
  • signals representing data or events as described herein may be transferred between a source and a destination in the form of light and/or electromagnetic waves traveling through signal- conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Document Processing Apparatus (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Information Transfer Between Computers (AREA)
PCT/US2011/024876 2010-02-16 2011-02-15 Preventing unauthorized font linking Ceased WO2011103087A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA2790079A CA2790079C (en) 2010-02-16 2011-02-15 Preventing unauthorized font linking
JP2012553965A JP5793722B2 (ja) 2010-02-16 2011-02-15 未承認フォントのリンクの防止
EP11745113.8A EP2537090B1 (en) 2010-02-16 2011-02-15 Preventing unauthorized font linking

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/706,222 US8438648B2 (en) 2010-02-16 2010-02-16 Preventing unauthorized font linking
US12/706,222 2010-02-16

Publications (1)

Publication Number Publication Date
WO2011103087A1 true WO2011103087A1 (en) 2011-08-25

Family

ID=44370564

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2011/024876 Ceased WO2011103087A1 (en) 2010-02-16 2011-02-15 Preventing unauthorized font linking

Country Status (5)

Country Link
US (1) US8438648B2 (https=)
EP (1) EP2537090B1 (https=)
JP (1) JP5793722B2 (https=)
CA (1) CA2790079C (https=)
WO (1) WO2011103087A1 (https=)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110258535A1 (en) * 2010-04-20 2011-10-20 Scribd, Inc. Integrated document viewer with automatic sharing of reading-related activities across external social networks
US8615709B2 (en) 2010-04-29 2013-12-24 Monotype Imaging Inc. Initiating font subsets
US8683006B2 (en) * 2010-07-17 2014-03-25 Adobe Systems Incorporated Method and systems for serving fonts during web browsing sessions
US8671342B2 (en) * 2010-09-16 2014-03-11 International Business Machines Corporation Desired font rendering
CN104137079A (zh) * 2011-09-30 2014-11-05 纽曼无限公司 用于保护JavaScript的装置、方法和计算机可读存储介质
US8819477B1 (en) 2012-02-01 2014-08-26 Amazon Technologies, Inc. Error handling in a network page generation environment
US8959426B1 (en) * 2012-02-01 2015-02-17 Amazon Technologies, Inc. Loading customer-supplied network page generation code
US9800455B1 (en) 2012-02-08 2017-10-24 Amazon Technologies, Inc. Log monitoring system
US20130215126A1 (en) * 2012-02-17 2013-08-22 Monotype Imaging Inc. Managing Font Distribution
US9442898B2 (en) 2012-07-17 2016-09-13 Oracle International Corporation Electronic document that inhibits automatic text extraction
CN103795770B (zh) * 2012-10-26 2017-07-04 伊姆西公司 在网络基础设施中提供高速缓存服务的方法和装置
JP6261325B2 (ja) * 2013-12-19 2018-01-17 ソフトバンク・テクノロジー株式会社 Webフォント配信方法及びそのためのシステム
US20150178476A1 (en) * 2013-12-24 2015-06-25 Andrew Horton System and method of monitoring font usage
US10115215B2 (en) 2015-04-17 2018-10-30 Monotype Imaging Inc. Pairing fonts for presentation
US20170017778A1 (en) * 2015-07-17 2017-01-19 Monotype Imaging Inc. Providing Font Security
US11537262B1 (en) 2015-07-21 2022-12-27 Monotype Imaging Inc. Using attributes for font recommendations
ES3058727T3 (en) 2017-07-24 2026-03-12 Wix Com Ltd Editing a database during preview of a virtual web page
US11334750B2 (en) 2017-09-07 2022-05-17 Monotype Imaging Inc. Using attributes for predicting imagery performance
US10909429B2 (en) 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection
US11657602B2 (en) 2017-10-30 2023-05-23 Monotype Imaging Inc. Font identification from imagery
WO2020106612A1 (en) * 2018-11-21 2020-05-28 Glance Networks, Inc. Method and apparatus for accessing proprietary resources on a co-browse session
CN114417226A (zh) * 2021-11-10 2022-04-29 北京字节跳动网络技术有限公司 页面生成方法、显示方法、装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091376A1 (en) * 2005-05-02 2007-04-26 Sean Calhoon Active Images Through Digital Watermarking

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050053258A1 (en) * 2000-11-15 2005-03-10 Joe Pasqua System and method for watermarking a document
US7095873B2 (en) * 2002-06-28 2006-08-22 Microsoft Corporation Watermarking via quantization of statistics of overlapping regions
US7404297B2 (en) * 2003-03-06 2008-07-29 Guangdong Galanz Enterprises Co., Ltd. Air conditioner with a light wave unit for auxiliary heating and sterilizing
WO2005036459A1 (en) * 2003-10-10 2005-04-21 Koninklijke Philips Electronics N.V. Detection of a watermark in a digital signal
FI117218B (fi) * 2003-12-29 2006-07-31 Nokia Corp Menettely tietoelementin lataamiseksi langattomaan päätelaitteeseen
US7612897B2 (en) * 2004-09-24 2009-11-03 Seiko Epson Corporation Method of managing the printing of characters and a printing device employing method
JP5015540B2 (ja) * 2006-09-28 2012-08-29 富士通株式会社 電子透かし埋め込み装置および検出装置
US8856647B2 (en) * 2009-02-20 2014-10-07 Microsoft Corporation Font handling for viewing documents on the web

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091376A1 (en) * 2005-05-02 2007-04-26 Sean Calhoon Active Images Through Digital Watermarking

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Web Font linking and Cross-Origin Resource Sharing.", OPENLIBRARYFONT, 9 July 2009 (2009-07-09), pages 1 - 2, Retrieved from the Internet <URL:http://openfontlibrary.org/wiki/Web_Font_linkingand_Cross-OriginResource_Sharing> [retrieved on 20110430] *
DEVROYE: "WOFF (Web Open Font Format).", October 2009 (2009-10-01), pages 21, Retrieved from the Internet <URL:http://cg.scs.carleton.ca/-luc/webfonts.html> [retrieved on 20110430] *
KEW ET AL.: "WOFF File Format.", 23 October 2009 (2009-10-23), pages 1, 2, 4, Retrieved from the Internet <URL:http://people.mozilla.org/-jkew/woff/woff-2009-10-23.html> [retrieved on 20110430] *

Also Published As

Publication number Publication date
US20110203000A1 (en) 2011-08-18
EP2537090A1 (en) 2012-12-26
US8438648B2 (en) 2013-05-07
JP5793722B2 (ja) 2015-10-14
EP2537090A4 (en) 2013-11-13
JP2013519963A (ja) 2013-05-30
CA2790079A1 (en) 2011-08-25
CA2790079C (en) 2019-07-02
EP2537090B1 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
US8438648B2 (en) Preventing unauthorized font linking
US10587584B2 (en) Securing shared documents using dynamic natural language steganography
US8769050B2 (en) Serving font files in varying formats based on user agent type
US8769405B2 (en) Reduced glyph font files
US20150178476A1 (en) System and method of monitoring font usage
KR102022108B1 (ko) 호스팅된 문서 서비스에서 오프라인 액세스를 제공하기 위한 시스템 및 방법
US7809685B2 (en) Secure and efficient methods for logging and synchronizing data exchanges
US9614862B2 (en) System and method for webpage analysis
US9954880B2 (en) Protection via webpage manipulation
US20090199083A1 (en) Method of enabling the modification and annotation of a webpage from a web browser
CN103841188B (zh) 一种浏览器中Cookie信息的处理方法和装置
US20100305940A1 (en) Language translation using embeddable component
CN105205080B (zh) 冗余文件清理方法、装置和系统
US9275018B2 (en) Techniques for analyzing web pages to determine font subsets
US8930807B2 (en) Web content management based on timeliness metadata
DK2972827T3 (en) COLLABORATIVE EDITING
US9355269B2 (en) Method and system for managing uniquely identifiable bookmarklets
US8418058B2 (en) Graphical indication of signed content
CN103064873B (zh) 一种网页质量数据获取方法和系统
US20070192324A1 (en) Method and device for advanced cache management in a user agent
CN110120898B (zh) 远程网页资源变更监测及有害性检测识别方法
CN116910751A (zh) 信息安全检测方法、装置、电子设备及存储介质
US20250328642A1 (en) Machine learning-based content disarm and reconstruction with web browser prefetching
CN103064874B (zh) 获取网页质量数据的方法和浏览器及服务器
EP4575801A1 (en) Testing an update to a software application on a target website

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: 11745113

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2790079

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2012553965

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011745113

Country of ref document: EP