# rainbow icon

Rainbow. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/rainbow

- Category: Weather
- Use it for: rainbow
- Tags: rainbow, weather, colors, spectrum, after-rain, hope, arc
- Family: air-quality, haze, hurricane, moon, moon-star, snowflake, sun, sun-dim, sunrise, sunset, thermometer, thermometer-snowflake, tornado, umbrella, umbrella-plus, wind
- Component name: RainbowIcon
- Added: 2026-10-14

## Files

Each SVG is 16 × 16 with fill="currentColor". Keep it at 16 px or an exact multiple (32, 48) on whole pixels: a fractional size or position blurs it.

- line-round: https://gentleface.com/svg/line-round/16/rainbow.svg · PNG https://gentleface.com/png/line-round/16/rainbow.png · https://gentleface.com/png/line-round/32/rainbow.png · https://gentleface.com/png/line-round/48/rainbow.png
- line-soft: https://gentleface.com/svg/line-soft/16/rainbow.svg · PNG https://gentleface.com/png/line-soft/16/rainbow.png · https://gentleface.com/png/line-soft/32/rainbow.png · https://gentleface.com/png/line-soft/48/rainbow.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/rainbow.svg · PNG https://gentleface.com/png/line-sharp/16/rainbow.png · https://gentleface.com/png/line-sharp/32/rainbow.png · https://gentleface.com/png/line-sharp/48/rainbow.png
- solid-round: https://gentleface.com/svg/solid-round/16/rainbow.svg · PNG https://gentleface.com/png/solid-round/16/rainbow.png · https://gentleface.com/png/solid-round/32/rainbow.png · https://gentleface.com/png/solid-round/48/rainbow.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/rainbow.svg · PNG https://gentleface.com/png/solid-soft/16/rainbow.png · https://gentleface.com/png/solid-soft/32/rainbow.png · https://gentleface.com/png/solid-soft/48/rainbow.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/rainbow.svg · PNG https://gentleface.com/png/solid-sharp/16/rainbow.png · https://gentleface.com/png/solid-sharp/32/rainbow.png · https://gentleface.com/png/solid-sharp/48/rainbow.png

The SVG of every style: https://gentleface.com/icons/rainbow.json (`svg`).

## Code (line-round)

The snippets are decorative (aria-hidden). For an icon that carries meaning on its own, such as an icon-only button, label the button, or give the SVG role="img" and an aria-label. For another style, take its SVG from the JSON and swap the path `d`.

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z"/></svg>
```

### React

```tsx
// Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow
import type { SVGProps } from 'react';

export function RainbowIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow -->
<script>
  let props = $props();
