# boules icon

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

- Category: Games & sports
- Use it for: boules, petanque, bocce, lawn bowls
- Tags: boules, petanque, bocce, lawn-bowls, balls, jack, cochonnet, sport, game
- Component name: BoulesIcon
- Added: 2026-11-12

## Files

Each icon is drawn on the 16 px grid, and most also on the 20 and 24 px grids (at 24 in three weights: light 1 px, regular 1.5 px, bold 2 px). Show the drawing made for your size, or an exact multiple of it, on whole pixels: 16 for 16 and 32 px, 20 for 20 and 40, 24 for 24 and 48. A size in between or a fractional position blurs it. The code on each icon page is the 16 px drawing, an SVG with fill="currentColor"; the icon page's downloads follow its Grid switch, and npm has the 20 and 24 px drawings too.

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

The SVG of every style: https://gentleface.com/icons/boules.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="M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z"/></svg>
```

### React

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

export function BoulesIcon(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="M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "boules" (line-round), MIT. https://gentleface.com/icons/boules -->
<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="M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "boules" (line-round), MIT. https://gentleface.com/icons/boules -->
<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="M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "boules" (line-round), MIT. https://gentleface.com/icons/boules. 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/boules.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "boules" (line-round), MIT. https://gentleface.com/icons/boules. Takes the text color. */
.icon-boules {
  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='M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z'/%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='M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z'/%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='M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "boules" (line-round), MIT. https://gentleface.com/icons/boules
     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#boules"/></svg>
```

### SwiftUI

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

