Patents by Inventor Worachai Chaoweeraprasit

Worachai Chaoweeraprasit has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10417327
    Abstract: Methods and devices for rendering interactive three-dimensional (3D) fonts may include receiving, at a text platform component executing on a computing device, a request from an application to render text. The methods and devices may include parsing the text to identify at least one glyph in the text. The methods and devices may include accessing a font file that includes a 3D glyph description associated with the at least one glyph and an interaction policy associated with the 3D glyph that determines when and how to animate the 3D glyph. The methods and devices may include rendering at least one 3D glyph based on the 3D glyph description and the interaction policy. The methods and devices may include transmitting at least one rendered 3D glyph.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: September 17, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Worachai Chaoweeraprasit, Richard Kirkpatrick Manning, Simon Young Tao
  • Publication number: 20190171694
    Abstract: Methods and devices for previewing downloadable fonts may include receiving a preview font request for a visual representation of at least one font on a display. The methods and devices may include determining whether the at least one font is a locally stored font on the computer device or a downloadable font. The methods and devices may include retrieving, from a preview font file on the computer device, a preview instance that includes one or more glyph outlines to visually represent the at least one font when the at least one font is a downloadable font. The methods and devices may include transmitting the preview instance for presentation on the display.
    Type: Application
    Filed: December 1, 2017
    Publication date: June 6, 2019
    Inventors: Niklas BORSON, Xueyun ZHU, Worachai CHAOWEERAPRASIT
  • Patent number: 10242480
    Abstract: Methods and devices for animating variable fonts may include receiving a request to animate one or more glyphs of a variable font in a design space based on one or more animation parameters. The methods and devices may also include determining an animation path in the design space for the one or more glyphs based on the animation parameters and calculating a set of keyframes having respective keyframe positions along the animation path. The methods and devices may include constructing glyph outline data of the one or more glyphs for each keyframe in the set of keyframes. The methods and devices may include generating intermediate glyph outline data at one or more intermediate positions between the keyframe positions and transmitting the glyph outline data and the intermediate glyph outline data.
    Type: Grant
    Filed: March 3, 2017
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shrinath Shanbhag, Worachai Chaoweeraprasit
  • Publication number: 20180253883
    Abstract: Methods and devices for animating variable fonts may include receiving a request to animate one or more glyphs of a variable font in a design space based on one or more animation parameters. The methods and devices may also include determining an animation path in the design space for the one or more glyphs based on the animation parameters and calculating a set of keyframes having respective keyframe positions along the animation path. The methods and devices may include constructing glyph outline data of the one or more glyphs for each keyframe in the set of keyframes. The methods and devices may include generating intermediate glyph outline data at one or more intermediate positions between the keyframe positions and transmitting the glyph outline data and the intermediate glyph outline data.
    Type: Application
    Filed: March 3, 2017
    Publication date: September 6, 2018
    Inventors: Shrinath SHANBHAG, Worachai CHAOWEERAPRASIT
  • Publication number: 20180190004
    Abstract: Methods and devices for rendering interactive three-dimensional (3D) fonts may include receiving, at a text platform component executing on a computing device, a request from an application to render text. The methods and devices may include parsing the text to identify at least one glyph in the text. The methods and devices may include accessing a font file that includes a 3D glyph description associated with the at least one glyph and an interaction policy associated with the 3D glyph that determines when and how to animate the 3D glyph. The methods and devices may include rendering at least one 3D glyph based on the 3D glyph description and the interaction policy. The methods and devices may include transmitting at least one rendered 3D glyph.
    Type: Application
    Filed: April 28, 2017
    Publication date: July 5, 2018
    Inventors: Worachai CHAOWEERAPRASIT, Richard Kirkpatrick MANNING, Simon Young TAO
  • Patent number: 9940744
    Abstract: Remote font management techniques are described. In one or more implementations, one or more layout tables are obtained, located remotely via a network by a computing device, that correspond to a font associated with a request to output text using the font. A layout and glyph dependencies of the text is generated by the computing device using the obtained one or more layout tables to identify glyphs that are involved in an output of the text. The identified glyphs are obtained by the computing device from a font file located remotely from the computing device via the network and the text is rendered by the computing device using the obtained glyphs.
    Type: Grant
    Filed: September 15, 2014
    Date of Patent: April 10, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Niklas Erik Borson, Frank Dwayne Robinson, Worachai Chaoweeraprasit
  • Publication number: 20170249292
    Abstract: Conditional determination of glyph substitution (GSUB) lookups or glyph positioning (GPOS) lookups in the process of rendering a string of text as a sequence of glyphs is described. A process can include receiving a string of text comprising a sequence of characters, obtaining a sequence of glyph identifiers (IDs) corresponding to the sequence of characters, and determining that a context of the string of text satisfies a condition. Based at least in part on the context satisfying the condition, an alternate lookup can be determined and executed in lieu of a default lookup. Execution of the alternate lookup causes a GSUB operation or a GPOS operation to be performed on the sequence of glyph IDs to ultimately cause the string of text to be rendered on a display as a sequence of glyphs with a typographical feature applied thereto.
    Type: Application
    Filed: June 15, 2016
    Publication date: August 31, 2017
    Inventors: Peter Geoffrey Constable, Sergey Z. Malkin, Shrinath Shanbhag, Robert Matthew McKaughan, Frank Dwayne Robinson, Gregory Hitchcock, Worachai Chaoweeraprasit
  • Publication number: 20160078656
    Abstract: Remote font management techniques are described. In one or more implementations, one or more layout tables are obtained, located remotely via a network by a computing device, that correspond to a font associated with a request to output text using the font. A layout and glyph dependencies of the text is generated by the computing device using the obtained one or more layout tables to identify glyphs that are involved in an output of the text. The identified glyphs are obtained by the computing device from a font file located remotely from the computing device via the network and the text is rendered by the computing device using the obtained glyphs.
    Type: Application
    Filed: September 15, 2014
    Publication date: March 17, 2016
    Inventors: Niklas Erik Borson, Frank Dwayne Robinson, Worachai Chaoweeraprasit
  • Patent number: 9171386
    Abstract: Techniques for calculating sub-pixel coverage values for text to be displayed, so as to enable caching of the sub-pixel coverage values. The sub-pixel coverage values may enable a linear combination of color information for the text with color information for one or more other, overlapping display elements for calculating composite color values to be used in controlling a display. Such composite color values to be used in controlling sub-pixels of a display may be calculated, in some embodiments, without performing a gamma correction process. Also described are techniques for retrieving cached sub-pixel coverage values and combining the values with color information for text and for other, overlapping display elements to calculate composite color values for sub-pixels of a display. At least one graphics processing unit (GPU) may be configured to perform operations using the sub-pixel coverage information and to calculate the composite color values for the sub-pixels.
    Type: Grant
    Filed: October 11, 2011
    Date of Patent: October 27, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Megha Jain, Miles M. Cohen, Robert A. Brown, Worachai Chaoweeraprasit, Andrew M. Precious, Kanwal VedBrat
  • Publication number: 20150287220
    Abstract: Techniques for calculating sub-pixel coverage values for text to be displayed, so as to enable caching of the sub-pixel coverage values. The sub-pixel coverage values may enable a linear combination of color information for the text with color information for one or more other, overlapping display elements for calculating composite color values to be used in controlling a display. Such composite color values to be used in controlling sub-pixels of a display may be calculated, in some embodiments, without performing a gamma correction process. Also described are techniques for retrieving cached sub-pixel coverage values and combining the values with color information for text and for other, overlapping display elements to calculate composite color values for sub-pixels of a display. Further described are techniques for cached font color values for the text in a shared memory location, and use of the cached font color values to composite color values for each of multiple pixels.
    Type: Application
    Filed: June 22, 2015
    Publication date: October 8, 2015
    Inventors: Megha Jain, Miles M. Cohen, Robert A. Brown, Worachai Chaoweeraprasit, Andrew M. Precious, Kanwal VedBrat
  • Publication number: 20140320527
    Abstract: Methods, systems, and computer-storage media for performing a method of facilitating caching glyph data in hardware are provided. In embodiments, the method includes referencing a first glyph and a second glyph. Thereafter, a determination is made as to whether to merge the first glyph and the second glyph for rendering together as a set of merged glyphs. If it is determined to merge the first glyph and the second glyph, the merged glyph set including the first glyph and the second glyph are rendered. On the other hand, if it is determined to render the first glyph and the second glyph separately, glyph data associated with the first glyph that is in a hardware glyph cache and glyph data associated with the second glyph that is in the hardware glyph cache are used to render the first glyph and the second glyph separately.
    Type: Application
    Filed: April 30, 2013
    Publication date: October 30, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: MILES MARK COHEN, NIKLAS ERIK BORSON, WORACHAI CHAOWEERAPRASIT
  • Publication number: 20130088505
    Abstract: Techniques for calculating sub-pixel coverage values for text to be displayed, so as to enable caching of the sub-pixel coverage values. The sub-pixel coverage values may enable a linear combination of color information for the text with color information for one or more other, overlapping display elements for calculating composite color values to be used in controlling a display. Such composite color values to be used in controlling sub-pixels of a display may be calculated, in some embodiments, without performing a gamma correction process. Also described are techniques for retrieving cached sub-pixel coverage values and combining the values with color information for text and for other, overlapping display elements to calculate composite color values for sub-pixels of a display. At least one graphics processing unit (GPU) may be configured to perform operations using the sub-pixel coverage information and to calculate the composite color values for the sub-pixels.
    Type: Application
    Filed: October 11, 2011
    Publication date: April 11, 2013
    Applicant: Microsoft Corporation
    Inventors: Megha Jain, Miles M. Cohen, Robert A. Brown, Worachai Chaoweeraprasit, Andrew M. Precious, Kanwal VedBrat
  • Publication number: 20130063475
    Abstract: A method for text rendering that is well suited for use in a computing device with a high resolution display but a low-power graphics processing unit (GPU). The method may comprise calculating a coverage representation of the text in a format that can be efficiently processed by the GPU. As a result, the GPU may perform anti-aliasing and subsequent operations in the rendering process. Efficient processing may be achieved by providing the coverage representation in a format that allows values associated with pixels to be computed based on a byte-aligned chunk of bits in the coverage representation. Additionally, processing on the chunks may be performed using at least one lookup table. For large filtering kernels used for anti-aliasing, the lookup tables may be partitioned into portions dependent on dynamic text characteristics and those independent of the dynamic text characteristics.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Miles M. Cohen, Kanwal VedBrat, Andrew M. Precious, Worachai Chaoweeraprasit, Niklas E. Borson, Claire M. L. Andrews, Dylan M. Deverill, Blake D. Pelton, Robert A. Brown
  • Patent number: 7925091
    Abstract: A method for displaying an input string of character codes as a sequence of glyphs. In one implementation, an ordered list of instructions for transforming an input string of character codes may be generated using syntax-directed translation. The ordered list of instructions may be executed to generate a sequence of glyph indices. A sequence of glyphs corresponding to the sequence of glyph indices may be displayed.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Worachai Chaoweeraprasit, Zhanjia Yang
  • Patent number: 7924285
    Abstract: Described is a system and method by which text elements to be rendered on a computer display (e.g., paragraph, line or any subset of text including a character or glyph) may be individually or collectively animated, at an author-selected level of granularity. Animation of text may be specified by setting animation properties via direct coding (e.g., in markup) or by specifying animation code to execute on text-related data, just prior to rendering. The text to animate may be static, or dynamically obtained at runtime from an external source. The text to animate is maintained as a whole with other text of the same element, in a text object, until a processing level that produces separate glyph runs, with an animation transform associated with each glyph run to be animated. Also described is an API that supports text animation.
    Type: Grant
    Filed: April 6, 2005
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: David C. Brown, Worachai Chaoweeraprasit, Zhanjia Yang
  • Publication number: 20080244511
    Abstract: A method for developing a writing system analyzer. In one implementation, a writing system may be represented in syntax-directed translation. The syntax-directed translation representation of the writing system may be compiled to generate a writing system analyzer. In one implementation, the writing system may be represented in syntax-directed translation by creating an environment using header files with one or more declarations in source code form and formulating one or more rules for representing the writing system using the declarations.
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Worachai Chaoweeraprasit, Zhanjia Yang
  • Publication number: 20080240567
    Abstract: A method for displaying an input string of character codes as a sequence of glyphs. In one implementation, an ordered list of instructions for transforming an input string of character codes may be generated using syntax-directed translation. The ordered list of instructions may be executed to generate a sequence of glyph indices. A sequence of glyphs corresponding to the sequence of glyph indices may be displayed.
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Worachai Chaoweeraprasit, Zhanjia Yang
  • Patent number: 7228501
    Abstract: The invention is generally directed to a method for selecting a font that uses a mark-up language document to group together multiple pre-existing fonts into a single font family or “virtual font.” The mark-up language document includes rules regarding the conditions under which individual fonts within the family are to be used. This permits, for example, a font developer to create, in an efficient manner, an international font using several preexisting fonts.
    Type: Grant
    Filed: November 1, 2002
    Date of Patent: June 5, 2007
    Assignee: Microsoft Corporation
    Inventors: David C. Brown, Worachai Chaoweeraprasit, Tarek Mahmoud Sayed
  • Publication number: 20060227142
    Abstract: Described is a system and method by which text elements to be rendered on a computer display (e.g., paragraph, line or any subset of text including a character or glyph) may be individually or collectively animated, at an author-selected level of granularity. Animation of text may be specified by setting animation properties via direct coding (e.g., in markup) or by specifying animation code to execute on text-related data, just prior to rendering. The text to animate may be static, or dynamically obtained at runtime from an external source. The text to animate is maintained as a whole with other text of the same element, in a text object, until a processing level that produces separate glyph runs, with an animation transform associated with each glyph run to be animated. Also described is an API that supports text animation.
    Type: Application
    Filed: April 6, 2005
    Publication date: October 12, 2006
    Applicant: Microsoft Corporation
    Inventors: David Brown, Worachai Chaoweeraprasit, Zhanjia Yang
  • Publication number: 20040088657
    Abstract: The invention is generally directed to a method for selecting a font that uses a mark-up language document to group together multiple pre-existing fonts into a single font family or “virtual font.” The mark-up language document includes rules regarding the conditions under which individual fonts within the family are to be used. This permits, for example, a font developer to create, in an efficient manner, an international font using several preexisting fonts.
    Type: Application
    Filed: November 1, 2002
    Publication date: May 6, 2004
    Applicant: Microsoft Corporation
    Inventors: David C. Brown, Worachai Chaoweeraprasit, Tarek Mahmoud Sayed