</script>

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow. An <img> can't take currentColor: it draws black. Inline the SVG or use the CSS mask to color it. -->
<img src="https://gentleface.com/svg/line-round/16/rainbow.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow. Takes the text color. */
.icon-rainbow {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow
     Every icon of this style in one file: https://gentleface.com/sprite/line-round.svg
     Serve it from your own origin: <use> does not load from another origin. -->
<svg width="16" height="16" aria-hidden="true"><use href="/sprite/line-round.svg#rainbow"/></svg>
```

### SwiftUI

```swift
// Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow
import SwiftUI

struct RainbowIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 1.646, y: 9.062))
        p.addCurve(to: CGPoint(x: 3.232, y: 6.875), control1: CGPoint(x: 2.032, y: 8.229), control2: CGPoint(x: 2.56, y: 7.5))
        p.addCurve(to: CGPoint(x: 5.527, y: 5.451), control1: CGPoint(x: 3.904, y: 6.25), control2: CGPoint(x: 4.669, y: 5.775))
        p.addCurve(to: CGPoint(x: 8, y: 5), control1: CGPoint(x: 6.324, y: 5.15), control2: CGPoint(x: 7.148, y: 5))
        p.addCurve(to: CGPoint(x: 10.473, y: 5.451), control1: CGPoint(x: 8.852, y: 5), control2: CGPoint(x: 9.676, y: 5.15))
        p.addCurve(to: CGPoint(x: 12.768, y: 6.875), control1: CGPoint(x: 11.331, y: 5.775), control2: CGPoint(x: 12.096, y: 6.25))
        p.addCurve(to: CGPoint(x: 14.354, y: 9.062), control1: CGPoint(x: 13.44, y: 7.5), control2: CGPoint(x: 13.968, y: 8.229))
        p.addCurve(to: CGPoint(x: 14.982, y: 11.496), control1: CGPoint(x: 14.711, y: 9.835), control2: CGPoint(x: 14.92, y: 10.646))
        p.addCurve(to: CGPoint(x: 14.864, y: 11.861), control1: CGPoint(x: 14.992, y: 11.636), control2: CGPoint(x: 14.953, y: 11.758))
        p.addCurve(to: CGPoint(x: 14.519, y: 12.03), control1: CGPoint(x: 14.774, y: 11.964), control2: CGPoint(x: 14.66, y: 12.02))
        p.addCurve(to: CGPoint(x: 14.154, y: 11.912), control1: CGPoint(x: 14.379, y: 12.041), control2: CGPoint(x: 14.257, y: 12.001))
        p.addCurve(to: CGPoint(x: 13.984, y: 11.568), control1: CGPoint(x: 14.051, y: 11.823), control2: CGPoint(x: 13.995, y: 11.708))
        p.addCurve(to: CGPoint(x: 13.446, y: 9.482), control1: CGPoint(x: 13.932, y: 10.84), control2: CGPoint(x: 13.752, y: 10.144))
        p.addCurve(to: CGPoint(x: 12.087, y: 7.607), control1: CGPoint(x: 13.116, y: 8.768), control2: CGPoint(x: 12.663, y: 8.143))
        p.addCurve(to: CGPoint(x: 10.12, y: 6.387), control1: CGPoint(x: 11.511, y: 7.071), control2: CGPoint(x: 10.855, y: 6.665))
        p.addCurve(to: CGPoint(x: 8, y: 6), control1: CGPoint(x: 9.437, y: 6.129), control2: CGPoint(x: 8.73, y: 6))
        p.addCurve(to: CGPoint(x: 5.88, y: 6.387), control1: CGPoint(x: 7.27, y: 6), control2: CGPoint(x: 6.563, y: 6.129))
        p.addCurve(to: CGPoint(x: 3.913, y: 7.607), control1: CGPoint(x: 5.145, y: 6.665), control2: CGPoint(x: 4.489, y: 7.071))
        p.addCurve(to: CGPoint(x: 2.554, y: 9.482), control1: CGPoint(x: 3.337, y: 8.143), control2: CGPoint(x: 2.884, y: 8.768))
        p.addCurve(to: CGPoint(x: 2.016, y: 11.568), control1: CGPoint(x: 2.248, y: 10.144), control2: CGPoint(x: 2.068, y: 10.84))
        p.addCurve(to: CGPoint(x: 1.844, y: 11.91), control1: CGPoint(x: 2.006, y: 11.705), control2: CGPoint(x: 1.948, y: 11.82))
        p.addCurve(to: CGPoint(x: 1.481, y: 12.03), control1: CGPoint(x: 1.74, y: 12), control2: CGPoint(x: 1.619, y: 12.04))
        p.addCurve(to: CGPoint(x: 1.139, y: 11.859), control1: CGPoint(x: 1.343, y: 12.021), control2: CGPoint(x: 1.229, y: 11.963))
        p.addCurve(to: CGPoint(x: 1.018, y: 11.496), control1: CGPoint(x: 1.048, y: 11.755), control2: CGPoint(x: 1.008, y: 11.633))
        p.addCurve(to: CGPoint(x: 1.646, y: 9.062), control1: CGPoint(x: 1.08, y: 10.646), control2: CGPoint(x: 1.289, y: 9.835))
        p.closeSubpath()
        p.move(to: CGPoint(x: 5.37, y: 8.987))
        p.addCurve(to: CGPoint(x: 6.64, y: 8.238), control1: CGPoint(x: 5.746, y: 8.658), control2: CGPoint(x: 6.17, y: 8.408))
        p.addCurve(to: CGPoint(x: 8, y: 8), control1: CGPoint(x: 7.079, y: 8.079), control2: CGPoint(x: 7.533, y: 8))
        p.addCurve(to: CGPoint(x: 9.36, y: 8.238), control1: CGPoint(x: 8.467, y: 8), control2: CGPoint(x: 8.921, y: 8.079))
        p.addCurve(to: CGPoint(x: 10.63, y: 8.987), control1: CGPoint(x: 9.83, y: 8.408), control2: CGPoint(x: 10.254, y: 8.658))
        p.addCurve(to: CGPoint(x: 11.544, y: 10.144), control1: CGPoint(x: 11.007, y: 9.315), control2: CGPoint(x: 11.312, y: 9.701))
        p.addCurve(to: CGPoint(x: 11.963, y: 11.46), control1: CGPoint(x: 11.76, y: 10.558), control2: CGPoint(x: 11.9, y: 10.997))
        p.addCurve(to: CGPoint(x: 11.868, y: 11.832), control1: CGPoint(x: 11.982, y: 11.599), control2: CGPoint(x: 11.951, y: 11.723))
        p.addCurve(to: CGPoint(x: 11.535, y: 12.023), control1: CGPoint(x: 11.786, y: 11.94), control2: CGPoint(x: 11.675, y: 12.004))
        p.addCurve(to: CGPoint(x: 11.164, y: 11.928), control1: CGPoint(x: 11.396, y: 12.042), control2: CGPoint(x: 11.272, y: 12.01))
        p.addCurve(to: CGPoint(x: 10.973, y: 11.595), control1: CGPoint(x: 11.055, y: 11.845), control2: CGPoint(x: 10.992, y: 11.734))
        p.addCurve(to: CGPoint(x: 10.658, y: 10.608), control1: CGPoint(x: 10.925, y: 11.248), control2: CGPoint(x: 10.82, y: 10.919))
        p.addCurve(to: CGPoint(x: 9.973, y: 9.74), control1: CGPoint(x: 10.484, y: 10.276), control2: CGPoint(x: 10.255, y: 9.987))
        p.addCurve(to: CGPoint(x: 9.02, y: 9.179), control1: CGPoint(x: 9.69, y: 9.493), control2: CGPoint(x: 9.373, y: 9.306))
        p.addCurve(to: CGPoint(x: 8, y: 9), control1: CGPoint(x: 8.69, y: 9.06), control2: CGPoint(x: 8.35, y: 9))
        p.addCurve(to: CGPoint(x: 6.98, y: 9.179), control1: CGPoint(x: 7.65, y: 9), control2: CGPoint(x: 7.31, y: 9.06))
        p.addCurve(to: CGPoint(x: 6.027, y: 9.74), control1: CGPoint(x: 6.627, y: 9.306), control2: CGPoint(x: 6.31, y: 9.493))
        p.addCurve(to: CGPoint(x: 5.342, y: 10.608), control1: CGPoint(x: 5.745, y: 9.987), control2: CGPoint(x: 5.516, y: 10.276))
        p.addCurve(to: CGPoint(x: 5.027, y: 11.595), control1: CGPoint(x: 5.18, y: 10.919), control2: CGPoint(x: 5.075, y: 11.248))
        p.addCurve(to: CGPoint(x: 4.835, y: 11.925), control1: CGPoint(x: 5.009, y: 11.732), control2: CGPoint(x: 4.945, y: 11.842))
        p.addCurve(to: CGPoint(x: 4.465, y: 12.023), control1: CGPoint(x: 4.725, y: 12.009), control2: CGPoint(x: 4.601, y: 12.041))
        p.addCurve(to: CGPoint(x: 4.134, y: 11.83), control1: CGPoint(x: 4.328, y: 12.004), control2: CGPoint(x: 4.218, y: 11.94))
        p.addCurve(to: CGPoint(x: 4.037, y: 11.46), control1: CGPoint(x: 4.05, y: 11.72), control2: CGPoint(x: 4.018, y: 11.597))
        p.addCurve(to: CGPoint(x: 4.456, y: 10.144), control1: CGPoint(x: 4.1, y: 10.997), control2: CGPoint(x: 4.24, y: 10.558))
        p.addCurve(to: CGPoint(x: 5.37, y: 8.987), control1: CGPoint(x: 4.688, y: 9.701), control2: CGPoint(x: 4.993, y: 9.315))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8, y: 10.5))
        p.addCurve(to: CGPoint(x: 9.061, y: 10.939), control1: CGPoint(x: 8.414, y: 10.5), control2: CGPoint(x: 8.768, y: 10.646))
        p.addCurve(to: CGPoint(x: 9.358, y: 11.356), control1: CGPoint(x: 9.186, y: 11.065), control2: CGPoint(x: 9.286, y: 11.204))
        p.addCurve(to: CGPoint(x: 9.146, y: 11.956), control1: CGPoint(x: 9.465, y: 11.58), control2: CGPoint(x: 9.37, y: 11.849))
        p.addCurve(to: CGPoint(x: 8.952, y: 12), control1: CGPoint(x: 9.086, y: 11.985), control2: CGPoint(x: 9.019, y: 12))
        p.addLine(to: CGPoint(x: 7.048, y: 12))
        p.addCurve(to: CGPoint(x: 6.598, y: 11.55), control1: CGPoint(x: 6.799, y: 12), control2: CGPoint(x: 6.598, y: 11.799))
        p.addCurve(to: CGPoint(x: 6.642, y: 11.356), control1: CGPoint(x: 6.598, y: 11.483), control2: CGPoint(x: 6.613, y: 11.417))
        p.addCurve(to: CGPoint(x: 6.939, y: 10.939), control1: CGPoint(x: 6.714, y: 11.204), control2: CGPoint(x: 6.814, y: 11.065))
        p.addCurve(to: CGPoint(x: 8, y: 10.5), control1: CGPoint(x: 7.232, y: 10.646), control2: CGPoint(x: 7.586, y: 10.5))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