struct BoulesIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 12.707, y: 3.293))
        p.addCurve(to: CGPoint(x: 13, y: 4), control1: CGPoint(x: 12.902, y: 3.488), control2: CGPoint(x: 13, y: 3.724))
        p.addCurve(to: CGPoint(x: 12.707, y: 4.707), control1: CGPoint(x: 13, y: 4.276), control2: CGPoint(x: 12.902, y: 4.512))
        p.addCurve(to: CGPoint(x: 12, y: 5), control1: CGPoint(x: 12.512, y: 4.902), control2: CGPoint(x: 12.276, y: 5))
        p.addCurve(to: CGPoint(x: 11.293, y: 4.707), control1: CGPoint(x: 11.724, y: 5), control2: CGPoint(x: 11.488, y: 4.902))
        p.addCurve(to: CGPoint(x: 11, y: 4), control1: CGPoint(x: 11.098, y: 4.512), control2: CGPoint(x: 11, y: 4.276))
        p.addCurve(to: CGPoint(x: 11.293, y: 3.293), control1: CGPoint(x: 11, y: 3.724), control2: CGPoint(x: 11.098, y: 3.488))
        p.addCurve(to: CGPoint(x: 12, y: 3), control1: CGPoint(x: 11.488, y: 3.098), control2: CGPoint(x: 11.724, y: 3))
        p.addCurve(to: CGPoint(x: 12.707, y: 3.293), control1: CGPoint(x: 12.276, y: 3), control2: CGPoint(x: 12.512, y: 3.098))
        p.closeSubpath()
        p.move(to: CGPoint(x: 1.316, y: 7.844))
        p.addCurve(to: CGPoint(x: 2.318, y: 6.318), control1: CGPoint(x: 1.545, y: 7.266), control2: CGPoint(x: 1.879, y: 6.757))
        p.addCurve(to: CGPoint(x: 3.844, y: 5.316), control1: CGPoint(x: 2.757, y: 5.879), control2: CGPoint(x: 3.266, y: 5.545))
        p.addCurve(to: CGPoint(x: 5.5, y: 5), control1: CGPoint(x: 4.376, y: 5.105), control2: CGPoint(x: 4.928, y: 5))
        p.addCurve(to: CGPoint(x: 7.156, y: 5.316), control1: CGPoint(x: 6.072, y: 5), control2: CGPoint(x: 6.624, y: 5.105))
        p.addCurve(to: CGPoint(x: 8.682, y: 6.318), control1: CGPoint(x: 7.734, y: 5.545), control2: CGPoint(x: 8.243, y: 5.879))
        p.addCurve(to: CGPoint(x: 9.684, y: 7.844), control1: CGPoint(x: 9.121, y: 6.757), control2: CGPoint(x: 9.455, y: 7.266))
        p.addCurve(to: CGPoint(x: 10, y: 9.5), control1: CGPoint(x: 9.895, y: 8.376), control2: CGPoint(x: 10, y: 8.928))
        p.addCurve(to: CGPoint(x: 9.684, y: 11.156), control1: CGPoint(x: 10, y: 10.072), control2: CGPoint(x: 9.895, y: 10.624))
        p.addCurve(to: CGPoint(x: 8.682, y: 12.682), control1: CGPoint(x: 9.455, y: 11.734), control2: CGPoint(x: 9.121, y: 12.243))
        p.addCurve(to: CGPoint(x: 7.156, y: 13.684), control1: CGPoint(x: 8.243, y: 13.121), control2: CGPoint(x: 7.734, y: 13.455))
        p.addCurve(to: CGPoint(x: 5.5, y: 14), control1: CGPoint(x: 6.624, y: 13.895), control2: CGPoint(x: 6.072, y: 14))
        p.addCurve(to: CGPoint(x: 3.844, y: 13.684), control1: CGPoint(x: 4.928, y: 14), control2: CGPoint(x: 4.376, y: 13.895))
        p.addCurve(to: CGPoint(x: 2.318, y: 12.682), control1: CGPoint(x: 3.266, y: 13.455), control2: CGPoint(x: 2.757, y: 13.121))
        p.addCurve(to: CGPoint(x: 1.316, y: 11.156), control1: CGPoint(x: 1.879, y: 12.243), control2: CGPoint(x: 1.545, y: 11.734))
        p.addCurve(to: CGPoint(x: 1, y: 9.5), control1: CGPoint(x: 1.105, y: 10.624), control2: CGPoint(x: 1, y: 10.072))
        p.addCurve(to: CGPoint(x: 1.316, y: 7.844), control1: CGPoint(x: 1, y: 8.928), control2: CGPoint(x: 1.105, y: 8.376))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.219, y: 6.074))
        p.addCurve(to: CGPoint(x: 5.5, y: 6), control1: CGPoint(x: 5.984, y: 6.025), control2: CGPoint(x: 5.744, y: 6))
        p.addCurve(to: CGPoint(x: 4.212, y: 6.246), control1: CGPoint(x: 5.055, y: 6), control2: CGPoint(x: 4.625, y: 6.082))
        p.addCurve(to: CGPoint(x: 3.025, y: 7.025), control1: CGPoint(x: 3.762, y: 6.424), control2: CGPoint(x: 3.367, y: 6.683))
        p.addCurve(to: CGPoint(x: 2.246, y: 8.212), control1: CGPoint(x: 2.683, y: 7.367), control2: CGPoint(x: 2.424, y: 7.762))
        p.addCurve(to: CGPoint(x: 2, y: 9.5), control1: CGPoint(x: 2.082, y: 8.625), control2: CGPoint(x: 2, y: 9.055))
        p.addCurve(to: CGPoint(x: 2.074, y: 10.219), control1: CGPoint(x: 2, y: 9.744), control2: CGPoint(x: 2.025, y: 9.984))
        p.addLine(to: CGPoint(x: 6.219, y: 6.074))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8.536, y: 7.757))
        p.addCurve(to: CGPoint(x: 7.975, y: 7.025), control1: CGPoint(x: 8.383, y: 7.49), control2: CGPoint(x: 8.196, y: 7.247))
        p.addCurve(to: CGPoint(x: 7.243, y: 6.464), control1: CGPoint(x: 7.753, y: 6.804), control2: CGPoint(x: 7.51, y: 6.617))
        p.addLine(to: CGPoint(x: 2.464, y: 11.243))
        p.addCurve(to: CGPoint(x: 3.025, y: 11.975), control1: CGPoint(x: 2.617, y: 11.51), control2: CGPoint(x: 2.804, y: 11.753))
        p.addCurve(to: CGPoint(x: 3.757, y: 12.536), control1: CGPoint(x: 3.247, y: 12.196), control2: CGPoint(x: 3.49, y: 12.383))
        p.addLine(to: CGPoint(x: 8.536, y: 7.757))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4.781, y: 12.926))
        p.addCurve(to: CGPoint(x: 5.5, y: 13), control1: CGPoint(x: 5.016, y: 12.975), control2: CGPoint(x: 5.256, y: 13))
        p.addCurve(to: CGPoint(x: 6.788, y: 12.754), control1: CGPoint(x: 5.945, y: 13), control2: CGPoint(x: 6.375, y: 12.918))
        p.addCurve(to: CGPoint(x: 7.975, y: 11.975), control1: CGPoint(x: 7.238, y: 12.576), control2: CGPoint(x: 7.633, y: 12.317))
        p.addCurve(to: CGPoint(x: 8.754, y: 10.788), control1: CGPoint(x: 8.317, y: 11.633), control2: CGPoint(x: 8.576, y: 11.238))
        p.addCurve(to: CGPoint(x: 9, y: 9.5), control1: CGPoint(x: 8.918, y: 10.375), control2: CGPoint(x: 9, y: 9.945))
        p.addCurve(to: CGPoint(x: 8.926, y: 8.781), control1: CGPoint(x: 9, y: 9.256), control2: CGPoint(x: 8.975, y: 9.016))
        p.addLine(to: CGPoint(x: 4.781, y: 12.926))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10.732, y: 9.732))
        p.addCurve(to: CGPoint(x: 11.58, y: 9.176), control1: CGPoint(x: 10.976, y: 9.488), control2: CGPoint(x: 11.259, y: 9.303))
        p.addCurve(to: CGPoint(x: 12.5, y: 9), control1: CGPoint(x: 11.875, y: 9.059), control2: CGPoint(x: 12.182, y: 9))
        p.addCurve(to: CGPoint(x: 13.42, y: 9.176), control1: CGPoint(x: 12.818, y: 9), control2: CGPoint(x: 13.125, y: 9.059))
        p.addCurve(to: CGPoint(x: 14.268, y: 9.732), control1: CGPoint(x: 13.741, y: 9.303), control2: CGPoint(x: 14.024, y: 9.488))
        p.addCurve(to: CGPoint(x: 14.824, y: 10.58), control1: CGPoint(x: 14.512, y: 9.976), control2: CGPoint(x: 14.697, y: 10.259))
        p.addCurve(to: CGPoint(x: 15, y: 11.5), control1: CGPoint(x: 14.941, y: 10.875), control2: CGPoint(x: 15, y: 11.182))
        p.addCurve(to: CGPoint(x: 14.824, y: 12.42), control1: CGPoint(x: 15, y: 11.818), control2: CGPoint(x: 14.941, y: 12.125))
        p.addCurve(to: CGPoint(x: 14.268, y: 13.268), control1: CGPoint(x: 14.697, y: 12.741), control2: CGPoint(x: 14.512, y: 13.024))
        p.addCurve(to: CGPoint(x: 13.42, y: 13.824), control1: CGPoint(x: 14.024, y: 13.512), control2: CGPoint(x: 13.741, y: 13.697))
        p.addCurve(to: CGPoint(x: 12.5, y: 14), control1: CGPoint(x: 13.125, y: 13.941), control2: CGPoint(x: 12.818, y: 14))
        p.addCurve(to: CGPoint(x: 11.58, y: 13.824), control1: CGPoint(x: 12.182, y: 14), control2: CGPoint(x: 11.875, y: 13.941))
        p.addCurve(to: CGPoint(x: 10.732, y: 13.268), control1: CGPoint(x: 11.259, y: 13.697), control2: CGPoint(x: 10.976, y: 13.512))
        p.addCurve(to: CGPoint(x: 10.176, y: 12.42), control1: CGPoint(x: 10.488, y: 13.024), control2: CGPoint(x: 10.303, y: 12.741))
        p.addCurve(to: CGPoint(x: 10, y: 11.5), control1: CGPoint(x: 10.059, y: 12.125), control2: CGPoint(x: 10, y: 11.818))
        p.addCurve(to: CGPoint(x: 10.176, y: 10.58), control1: CGPoint(x: 10, y: 11.182), control2: CGPoint(x: 10.059, y: 10.875))
        p.addCurve(to: CGPoint(x: 10.732, y: 9.732), control1: CGPoint(x: 10.303, y: 10.259), control2: CGPoint(x: 10.488, y: 9.976))
        p.closeSubpath()
        p.move(to: CGPoint(x: 11.439, y: 12.561))
        p.addCurve(to: CGPoint(x: 11.948, y: 12.895), control1: CGPoint(x: 11.586, y: 12.707), control2: CGPoint(x: 11.755, y: 12.818))
        p.addCurve(to: CGPoint(x: 12.5, y: 13), control1: CGPoint(x: 12.125, y: 12.965), control2: CGPoint(x: 12.309, y: 13))
        p.addCurve(to: CGPoint(x: 13.052, y: 12.895), control1: CGPoint(x: 12.691, y: 13), control2: CGPoint(x: 12.875, y: 12.965))
        p.addCurve(to: CGPoint(x: 13.561, y: 12.561), control1: CGPoint(x: 13.245, y: 12.818), control2: CGPoint(x: 13.414, y: 12.707))
        p.addCurve(to: CGPoint(x: 13.895, y: 12.052), control1: CGPoint(x: 13.707, y: 12.414), control2: CGPoint(x: 13.818, y: 12.245))
        p.addCurve(to: CGPoint(x: 14, y: 11.5), control1: CGPoint(x: 13.965, y: 11.875), control2: CGPoint(x: 14, y: 11.691))
        p.addCurve(to: CGPoint(x: 13.895, y: 10.948), control1: CGPoint(x: 14, y: 11.309), control2: CGPoint(x: 13.965, y: 11.125))
        p.addCurve(to: CGPoint(x: 13.561, y: 10.439), control1: CGPoint(x: 13.818, y: 10.755), control2: CGPoint(x: 13.707, y: 10.586))
        p.addCurve(to: CGPoint(x: 13.052, y: 10.105), control1: CGPoint(x: 13.414, y: 10.293), control2: CGPoint(x: 13.245, y: 10.182))
        p.addCurve(to: CGPoint(x: 12.5, y: 10), control1: CGPoint(x: 12.875, y: 10.035), control2: CGPoint(x: 12.691, y: 10))
        p.addCurve(to: CGPoint(x: 11.948, y: 10.105), control1: CGPoint(x: 12.309, y: 10), control2: CGPoint(x: 12.125, y: 10.035))
        p.addCurve(to: CGPoint(x: 11.439, y: 10.439), control1: CGPoint(x: 11.755, y: 10.182), control2: CGPoint(x: 11.586, y: 10.293))
        p.addCurve(to: CGPoint(x: 11.105, y: 10.948), control1: CGPoint(x: 11.293, y: 10.586), control2: CGPoint(x: 11.182, y: 10.755))
        p.addCurve(to: CGPoint(x: 11, y: 11.5), control1: CGPoint(x: 11.035, y: 11.125), control2: CGPoint(x: 11, y: 11.309))
        p.addCurve(to: CGPoint(x: 11.105, y: 12.052), control1: CGPoint(x: 11, y: 11.691), control2: CGPoint(x: 11.035, y: 11.875))
        p.addCurve(to: CGPoint(x: 11.439, y: 12.561), control1: CGPoint(x: 11.182, y: 12.245), control2: CGPoint(x: 11.293, y: 12.414))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "boules" (line-round), MIT. https://gentleface.com/icons/boules
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 BoulesIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "boules", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_boules.xml · Gentleface "boules" (line-round), MIT. https://gentleface.com/icons/boules -->
<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="M12.707 3.293C12.902 3.488 13 3.724 13 4C13 4.276 12.902 4.512 12.707 4.707C12.512 4.902 12.276 5 12 5C11.724 5 11.488 4.902 11.293 4.707C11.098 4.512 11 4.276 11 4C11 3.724 11.098 3.488 11.293 3.293C11.488 3.098 11.724 3 12 3C12.276 3 12.512 3.098 12.707 3.293ZM1.316 7.844C1.545 7.266 1.879 6.757 2.318 6.318C2.757 5.879 3.266 5.545 3.844 5.316C4.376 5.105 4.928 5 5.5 5C6.072 5 6.624 5.105 7.156 5.316C7.734 5.545 8.243 5.879 8.682 6.318C9.121 6.757 9.455 7.266 9.684 7.844C9.895 8.376 10 8.928 10 9.5C10 10.072 9.895 10.624 9.684 11.156C9.455 11.734 9.121 12.243 8.682 12.682C8.243 13.121 7.734 13.455 7.156 13.684C6.624 13.895 6.072 14 5.5 14C4.928 14 4.376 13.895 3.844 13.684C3.266 13.455 2.757 13.121 2.318 12.682C1.879 12.243 1.545 11.734 1.316 11.156C1.105 10.624 1 10.072 1 9.5C1 8.928 1.105 8.376 1.316 7.844ZM6.219 6.074C5.984 6.025 5.744 6 5.5 6C5.055 6 4.625 6.082 4.212 6.246C3.762 6.424 3.367 6.683 3.025 7.025C2.683 7.367 2.424 7.762 2.246 8.212C2.082 8.625 2 9.055 2 9.5C2 9.744 2.025 9.984 2.074 10.219L6.219 6.074ZM8.536 7.757C8.383 7.49 8.196 7.247 7.975 7.025C7.753 6.804 7.51 6.617 7.243 6.464L2.464 11.243C2.617 11.51 2.804 11.753 3.025 11.975C3.247 12.196 3.49 12.383 3.757 12.536L8.536 7.757ZM4.781 12.926C5.016 12.975 5.256 13 5.5 13C5.945 13 6.375 12.918 6.788 12.754C7.238 12.576 7.633 12.317 7.975 11.975C8.317 11.633 8.576 11.238 8.754 10.788C8.918 10.375 9 9.945 9 9.5C9 9.256 8.975 9.016 8.926 8.781L4.781 12.926ZM10.732 9.732C10.976 9.488 11.259 9.303 11.58 9.176C11.875 9.059 12.182 9 12.5 9C12.818 9 13.125 9.059 13.42 9.176C13.741 9.303 14.024 9.488 14.268 9.732C14.512 9.976 14.697 10.259 14.824 10.58C14.941 10.875 15 11.182 15 11.5C15 11.818 14.941 12.125 14.824 12.42C14.697 12.741 14.512 13.024 14.268 13.268C14.024 13.512 13.741 13.697 13.42 13.824C13.125 13.941 12.818 14 12.5 14C12.182 14 11.875 13.941 11.58 13.824C11.259 13.697 10.976 13.512 10.732 13.268C10.488 13.024 10.303 12.741 10.176 12.42C10.059 12.125 10 11.818 10 11.5C10 11.182 10.059 10.875 10.176 10.58C10.303 10.259 10.488 9.976 10.732 9.732ZM11.439 12.561C11.586 12.707 11.755 12.818 11.948 12.895C12.125 12.965 12.309 13 12.5 13C12.691 13 12.875 12.965 13.052 12.895C13.245 12.818 13.414 12.707 13.561 12.561C13.707 12.414 13.818 12.245 13.895 12.052C13.965 11.875 14 11.691 14 11.5C14 11.309 13.965 11.125 13.895 10.948C13.818 10.755 13.707 10.586 13.561 10.439C13.414 10.293 13.245 10.182 13.052 10.105C12.875 10.035 12.691 10 12.5 10C12.309 10 12.125 10.035 11.948 10.105C11.755 10.182 11.586 10.293 11.439 10.439C11.293 10.586 11.182 10.755 11.105 10.948C11.035 11.125 11 11.309 11 11.5C11 11.691 11.035 11.875 11.105 12.052C11.182 12.245 11.293 12.414 11.439 12.561Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(12.707, 3.293)
      ..cubicTo(12.902, 3.488, 13, 3.724, 13, 4)
      ..cubicTo(13, 4.276, 12.902, 4.512, 12.707, 4.707)
      ..cubicTo(12.512, 4.902, 12.276, 5, 12, 5)
      ..cubicTo(11.724, 5, 11.488, 4.902, 11.293, 4.707)
      ..cubicTo(11.098, 4.512, 11, 4.276, 11, 4)
      ..cubicTo(11, 3.724, 11.098, 3.488, 11.293, 3.293)
      ..cubicTo(11.488, 3.098, 11.724, 3, 12, 3)
      ..cubicTo(12.276, 3, 12.512, 3.098, 12.707, 3.293)
      ..close()
      ..moveTo(1.316, 7.844)
      ..cubicTo(1.545, 7.266, 1.879, 6.757, 2.318, 6.318)
      ..cubicTo(2.757, 5.879, 3.266, 5.545, 3.844, 5.316)
      ..cubicTo(4.376, 5.105, 4.928, 5, 5.5, 5)
      ..cubicTo(6.072, 5, 6.624, 5.105, 7.156, 5.316)
      ..cubicTo(7.734, 5.545, 8.243, 5.879, 8.682, 6.318)
      ..cubicTo(9.121, 6.757, 9.455, 7.266, 9.684, 7.844)
      ..cubicTo(9.895, 8.376, 10, 8.928, 10, 9.5)
      ..cubicTo(10, 10.072, 9.895, 10.624, 9.684, 11.156)
      ..cubicTo(9.455, 11.734, 9.121, 12.243, 8.682, 12.682)
      ..cubicTo(8.243, 13.121, 7.734, 13.455, 7.156, 13.684)
      ..cubicTo(6.624, 13.895, 6.072, 14, 5.5, 14)
      ..cubicTo(4.928, 14, 4.376, 13.895, 3.844, 13.684)
      ..cubicTo(3.266, 13.455, 2.757, 13.121, 2.318, 12.682)
      ..cubicTo(1.879, 12.243, 1.545, 11.734, 1.316, 11.156)
      ..cubicTo(1.105, 10.624, 1, 10.072, 1, 9.5)
      ..cubicTo(1, 8.928, 1.105, 8.376, 1.316, 7.844)
      ..close()
      ..moveTo(6.219, 6.074)
      ..cubicTo(5.984, 6.025, 5.744, 6, 5.5, 6)
      ..cubicTo(5.055, 6, 4.625, 6.082, 4.212, 6.246)
      ..cubicTo(3.762, 6.424, 3.367, 6.683, 3.025, 7.025)
      ..cubicTo(2.683, 7.367, 2.424, 7.762, 2.246, 8.212)
      ..cubicTo(2.082, 8.625, 2, 9.055, 2, 9.5)
      ..cubicTo(2, 9.744, 2.025, 9.984, 2.074, 10.219)
      ..lineTo(6.219, 6.074)
      ..close()
      ..moveTo(8.536, 7.757)
      ..cubicTo(8.383, 7.49, 8.196, 7.247, 7.975, 7.025)
      ..cubicTo(7.753, 6.804, 7.51, 6.617, 7.243, 6.464)
      ..lineTo(2.464, 11.243)
      ..cubicTo(2.617, 11.51, 2.804, 11.753, 3.025, 11.975)
      ..cubicTo(3.247, 12.196, 3.49, 12.383, 3.757, 12.536)
      ..lineTo(8.536, 7.757)
      ..close()
      ..moveTo(4.781, 12.926)
      ..cubicTo(5.016, 12.975, 5.256, 13, 5.5, 13)
      ..cubicTo(5.945, 13, 6.375, 12.918, 6.788, 12.754)
      ..cubicTo(7.238, 12.576, 7.633, 12.317, 7.975, 11.975)
      ..cubicTo(8.317, 11.633, 8.576, 11.238, 8.754, 10.788)
      ..cubicTo(8.918, 10.375, 9, 9.945, 9, 9.5)
      ..cubicTo(9, 9.256, 8.975, 9.016, 8.926, 8.781)
      ..lineTo(4.781, 12.926)
      ..close()
      ..moveTo(10.732, 9.732)
      ..cubicTo(10.976, 9.488, 11.259, 9.303, 11.58, 9.176)
      ..cubicTo(11.875, 9.059, 12.182, 9, 12.5, 9)
      ..cubicTo(12.818, 9, 13.125, 9.059, 13.42, 9.176)
      ..cubicTo(13.741, 9.303, 14.024, 9.488, 14.268, 9.732)
      ..cubicTo(14.512, 9.976, 14.697, 10.259, 14.824, 10.58)
      ..cubicTo(14.941, 10.875, 15, 11.182, 15, 11.5)
      ..cubicTo(15, 11.818, 14.941, 12.125, 14.824, 12.42)
      ..cubicTo(14.697, 12.741, 14.512, 13.024, 14.268, 13.268)
      ..cubicTo(14.024, 13.512, 13.741, 13.697, 13.42, 13.824)
      ..cubicTo(13.125, 13.941, 12.818, 14, 12.5, 14)
      ..cubicTo(12.182, 14, 11.875, 13.941, 11.58, 13.824)
      ..cubicTo(11.259, 13.697, 10.976, 13.512, 10.732, 13.268)
      ..cubicTo(10.488, 13.024, 10.303, 12.741, 10.176, 12.42)
      ..cubicTo(10.059, 12.125, 10, 11.818, 10, 11.5)
      ..cubicTo(10, 11.182, 10.059, 10.875, 10.176, 10.58)
      ..cubicTo(10.303, 10.259, 10.488, 9.976, 10.732, 9.732)
      ..close()
      ..moveTo(11.439, 12.561)
      ..cubicTo(11.586, 12.707, 11.755, 12.818, 11.948, 12.895)
      ..cubicTo(12.125, 12.965, 12.309, 13, 12.5, 13)
      ..cubicTo(12.691, 13, 12.875, 12.965, 13.052, 12.895)
      ..cubicTo(13.245, 12.818, 13.414, 12.707, 13.561, 12.561)
      ..cubicTo(13.707, 12.414, 13.818, 12.245, 13.895, 12.052)
      ..cubicTo(13.965, 11.875, 14, 11.691, 14, 11.5)
      ..cubicTo(14, 11.309, 13.965, 11.125, 13.895, 10.948)
      ..cubicTo(13.818, 10.755, 13.707, 10.586, 13.561, 10.439)
      ..cubicTo(13.414, 10.293, 13.245, 10.182, 13.052, 10.105)
      ..cubicTo(12.875, 10.035, 12.691, 10, 12.5, 10)
      ..cubicTo(12.309, 10, 12.125, 10.035, 11.948, 10.105)
      ..cubicTo(11.755, 10.182, 11.586, 10.293, 11.439, 10.439)
      ..cubicTo(11.293, 10.586, 11.182, 10.755, 11.105, 10.948)
      ..cubicTo(11.035, 11.125, 11, 11.309, 11, 11.5)
      ..cubicTo(11, 11.691, 11.035, 11.875, 11.105, 12.052)
      ..cubicTo(11.182, 12.245, 11.293, 12.414, 11.439, 12.561)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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