# US 10,319,126 B2 · Ribbon to quick access toolbar icon conversion

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,319,126 B2
- Document ID: US10319126B2
- Status: Granted
- Kind: B2
- Application number: 15/238,542
- Filed: 2016-08-16
- Published: 2018-02-22
- Granted: 2019-06-11
- Earliest claimed: 2016-08-16
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Elie Samuel Javice; Navneet Singh Kambo; Han-Yi Shaw
- Web page: https://patentgrep.com/patent/US10319126B2

## CPC

- G06T 11/60: Creating or editing images; Combining images with text
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects of the present disclosure relate to systems and methods for converting a color icon into a glyph. In one aspect, a color icon associated with an application may be identified. The color icon may be converted to a dilated icon using a dilation function. A color edge only icon may be created using the color icon and the dilated icon. The color edge only icon may be converted to a gray edge only icon. An intensity of the gray edge only icon may be reduced to create a clipping edge only icon. The color icon may be converted to an alpha channel icon using an alpha channel. A dark glyph may be created using the clipping edge only icon and the alpha channel icon. A final glyph may be created by clipping an alpha value from and adding a constant value to the dark glyph.

## Claims

### Claim 1

A system comprising:
one or more non-transitory computer readable storage media; and
program instructions stored on the one or more non-transitory computer readable storage media that, when executed by at least one processor, cause the at least one processor to at least:
identify a color icon associated with an application, where the color icon is in a first portion of the application, and where the color icon is a first size corresponding to the first portion of the application;
scale the color icon to a first final glyph having a first level of precision corresponding to the color icon by executing a first icon conversion process, where the first final glyph is a second size, and where the first icon conversion process includes at least:
applying a dilation function to the color icon to convert the color icon to a dilated icon;
creating a color edge only icon using the color icon and the dilated icon;
converting the color edge only icon to a gray edge only icon;
reducing an intensity of the gray edge only icon to create a clipping edge only icon;
converting the color icon to an alpha channel icon using an alpha channel;
creating a first dark glyph by subtracting the clipping edge only icon from the alpha channel icon;
inverting the first dark glyph to create a first light glyph; and
creating the first final glyph by clipping one or more alpha values from the first light glyph and adding a constant value to the first light glyph, where the first final glyph is in a second portion of the application; and
scale the color icon to a second final glyph having a second level of precision corresponding to the color icon by executing a second icon conversion process, where the second icon conversion process includes at least:
creating a second dark glyph by subtracting the gray edge only icon from the alpha channel icon; and
creating the second final glyph by inverting the second dark glyph to a second light glyph.

### Claim 2 (depends on 1)

The system of claim 1, wherein the program instructions, when executed by the at least one processor, further cause the at least one processor to further display the first final glyph and the second final glyph within the application in a user interface.

### Claim 3 (depends on 2)

The system of claim 2, wherein the first final glyph and the second final glyph are displayed in a quick access toolbar portion of the application.

### Claim 4 (depends on 1)

The system of claim 1, wherein the color icon is displayed in a ribbon portion of the application.

### Claim 5 (depends on 1)

The system of claim 1, wherein to create the color edge only icon the program instructions, when executed by the at least one processor, further cause the at least one processor to subtract the color icon from the dilated icon.

### Claim 6 (depends on 1)

The system of claim 1, wherein to convert the color edge only icon to a gray edge only icon the program instructions, when executed by the at least one processor, further cause the at least one processor to apply an averaging function to the color edge only icon.

### Claim 7 (depends on 1)

The system of claim 1, wherein to reduce an intensity of the gray edge only icon to create a clipping edge only icon the program instructions, when executed by the at least one processor, further cause the at least one processor to when a red, green, blue (RGB) value of the gray edge only icon is above a predetermined value, clip the RGB value of the gray edge only icon that is above the predetermined value to an RGB value of the predetermined value.

### Claim 8 (depends on 1)

The system of claim 1, wherein to create the first dark glyph by subtracting the clipping edge only icon from the alpha channel icon the program instructions, when executed by the at least one processor, further cause the at least one processor to:
subtract one or more RGB values of the clipping edge only icon from one or more RGB values of a respective pixel in the alpha channel icon; and
calculate an alpha value of each pixel of the first dark glyph.

### Claim 9 (depends on 8)