// RainbowIcon().frame(width: 16, height: 16) fills with the foreground style. Keep it on whole points to stay crisp.
```

### Compose

```kotlin
// Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.addPathNodes
import androidx.compose.ui.unit.dp

val RainbowIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "rainbow", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

// Icon(RainbowIcon, contentDescription = null) tints it with LocalContentColor.
```

### Android XML

```xml
<!-- res/drawable/ic_rainbow.xml · Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M1.646 9.062C2.032 8.229 2.56 7.5 3.232 6.875C3.904 6.25 4.669 5.775 5.527 5.451C6.324 5.15 7.148 5 8 5C8.852 5 9.676 5.15 10.473 5.451C11.331 5.775 12.096 6.25 12.768 6.875C13.44 7.5 13.968 8.229 14.354 9.062C14.711 9.835 14.92 10.646 14.982 11.496C14.992 11.636 14.953 11.758 14.864 11.861C14.774 11.964 14.66 12.02 14.519 12.03C14.379 12.041 14.257 12.001 14.154 11.912C14.051 11.823 13.995 11.708 13.984 11.568C13.932 10.84 13.752 10.144 13.446 9.482C13.116 8.768 12.663 8.143 12.087 7.607C11.511 7.071 10.855 6.665 10.12 6.387C9.437 6.129 8.73 6 8 6C7.27 6 6.563 6.129 5.88 6.387C5.145 6.665 4.489 7.071 3.913 7.607C3.337 8.143 2.884 8.768 2.554 9.482C2.248 10.144 2.068 10.84 2.016 11.568C2.006 11.705 1.948 11.82 1.844 11.91C1.74 12 1.619 12.04 1.481 12.03C1.343 12.021 1.229 11.963 1.139 11.859C1.048 11.755 1.008 11.633 1.018 11.496C1.08 10.646 1.289 9.835 1.646 9.062ZM5.37 8.987C5.746 8.658 6.17 8.408 6.64 8.238C7.079 8.079 7.533 8 8 8C8.467 8 8.921 8.079 9.36 8.238C9.83 8.408 10.254 8.658 10.63 8.987C11.007 9.315 11.312 9.701 11.544 10.144C11.76 10.558 11.9 10.997 11.963 11.46C11.982 11.599 11.951 11.723 11.868 11.832C11.786 11.94 11.675 12.004 11.535 12.023C11.396 12.042 11.272 12.01 11.164 11.928C11.055 11.845 10.992 11.734 10.973 11.595C10.925 11.248 10.82 10.919 10.658 10.608C10.484 10.276 10.255 9.987 9.973 9.74C9.69 9.493 9.373 9.306 9.02 9.179C8.69 9.06 8.35 9 8 9C7.65 9 7.31 9.06 6.98 9.179C6.627 9.306 6.31 9.493 6.027 9.74C5.745 9.987 5.516 10.276 5.342 10.608C5.18 10.919 5.075 11.248 5.027 11.595C5.009 11.732 4.945 11.842 4.835 11.925C4.725 12.009 4.601 12.041 4.465 12.023C4.328 12.004 4.218 11.94 4.134 11.83C4.05 11.72 4.018 11.597 4.037 11.46C4.1 10.997 4.24 10.558 4.456 10.144C4.688 9.701 4.993 9.315 5.37 8.987ZM8 10.5C8.414 10.5 8.768 10.646 9.061 10.939C9.186 11.065 9.286 11.204 9.358 11.356C9.465 11.58 9.37 11.849 9.146 11.956C9.086 11.985 9.019 12 8.952 12L7.048 12C6.799 12 6.598 11.799 6.598 11.55C6.598 11.483 6.613 11.417 6.642 11.356C6.714 11.204 6.814 11.065 6.939 10.939C7.232 10.646 7.586 10.5 8 10.5Z"/>
</vector>
```

### Flutter

```dart
// Gentleface "rainbow" (line-round), MIT. https://gentleface.com/icons/rainbow
import 'package:flutter/widgets.dart';

