Abstract:
Systems, methods, and computer-readable media are disclosed for dynamic contrast adjustment for glyph rendering. Example methods may include rendering a first glyph associated with a font in a first font size, increasing a first contrast of the first glyph in the first font size by adjusting a first grayscale value associated with the first glyph in the first font size to generate an adjusted first grayscale value, and storing the adjusted first grayscale value in a grayscale mapping table associated with the font, the grayscale mapping table comprising a default grayscale value for the first glyph in a second font size. Example methods may include generating a font file comprising the first glyph and the grayscale mapping table.
Abstract:
In some examples, additional content is provided with the main content of a content item presented on an electronic device. For instance, an occurrence of an event may call for presentation of an additional content portion concurrently with the main content of the content item. The additional content portion may interact with other additional content portions, the main content portion, and/or user inputs. In some cases, the additional content portion can be implemented by one or more plug-in modules having designated roles for providing respective different types of additional content. Accordingly, some examples provide a cross-platform module that receives events, selects one or more plug-ins in response to a received event, and causes the one or more plug-ins to perform a desired action for rendering and compositing additional content portions or features to be presented with the main content of a content item.
Abstract:
Some examples include testing of software able to render a content item on a display of an electronic device. The testing may include capturing images of rendered portions of a content item and comparing the captured images with previously obtained reference images that have been verified to be correctly rendered. The testing techniques can be applied to conversion software that converts digital content items from one format to another and/or testing of the converted content items themselves. Additionally, content presentation software that displays digital content items on an electronic device, such as by interacting with rendering software, may also be tested using a similar technique.
Abstract:
A processing device in a user device receives an electronic document comprising text in a first font of a plurality of fonts and a hint tag set comprising a suggested order of hint types for the first font, wherein a first hint type is arranged in the suggested order according to a corresponding quality score for the first hint type, the quality score indicating how closely characters from a simulated presentation of the text match a predefined presentation of the characters. The processing device determines a hint type for the first font from the suggested order of hint types and according to a capability of the user device and utilizes the hint type for a presentation of the text of the electronic document.
Abstract:
A rendering optimizer captures content engagement feedback associated with a first interval during which electronic content is presented with a first set of rendering parameter values. The rendering optimizer adjusts at least one rendering parameter value of the first set of rendering parameter values by a step amount in a first direction to create a second set of rendering parameter values and captures content engagement feedback associated with a second interval during which the electronic content is presented with the second set of rendering parameter values. The rendering optimizer further adjusts the rendering parameter values to determine they result in an improvement in reading immersion.
Abstract:
A method and system to provide font hints for text is described. An example method includes identifying a plurality of fonts of the text, determining a suggested order of hint types for each font based on rendering context, and sending, to a user device, the fonts and a suggested order of hint types for each font.
Abstract:
A user device receives a user input that causes an electronic publication to have a modified state. The user device generates data that, when used to render the electronic publication, causes the electronic publication to have the modified state. The user device transmits the data to a server.
Abstract:
A rendering optimizer captures content engagement feedback associated with a first interval during which electronic content is presented with a first set of rendering parameter values. The rendering optimizer adjusts at least one rendering parameter value of the first set of rendering parameter values by a step amount in a first direction to create a second set of rendering parameter values and captures content engagement feedback associated with a second interval during which the electronic content is presented with the second set of rendering parameter values. The rendering optimizer further adjusts the rendering parameter values to determine they result in an improvement in reading immersion.
Abstract:
A method and system to provide fonts for electronic publications is described. An example method includes receiving a request for an electronic publication from a user device, retrieving a font identifier of a font from the electronic publication, providing the electronic publication to the user device, determining, based on the font identifier, that at least one font file of the font is not stored on the user device, and providing the at least one font file of the font to the user device.
Abstract:
Some examples include segmenting text of a content item to include a plurality of segments or words. For instance, a module for segmenting a content item using a context-based segmenter into a plurality of segments, identifying segment boundary hints stored in the content item, and adjusting segments of the plurality of segments based on the identified segment boundary hints. Some additional examples include inserting segment boundary hints into a content item. For instance a module that segments the content item using a first segmenter and a second segmenter and inserting segment boundary hints into the content item where the results of the first and second segmenter differ.