The system of claim 8, wherein to calculate the alpha value of each pixel of the first dark glyph, the program instructions, when executed by the at least one processor, further cause the at least one processor to subtract a constant value multiplied by the clipping edge only icon from a corresponding alpha value of the color icon.

### Claim 10 (depends on 1)

The system of claim 1, wherein the first final glyph and the second final glyph are smaller in size than the color icon.

### Claim 11

A computer-implemented method for icon edge detection, the method comprising:
identifying a color icon associated with an application;
scaling the color icon to a first final glyph having a first level of precision corresponding to the color icon by executing a first icon conversion process, where the first icon conversion process includes at least:
applying a dilation function to the color icon to convert the color icon to a dilated icon;
creating a color edge only icon using the color icon and the dilated icon;
converting the color edge only icon to a gray edge only icon;
reducing an intensity of the gray edge only icon to create a clipping edge only icon;
converting the color icon to an alpha channel icon using an alpha channel;
creating a dark glyph by subtracting the clipping edge only icon from the alpha channel icon;
creating the first final glyph by clipping an alpha value from the dark glyph and adding a constant value to the dark glyph; and
scaling the color icon to a second final glyph having a second level of precision corresponding to the color icon by executing a second icon conversion process, where the second icon conversion process includes at least:
inverting the dark glyph to create a light glyph; and
creating a second final glyph by clipping an alpha value from the light glyph and adding a constant value to the light glyph.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein inverting the dark glyph to create a light glyph comprises subtracting an RGB value for each pixel of the dark glyph from 255.

### Claim 13 (depends on 11)

The computer-implemented method of claim 11, further comprising displaying the first final glyph within the application in a user interface when in a first application mode.

### Claim 14 (depends on 11)

The computer-implemented method of claim 11, further comprising displaying the second final glyph within the application in a user interface when in a second application mode.

### Claim 15 (depends on 11)

The computer-implemented method of claim 11, where the color icon is in a first portion of the application, and where the color icon is a first size corresponding to the first portion of the application.

### Claim 16 (depends on 11)

The computer-implemented method of claim 11, where the first final glyph is in a second portion of the application, and where the first final glyph is scaled to a second size corresponding to the second portion of the application.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, where the second final glyph is in the second portion of the application, and where the second final glyph is scaled to the second size corresponding to the second portion of the application.

### Claim 18

A computing apparatus comprising:
one or more non-transitory computer readable storage media; and
an application embodied at least in part in program instructions stored on the one or more non-transitory computer readable storage media and comprising:
a file in a user interface for displaying a plurality of color icons and a plurality of final glyphs;
a ribbon within the file in the user interface through which to display the plurality of color icons; and
a quick access toolbar within the file in the user interface through which to, in response to converting the plurality of color icons into the plurality of final glyphs, display the plurality of final glyphs;
wherein converting the plurality of color icons into the plurality of final glyphs comprises for each color icon of the plurality of color icons scaling the color icon to a first final glyph having a first level of precision corresponding to the color icon by executing a first icon conversion process, where the first icon conversion process includes at least:
applying a dilation function to the color icon to convert the color icon to a dilated icon;
creating a color edge only icon using the color icon and the dilated icon;
converting the color edge only icon to a gray edge only icon;
reducing an intensity of the gray edge only icon to create a clipping edge only icon;
converting the color icon to an alpha channel icon using an alpha channel;
creating a dark glyph by subtracting the clipping edge only icon from the alpha channel icon;
creating the first final glyph by clipping an alpha value from the dark glyph and adding a constant value to the dark glyph; and
scaling the color icon to a second final glyph having a second level of precision corresponding to the color icon by executing a second icon conversion process, where the second icon conversion process includes at least:
inverting the dark glyph to create a light glyph; and
creating a second final glyph by clipping an alpha value from the light glyph and adding a constant value to the light glyph.

### Claim 19 (depends on 18)

The computing apparatus of claim 18, wherein the ribbon has a ribbon background color and the quick access toolbar has a quick access toolbar background color, and wherein the ribbon background color is different from the quick access toolbar background color.

### Claim 20 (depends on 18)

The computing apparatus of claim 18, wherein the plurality of color icons are a first size corresponding to the ribbon, and wherein the plurality of final glyphs are scaled to a second size corresponding to the quick access toolbar.