class RainbowIcon extends StatelessWidget {
  const RainbowIcon({super.key, this.size = 16, this.color});
  final double size;
  final Color? color;

  @override
  Widget build(BuildContext context) => CustomPaint(
        size: Size.square(size),
        painter: _RainbowIconPainter(color ?? IconTheme.of(context).color ?? const Color(0xFF000000)),
      );
}

class _RainbowIconPainter extends CustomPainter {
  _RainbowIconPainter(this.color);
  final Color color;

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(1.646, 9.062)
      ..cubicTo(2.032, 8.229, 2.56, 7.5, 3.232, 6.875)
      ..cubicTo(3.904, 6.25, 4.669, 5.775, 5.527, 5.451)
      ..cubicTo(6.324, 5.15, 7.148, 5, 8, 5)
      ..cubicTo(8.852, 5, 9.676, 5.15, 10.473, 5.451)
      ..cubicTo(11.331, 5.775, 12.096, 6.25, 12.768, 6.875)
      ..cubicTo(13.44, 7.5, 13.968, 8.229, 14.354, 9.062)
      ..cubicTo(14.711, 9.835, 14.92, 10.646, 14.982, 11.496)
      ..cubicTo(14.992, 11.636, 14.953, 11.758, 14.864, 11.861)
      ..cubicTo(14.774, 11.964, 14.66, 12.02, 14.519, 12.03)
      ..cubicTo(14.379, 12.041, 14.257, 12.001, 14.154, 11.912)
      ..cubicTo(14.051, 11.823, 13.995, 11.708, 13.984, 11.568)
      ..cubicTo(13.932, 10.84, 13.752, 10.144, 13.446, 9.482)
      ..cubicTo(13.116, 8.768, 12.663, 8.143, 12.087, 7.607)
      ..cubicTo(11.511, 7.071, 10.855, 6.665, 10.12, 6.387)
      ..cubicTo(9.437, 6.129, 8.73, 6, 8, 6)
      ..cubicTo(7.27, 6, 6.563, 6.129, 5.88, 6.387)
      ..cubicTo(5.145, 6.665, 4.489, 7.071, 3.913, 7.607)
      ..cubicTo(3.337, 8.143, 2.884, 8.768, 2.554, 9.482)
      ..cubicTo(2.248, 10.144, 2.068, 10.84, 2.016, 11.568)
      ..cubicTo(2.006, 11.705, 1.948, 11.82, 1.844, 11.91)
      ..cubicTo(1.74, 12, 1.619, 12.04, 1.481, 12.03)
      ..cubicTo(1.343, 12.021, 1.229, 11.963, 1.139, 11.859)
      ..cubicTo(1.048, 11.755, 1.008, 11.633, 1.018, 11.496)
      ..cubicTo(1.08, 10.646, 1.289, 9.835, 1.646, 9.062)
      ..close()
      ..moveTo(5.37, 8.987)
      ..cubicTo(5.746, 8.658, 6.17, 8.408, 6.64, 8.238)
      ..cubicTo(7.079, 8.079, 7.533, 8, 8, 8)
      ..cubicTo(8.467, 8, 8.921, 8.079, 9.36, 8.238)
      ..cubicTo(9.83, 8.408, 10.254, 8.658, 10.63, 8.987)
      ..cubicTo(11.007, 9.315, 11.312, 9.701, 11.544, 10.144)
      ..cubicTo(11.76, 10.558, 11.9, 10.997, 11.963, 11.46)
      ..cubicTo(11.982, 11.599, 11.951, 11.723, 11.868, 11.832)
      ..cubicTo(11.786, 11.94, 11.675, 12.004, 11.535, 12.023)
      ..cubicTo(11.396, 12.042, 11.272, 12.01, 11.164, 11.928)
      ..cubicTo(11.055, 11.845, 10.992, 11.734, 10.973, 11.595)
      ..cubicTo(10.925, 11.248, 10.82, 10.919, 10.658, 10.608)
      ..cubicTo(10.484, 10.276, 10.255, 9.987, 9.973, 9.74)
      ..cubicTo(9.69, 9.493, 9.373, 9.306, 9.02, 9.179)
      ..cubicTo(8.69, 9.06, 8.35, 9, 8, 9)
      ..cubicTo(7.65, 9, 7.31, 9.06, 6.98, 9.179)
      ..cubicTo(6.627, 9.306, 6.31, 9.493, 6.027, 9.74)
      ..cubicTo(5.745, 9.987, 5.516, 10.276, 5.342, 10.608)
      ..cubicTo(5.18, 10.919, 5.075, 11.248, 5.027, 11.595)
      ..cubicTo(5.009, 11.732, 4.945, 11.842, 4.835, 11.925)
      ..cubicTo(4.725, 12.009, 4.601, 12.041, 4.465, 12.023)
      ..cubicTo(4.328, 12.004, 4.218, 11.94, 4.134, 11.83)
      ..cubicTo(4.05, 11.72, 4.018, 11.597, 4.037, 11.46)
      ..cubicTo(4.1, 10.997, 4.24, 10.558, 4.456, 10.144)
      ..cubicTo(4.688, 9.701, 4.993, 9.315, 5.37, 8.987)
      ..close()
      ..moveTo(8, 10.5)
      ..cubicTo(8.414, 10.5, 8.768, 10.646, 9.061, 10.939)
      ..cubicTo(9.186, 11.065, 9.286, 11.204, 9.358, 11.356)
      ..cubicTo(9.465, 11.58, 9.37, 11.849, 9.146, 11.956)
      ..cubicTo(9.086, 11.985, 9.019, 12, 8.952, 12)
      ..lineTo(7.048, 12)
      ..cubicTo(6.799, 12, 6.598, 11.799, 6.598, 11.55)
      ..cubicTo(6.598, 11.483, 6.613, 11.417, 6.642, 11.356)
      ..cubicTo(6.714, 11.204, 6.814, 11.065, 6.939, 10.939)
      ..cubicTo(7.232, 10.646, 7.586, 10.5, 8, 10.5)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

  @override
  bool shouldRepaint(_RainbowIconPainter old) => old.color != color;
}
```
