# route icon

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

- Category: Maps & places
- Use it for: route, itinerary, journey
- Tags: route, path, itinerary, journey, trip, waypoint, track, directions
- Family: route-off, route-sparkle
- Component name: RouteIcon
- Added: 2026-10-14

## Alternatives

- `signpost`: directions or wayfinding
- `navigation`: turn-by-turn navigation
- `map-pins`: several stops without the path

## Also fits

- proxy: a travel route on a map (route)
- multiple locations: a multi-stop route
- navigation: a planned route or itinerary
- directions: a route or itinerary
- road: a route or itinerary
- trip: an itinerary or route

## 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/route.svg · PNG https://gentleface.com/png/line-round/16/route.png · https://gentleface.com/png/line-round/32/route.png · https://gentleface.com/png/line-round/48/route.png
- line-soft: https://gentleface.com/svg/line-soft/16/route.svg · PNG https://gentleface.com/png/line-soft/16/route.png · https://gentleface.com/png/line-soft/32/route.png · https://gentleface.com/png/line-soft/48/route.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/route.svg · PNG https://gentleface.com/png/line-sharp/16/route.png · https://gentleface.com/png/line-sharp/32/route.png · https://gentleface.com/png/line-sharp/48/route.png
- solid-round: https://gentleface.com/svg/solid-round/16/route.svg · PNG https://gentleface.com/png/solid-round/16/route.png · https://gentleface.com/png/solid-round/32/route.png · https://gentleface.com/png/solid-round/48/route.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/route.svg · PNG https://gentleface.com/png/solid-soft/16/route.png · https://gentleface.com/png/solid-soft/32/route.png · https://gentleface.com/png/solid-soft/48/route.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/route.svg · PNG https://gentleface.com/png/solid-sharp/16/route.png · https://gentleface.com/png/solid-sharp/32/route.png · https://gentleface.com/png/solid-sharp/48/route.png

The SVG of every style: https://gentleface.com/icons/route.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="M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z"/></svg>
```

### React

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

export function RouteIcon(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="M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "route" (line-round), MIT. https://gentleface.com/icons/route -->
<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="M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "route" (line-round), MIT. https://gentleface.com/icons/route -->
<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="M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "route" (line-round), MIT. https://gentleface.com/icons/route. Takes the text color. */
.icon-route {
  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='M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z'/%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='M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z'/%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='M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct RouteIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 2.948, y: 4.105))
        p.addCurve(to: CGPoint(x: 2.439, y: 4.439), control1: CGPoint(x: 2.755, y: 4.182), control2: CGPoint(x: 2.586, y: 4.293))
        p.addCurve(to: CGPoint(x: 2.105, y: 4.948), control1: CGPoint(x: 2.293, y: 4.586), control2: CGPoint(x: 2.182, y: 4.755))
        p.addCurve(to: CGPoint(x: 2, y: 5.5), control1: CGPoint(x: 2.035, y: 5.125), control2: CGPoint(x: 2, y: 5.309))
        p.addCurve(to: CGPoint(x: 2.105, y: 6.052), control1: CGPoint(x: 2, y: 5.691), control2: CGPoint(x: 2.035, y: 5.875))
        p.addCurve(to: CGPoint(x: 2.439, y: 6.561), control1: CGPoint(x: 2.182, y: 6.245), control2: CGPoint(x: 2.293, y: 6.414))
        p.addCurve(to: CGPoint(x: 2.948, y: 6.895), control1: CGPoint(x: 2.586, y: 6.707), control2: CGPoint(x: 2.755, y: 6.818))
        p.addCurve(to: CGPoint(x: 3.5, y: 7), control1: CGPoint(x: 3.125, y: 6.965), control2: CGPoint(x: 3.309, y: 7))
        p.addLine(to: CGPoint(x: 11.5, y: 7))
        p.addCurve(to: CGPoint(x: 12.42, y: 7.176), control1: CGPoint(x: 11.818, y: 7), control2: CGPoint(x: 12.125, y: 7.059))
        p.addCurve(to: CGPoint(x: 13.268, y: 7.732), control1: CGPoint(x: 12.741, y: 7.303), control2: CGPoint(x: 13.024, y: 7.488))
        p.addCurve(to: CGPoint(x: 13.824, y: 8.58), control1: CGPoint(x: 13.512, y: 7.976), control2: CGPoint(x: 13.697, y: 8.259))
        p.addCurve(to: CGPoint(x: 14, y: 9.5), control1: CGPoint(x: 13.941, y: 8.875), control2: CGPoint(x: 14, y: 9.182))
        p.addCurve(to: CGPoint(x: 13.824, y: 10.42), control1: CGPoint(x: 14, y: 9.818), control2: CGPoint(x: 13.941, y: 10.125))
        p.addCurve(to: CGPoint(x: 13.268, y: 11.268), control1: CGPoint(x: 13.697, y: 10.741), control2: CGPoint(x: 13.512, y: 11.024))
        p.addCurve(to: CGPoint(x: 12.42, y: 11.824), control1: CGPoint(x: 13.024, y: 11.512), control2: CGPoint(x: 12.741, y: 11.697))
        p.addCurve(to: CGPoint(x: 11.5, y: 12), control1: CGPoint(x: 12.125, y: 11.941), control2: CGPoint(x: 11.818, y: 12))
        p.addLine(to: CGPoint(x: 5.95, y: 12))
        p.addCurve(to: CGPoint(x: 5.824, y: 12.42), control1: CGPoint(x: 5.921, y: 12.142), control2: CGPoint(x: 5.879, y: 12.283))
        p.addCurve(to: CGPoint(x: 5.268, y: 13.268), control1: CGPoint(x: 5.697, y: 12.741), control2: CGPoint(x: 5.512, y: 13.024))
        p.addCurve(to: CGPoint(x: 4.42, y: 13.824), control1: CGPoint(x: 5.024, y: 13.512), control2: CGPoint(x: 4.741, y: 13.697))
        p.addCurve(to: CGPoint(x: 3.5, y: 14), control1: CGPoint(x: 4.125, y: 13.941), control2: CGPoint(x: 3.818, y: 14))
        p.addCurve(to: CGPoint(x: 2.58, y: 13.824), control1: CGPoint(x: 3.182, y: 14), control2: CGPoint(x: 2.875, y: 13.941))
        p.addCurve(to: CGPoint(x: 1.732, y: 13.268), control1: CGPoint(x: 2.259, y: 13.697), control2: CGPoint(x: 1.976, y: 13.512))
        p.addCurve(to: CGPoint(x: 1.176, y: 12.42), control1: CGPoint(x: 1.488, y: 13.024), control2: CGPoint(x: 1.303, y: 12.741))
        p.addCurve(to: CGPoint(x: 1, y: 11.5), control1: CGPoint(x: 1.059, y: 12.125), control2: CGPoint(x: 1, y: 11.818))
        p.addCurve(to: CGPoint(x: 1.176, y: 10.58), control1: CGPoint(x: 1, y: 11.182), control2: CGPoint(x: 1.059, y: 10.875))
        p.addCurve(to: CGPoint(x: 1.732, y: 9.732), control1: CGPoint(x: 1.303, y: 10.259), control2: CGPoint(x: 1.488, y: 9.976))
        p.addCurve(to: CGPoint(x: 2.58, y: 9.176), control1: CGPoint(x: 1.976, y: 9.488), control2: CGPoint(x: 2.259, y: 9.303))
        p.addCurve(to: CGPoint(x: 3.5, y: 9), control1: CGPoint(x: 2.875, y: 9.059), control2: CGPoint(x: 3.182, y: 9))
        p.addCurve(to: CGPoint(x: 4.42, y: 9.176), control1: CGPoint(x: 3.818, y: 9), control2: CGPoint(x: 4.125, y: 9.059))
        p.addCurve(to: CGPoint(x: 5.268, y: 9.732), control1: CGPoint(x: 4.741, y: 9.303), control2: CGPoint(x: 5.024, y: 9.488))
        p.addCurve(to: CGPoint(x: 5.824, y: 10.58), control1: CGPoint(x: 5.512, y: 9.976), control2: CGPoint(x: 5.697, y: 10.259))
        p.addCurve(to: CGPoint(x: 5.95, y: 11), control1: CGPoint(x: 5.879, y: 10.717), control2: CGPoint(x: 5.921, y: 10.858))
        p.addLine(to: CGPoint(x: 11.5, y: 11))
        p.addCurve(to: CGPoint(x: 12.052, y: 10.895), control1: CGPoint(x: 11.691, y: 11), control2: CGPoint(x: 11.875, y: 10.965))
        p.addCurve(to: CGPoint(x: 12.561, y: 10.561), control1: CGPoint(x: 12.245, y: 10.818), control2: CGPoint(x: 12.414, y: 10.707))
        p.addCurve(to: CGPoint(x: 12.895, y: 10.052), control1: CGPoint(x: 12.707, y: 10.414), control2: CGPoint(x: 12.818, y: 10.245))
        p.addCurve(to: CGPoint(x: 13, y: 9.5), control1: CGPoint(x: 12.965, y: 9.875), control2: CGPoint(x: 13, y: 9.691))
        p.addCurve(to: CGPoint(x: 12.895, y: 8.948), control1: CGPoint(x: 13, y: 9.309), control2: CGPoint(x: 12.965, y: 9.125))
        p.addCurve(to: CGPoint(x: 12.561, y: 8.439), control1: CGPoint(x: 12.818, y: 8.755), control2: CGPoint(x: 12.707, y: 8.586))
        p.addCurve(to: CGPoint(x: 12.052, y: 8.105), control1: CGPoint(x: 12.414, y: 8.293), control2: CGPoint(x: 12.245, y: 8.182))
        p.addCurve(to: CGPoint(x: 11.5, y: 8), control1: CGPoint(x: 11.875, y: 8.035), control2: CGPoint(x: 11.691, y: 8))
        p.addLine(to: CGPoint(x: 3.5, y: 8))
        p.addCurve(to: CGPoint(x: 2.58, y: 7.824), control1: CGPoint(x: 3.182, y: 8), control2: CGPoint(x: 2.875, y: 7.941))
        p.addCurve(to: CGPoint(x: 1.732, y: 7.268), control1: CGPoint(x: 2.259, y: 7.697), control2: CGPoint(x: 1.976, y: 7.512))
        p.addCurve(to: CGPoint(x: 1.176, y: 6.42), control1: CGPoint(x: 1.488, y: 7.024), control2: CGPoint(x: 1.303, y: 6.741))
        p.addCurve(to: CGPoint(x: 1, y: 5.5), control1: CGPoint(x: 1.059, y: 6.125), control2: CGPoint(x: 1, y: 5.818))
        p.addCurve(to: CGPoint(x: 1.176, y: 4.58), control1: CGPoint(x: 1, y: 5.182), control2: CGPoint(x: 1.059, y: 4.875))
        p.addCurve(to: CGPoint(x: 1.732, y: 3.732), control1: CGPoint(x: 1.303, y: 4.259), control2: CGPoint(x: 1.488, y: 3.976))
        p.addCurve(to: CGPoint(x: 2.58, y: 3.176), control1: CGPoint(x: 1.976, y: 3.488), control2: CGPoint(x: 2.259, y: 3.303))
        p.addCurve(to: CGPoint(x: 3.5, y: 3), control1: CGPoint(x: 2.875, y: 3.059), control2: CGPoint(x: 3.182, y: 3))
        p.addLine(to: CGPoint(x: 9.05, y: 3))
        p.addCurve(to: CGPoint(x: 9.176, y: 2.58), control1: CGPoint(x: 9.079, y: 2.858), control2: CGPoint(x: 9.121, y: 2.717))
        p.addCurve(to: CGPoint(x: 9.732, y: 1.732), control1: CGPoint(x: 9.303, y: 2.259), control2: CGPoint(x: 9.488, y: 1.976))
        p.addCurve(to: CGPoint(x: 10.58, y: 1.176), control1: CGPoint(x: 9.976, y: 1.488), control2: CGPoint(x: 10.259, y: 1.303))
        p.addCurve(to: CGPoint(x: 11.5, y: 1), control1: CGPoint(x: 10.875, y: 1.059), control2: CGPoint(x: 11.182, y: 1))
        p.addCurve(to: CGPoint(x: 12.42, y: 1.176), control1: CGPoint(x: 11.818, y: 1), control2: CGPoint(x: 12.125, y: 1.059))
        p.addCurve(to: CGPoint(x: 13.268, y: 1.732), control1: CGPoint(x: 12.741, y: 1.303), control2: CGPoint(x: 13.024, y: 1.488))
        p.addCurve(to: CGPoint(x: 13.824, y: 2.58), control1: CGPoint(x: 13.512, y: 1.976), control2: CGPoint(x: 13.697, y: 2.259))
        p.addCurve(to: CGPoint(x: 14, y: 3.5), control1: CGPoint(x: 13.941, y: 2.875), control2: CGPoint(x: 14, y: 3.182))
        p.addCurve(to: CGPoint(x: 13.824, y: 4.42), control1: CGPoint(x: 14, y: 3.818), control2: CGPoint(x: 13.941, y: 4.125))
        p.addCurve(to: CGPoint(x: 13.268, y: 5.268), control1: CGPoint(x: 13.697, y: 4.741), control2: CGPoint(x: 13.512, y: 5.024))
        p.addCurve(to: CGPoint(x: 12.42, y: 5.824), control1: CGPoint(x: 13.024, y: 5.512), control2: CGPoint(x: 12.741, y: 5.697))
        p.addCurve(to: CGPoint(x: 11.5, y: 6), control1: CGPoint(x: 12.125, y: 5.941), control2: CGPoint(x: 11.818, y: 6))
        p.addCurve(to: CGPoint(x: 10.58, y: 5.824), control1: CGPoint(x: 11.182, y: 6), control2: CGPoint(x: 10.875, y: 5.941))
        p.addCurve(to: CGPoint(x: 9.732, y: 5.268), control1: CGPoint(x: 10.259, y: 5.697), control2: CGPoint(x: 9.976, y: 5.512))
        p.addCurve(to: CGPoint(x: 9.176, y: 4.42), control1: CGPoint(x: 9.488, y: 5.024), control2: CGPoint(x: 9.303, y: 4.741))
        p.addCurve(to: CGPoint(x: 9.05, y: 4), control1: CGPoint(x: 9.121, y: 4.283), control2: CGPoint(x: 9.079, y: 4.143))
        p.addLine(to: CGPoint(x: 3.5, y: 4))
        p.addCurve(to: CGPoint(x: 2.948, y: 4.105), control1: CGPoint(x: 3.309, y: 4), control2: CGPoint(x: 3.125, y: 4.035))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10.439, y: 4.561))
        p.addCurve(to: CGPoint(x: 10.948, y: 4.895), control1: CGPoint(x: 10.586, y: 4.707), control2: CGPoint(x: 10.755, y: 4.818))
        p.addCurve(to: CGPoint(x: 11.5, y: 5), control1: CGPoint(x: 11.125, y: 4.965), control2: CGPoint(x: 11.309, y: 5))
        p.addCurve(to: CGPoint(x: 12.052, y: 4.895), control1: CGPoint(x: 11.691, y: 5), control2: CGPoint(x: 11.875, y: 4.965))
        p.addCurve(to: CGPoint(x: 12.561, y: 4.561), control1: CGPoint(x: 12.245, y: 4.818), control2: CGPoint(x: 12.414, y: 4.707))
        p.addCurve(to: CGPoint(x: 12.895, y: 4.052), control1: CGPoint(x: 12.707, y: 4.414), control2: CGPoint(x: 12.818, y: 4.245))
        p.addCurve(to: CGPoint(x: 13, y: 3.5), control1: CGPoint(x: 12.965, y: 3.875), control2: CGPoint(x: 13, y: 3.691))
        p.addCurve(to: CGPoint(x: 12.895, y: 2.948), control1: CGPoint(x: 13, y: 3.309), control2: CGPoint(x: 12.965, y: 3.125))
        p.addCurve(to: CGPoint(x: 12.561, y: 2.439), control1: CGPoint(x: 12.818, y: 2.755), control2: CGPoint(x: 12.707, y: 2.586))
        p.addCurve(to: CGPoint(x: 12.052, y: 2.105), control1: CGPoint(x: 12.414, y: 2.293), control2: CGPoint(x: 12.245, y: 2.182))
        p.addCurve(to: CGPoint(x: 11.5, y: 2), control1: CGPoint(x: 11.875, y: 2.035), control2: CGPoint(x: 11.691, y: 2))
        p.addCurve(to: CGPoint(x: 10.948, y: 2.105), control1: CGPoint(x: 11.309, y: 2), control2: CGPoint(x: 11.125, y: 2.035))
        p.addCurve(to: CGPoint(x: 10.439, y: 2.439), control1: CGPoint(x: 10.755, y: 2.182), control2: CGPoint(x: 10.586, y: 2.293))
        p.addCurve(to: CGPoint(x: 10.105, y: 2.948), control1: CGPoint(x: 10.293, y: 2.586), control2: CGPoint(x: 10.182, y: 2.755))
        p.addCurve(to: CGPoint(x: 10, y: 3.5), control1: CGPoint(x: 10.035, y: 3.125), control2: CGPoint(x: 10, y: 3.309))
        p.addCurve(to: CGPoint(x: 10.105, y: 4.052), control1: CGPoint(x: 10, y: 3.691), control2: CGPoint(x: 10.035, y: 3.875))
        p.addCurve(to: CGPoint(x: 10.439, y: 4.561), control1: CGPoint(x: 10.182, y: 4.245), control2: CGPoint(x: 10.293, y: 4.414))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2.105, y: 12.052))
        p.addCurve(to: CGPoint(x: 2.439, y: 12.561), control1: CGPoint(x: 2.182, y: 12.245), control2: CGPoint(x: 2.293, y: 12.414))
        p.addCurve(to: CGPoint(x: 2.948, y: 12.895), control1: CGPoint(x: 2.586, y: 12.707), control2: CGPoint(x: 2.755, y: 12.818))
        p.addCurve(to: CGPoint(x: 3.5, y: 13), control1: CGPoint(x: 3.125, y: 12.965), control2: CGPoint(x: 3.309, y: 13))
        p.addCurve(to: CGPoint(x: 4.052, y: 12.895), control1: CGPoint(x: 3.691, y: 13), control2: CGPoint(x: 3.875, y: 12.965))
        p.addCurve(to: CGPoint(x: 4.561, y: 12.561), control1: CGPoint(x: 4.245, y: 12.818), control2: CGPoint(x: 4.414, y: 12.707))
        p.addCurve(to: CGPoint(x: 4.895, y: 12.052), control1: CGPoint(x: 4.707, y: 12.414), control2: CGPoint(x: 4.818, y: 12.245))
        p.addCurve(to: CGPoint(x: 5, y: 11.5), control1: CGPoint(x: 4.965, y: 11.875), control2: CGPoint(x: 5, y: 11.691))
        p.addCurve(to: CGPoint(x: 4.895, y: 10.948), control1: CGPoint(x: 5, y: 11.309), control2: CGPoint(x: 4.965, y: 11.125))
        p.addCurve(to: CGPoint(x: 4.561, y: 10.439), control1: CGPoint(x: 4.818, y: 10.755), control2: CGPoint(x: 4.707, y: 10.586))
        p.addCurve(to: CGPoint(x: 4.052, y: 10.105), control1: CGPoint(x: 4.414, y: 10.293), control2: CGPoint(x: 4.245, y: 10.182))
        p.addCurve(to: CGPoint(x: 3.5, y: 10), control1: CGPoint(x: 3.875, y: 10.035), control2: CGPoint(x: 3.691, y: 10))
        p.addCurve(to: CGPoint(x: 2.948, y: 10.105), control1: CGPoint(x: 3.309, y: 10), control2: CGPoint(x: 3.125, y: 10.035))
        p.addCurve(to: CGPoint(x: 2.439, y: 10.439), control1: CGPoint(x: 2.755, y: 10.182), control2: CGPoint(x: 2.586, y: 10.293))
        p.addCurve(to: CGPoint(x: 2.105, y: 10.948), control1: CGPoint(x: 2.293, y: 10.586), control2: CGPoint(x: 2.182, y: 10.755))
        p.addCurve(to: CGPoint(x: 2, y: 11.5), control1: CGPoint(x: 2.035, y: 11.125), control2: CGPoint(x: 2, y: 11.309))
        p.addCurve(to: CGPoint(x: 2.105, y: 12.052), control1: CGPoint(x: 2, y: 11.691), control2: CGPoint(x: 2.035, y: 11.875))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "route" (line-round), MIT. https://gentleface.com/icons/route
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 RouteIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "route", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_route.xml · Gentleface "route" (line-round), MIT. https://gentleface.com/icons/route -->
<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="M2.948 4.105C2.755 4.182 2.586 4.293 2.439 4.439C2.293 4.586 2.182 4.755 2.105 4.948C2.035 5.125 2 5.309 2 5.5C2 5.691 2.035 5.875 2.105 6.052C2.182 6.245 2.293 6.414 2.439 6.561C2.586 6.707 2.755 6.818 2.948 6.895C3.125 6.965 3.309 7 3.5 7L11.5 7C11.818 7 12.125 7.059 12.42 7.176C12.741 7.303 13.024 7.488 13.268 7.732C13.512 7.976 13.697 8.259 13.824 8.58C13.941 8.875 14 9.182 14 9.5C14 9.818 13.941 10.125 13.824 10.42C13.697 10.741 13.512 11.024 13.268 11.268C13.024 11.512 12.741 11.697 12.42 11.824C12.125 11.941 11.818 12 11.5 12L5.95 12C5.921 12.142 5.879 12.283 5.824 12.42C5.697 12.741 5.512 13.024 5.268 13.268C5.024 13.512 4.741 13.697 4.42 13.824C4.125 13.941 3.818 14 3.5 14C3.182 14 2.875 13.941 2.58 13.824C2.259 13.697 1.976 13.512 1.732 13.268C1.488 13.024 1.303 12.741 1.176 12.42C1.059 12.125 1 11.818 1 11.5C1 11.182 1.059 10.875 1.176 10.58C1.303 10.259 1.488 9.976 1.732 9.732C1.976 9.488 2.259 9.303 2.58 9.176C2.875 9.059 3.182 9 3.5 9C3.818 9 4.125 9.059 4.42 9.176C4.741 9.303 5.024 9.488 5.268 9.732C5.512 9.976 5.697 10.259 5.824 10.58C5.879 10.717 5.921 10.858 5.95 11L11.5 11C11.691 11 11.875 10.965 12.052 10.895C12.245 10.818 12.414 10.707 12.561 10.561C12.707 10.414 12.818 10.245 12.895 10.052C12.965 9.875 13 9.691 13 9.5C13 9.309 12.965 9.125 12.895 8.948C12.818 8.755 12.707 8.586 12.561 8.439C12.414 8.293 12.245 8.182 12.052 8.105C11.875 8.035 11.691 8 11.5 8L3.5 8C3.182 8 2.875 7.941 2.58 7.824C2.259 7.697 1.976 7.512 1.732 7.268C1.488 7.024 1.303 6.741 1.176 6.42C1.059 6.125 1 5.818 1 5.5C1 5.182 1.059 4.875 1.176 4.58C1.303 4.259 1.488 3.976 1.732 3.732C1.976 3.488 2.259 3.303 2.58 3.176C2.875 3.059 3.182 3 3.5 3L9.05 3C9.079 2.858 9.121 2.717 9.176 2.58C9.303 2.259 9.488 1.976 9.732 1.732C9.976 1.488 10.259 1.303 10.58 1.176C10.875 1.059 11.182 1 11.5 1C11.818 1 12.125 1.059 12.42 1.176C12.741 1.303 13.024 1.488 13.268 1.732C13.512 1.976 13.697 2.259 13.824 2.58C13.941 2.875 14 3.182 14 3.5C14 3.818 13.941 4.125 13.824 4.42C13.697 4.741 13.512 5.024 13.268 5.268C13.024 5.512 12.741 5.697 12.42 5.824C12.125 5.941 11.818 6 11.5 6C11.182 6 10.875 5.941 10.58 5.824C10.259 5.697 9.976 5.512 9.732 5.268C9.488 5.024 9.303 4.741 9.176 4.42C9.121 4.283 9.079 4.143 9.05 4L3.5 4C3.309 4 3.125 4.035 2.948 4.105ZM10.439 4.561C10.586 4.707 10.755 4.818 10.948 4.895C11.125 4.965 11.309 5 11.5 5C11.691 5 11.875 4.965 12.052 4.895C12.245 4.818 12.414 4.707 12.561 4.561C12.707 4.414 12.818 4.245 12.895 4.052C12.965 3.875 13 3.691 13 3.5C13 3.309 12.965 3.125 12.895 2.948C12.818 2.755 12.707 2.586 12.561 2.439C12.414 2.293 12.245 2.182 12.052 2.105C11.875 2.035 11.691 2 11.5 2C11.309 2 11.125 2.035 10.948 2.105C10.755 2.182 10.586 2.293 10.439 2.439C10.293 2.586 10.182 2.755 10.105 2.948C10.035 3.125 10 3.309 10 3.5C10 3.691 10.035 3.875 10.105 4.052C10.182 4.245 10.293 4.414 10.439 4.561ZM2.105 12.052C2.182 12.245 2.293 12.414 2.439 12.561C2.586 12.707 2.755 12.818 2.948 12.895C3.125 12.965 3.309 13 3.5 13C3.691 13 3.875 12.965 4.052 12.895C4.245 12.818 4.414 12.707 4.561 12.561C4.707 12.414 4.818 12.245 4.895 12.052C4.965 11.875 5 11.691 5 11.5C5 11.309 4.965 11.125 4.895 10.948C4.818 10.755 4.707 10.586 4.561 10.439C4.414 10.293 4.245 10.182 4.052 10.105C3.875 10.035 3.691 10 3.5 10C3.309 10 3.125 10.035 2.948 10.105C2.755 10.182 2.586 10.293 2.439 10.439C2.293 10.586 2.182 10.755 2.105 10.948C2.035 11.125 2 11.309 2 11.5C2 11.691 2.035 11.875 2.105 12.052Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(2.948, 4.105)
      ..cubicTo(2.755, 4.182, 2.586, 4.293, 2.439, 4.439)
      ..cubicTo(2.293, 4.586, 2.182, 4.755, 2.105, 4.948)
      ..cubicTo(2.035, 5.125, 2, 5.309, 2, 5.5)
      ..cubicTo(2, 5.691, 2.035, 5.875, 2.105, 6.052)
      ..cubicTo(2.182, 6.245, 2.293, 6.414, 2.439, 6.561)
      ..cubicTo(2.586, 6.707, 2.755, 6.818, 2.948, 6.895)
      ..cubicTo(3.125, 6.965, 3.309, 7, 3.5, 7)
      ..lineTo(11.5, 7)
      ..cubicTo(11.818, 7, 12.125, 7.059, 12.42, 7.176)
      ..cubicTo(12.741, 7.303, 13.024, 7.488, 13.268, 7.732)
      ..cubicTo(13.512, 7.976, 13.697, 8.259, 13.824, 8.58)
      ..cubicTo(13.941, 8.875, 14, 9.182, 14, 9.5)
      ..cubicTo(14, 9.818, 13.941, 10.125, 13.824, 10.42)
      ..cubicTo(13.697, 10.741, 13.512, 11.024, 13.268, 11.268)
      ..cubicTo(13.024, 11.512, 12.741, 11.697, 12.42, 11.824)
      ..cubicTo(12.125, 11.941, 11.818, 12, 11.5, 12)
      ..lineTo(5.95, 12)
      ..cubicTo(5.921, 12.142, 5.879, 12.283, 5.824, 12.42)
      ..cubicTo(5.697, 12.741, 5.512, 13.024, 5.268, 13.268)
      ..cubicTo(5.024, 13.512, 4.741, 13.697, 4.42, 13.824)
      ..cubicTo(4.125, 13.941, 3.818, 14, 3.5, 14)
      ..cubicTo(3.182, 14, 2.875, 13.941, 2.58, 13.824)
      ..cubicTo(2.259, 13.697, 1.976, 13.512, 1.732, 13.268)
      ..cubicTo(1.488, 13.024, 1.303, 12.741, 1.176, 12.42)
      ..cubicTo(1.059, 12.125, 1, 11.818, 1, 11.5)
      ..cubicTo(1, 11.182, 1.059, 10.875, 1.176, 10.58)
      ..cubicTo(1.303, 10.259, 1.488, 9.976, 1.732, 9.732)
      ..cubicTo(1.976, 9.488, 2.259, 9.303, 2.58, 9.176)
      ..cubicTo(2.875, 9.059, 3.182, 9, 3.5, 9)
      ..cubicTo(3.818, 9, 4.125, 9.059, 4.42, 9.176)
      ..cubicTo(4.741, 9.303, 5.024, 9.488, 5.268, 9.732)
      ..cubicTo(5.512, 9.976, 5.697, 10.259, 5.824, 10.58)
      ..cubicTo(5.879, 10.717, 5.921, 10.858, 5.95, 11)
      ..lineTo(11.5, 11)
      ..cubicTo(11.691, 11, 11.875, 10.965, 12.052, 10.895)
      ..cubicTo(12.245, 10.818, 12.414, 10.707, 12.561, 10.561)
      ..cubicTo(12.707, 10.414, 12.818, 10.245, 12.895, 10.052)
      ..cubicTo(12.965, 9.875, 13, 9.691, 13, 9.5)
      ..cubicTo(13, 9.309, 12.965, 9.125, 12.895, 8.948)
      ..cubicTo(12.818, 8.755, 12.707, 8.586, 12.561, 8.439)
      ..cubicTo(12.414, 8.293, 12.245, 8.182, 12.052, 8.105)
      ..cubicTo(11.875, 8.035, 11.691, 8, 11.5, 8)
      ..lineTo(3.5, 8)
      ..cubicTo(3.182, 8, 2.875, 7.941, 2.58, 7.824)
      ..cubicTo(2.259, 7.697, 1.976, 7.512, 1.732, 7.268)
      ..cubicTo(1.488, 7.024, 1.303, 6.741, 1.176, 6.42)
      ..cubicTo(1.059, 6.125, 1, 5.818, 1, 5.5)
      ..cubicTo(1, 5.182, 1.059, 4.875, 1.176, 4.58)
      ..cubicTo(1.303, 4.259, 1.488, 3.976, 1.732, 3.732)
      ..cubicTo(1.976, 3.488, 2.259, 3.303, 2.58, 3.176)
      ..cubicTo(2.875, 3.059, 3.182, 3, 3.5, 3)
      ..lineTo(9.05, 3)
      ..cubicTo(9.079, 2.858, 9.121, 2.717, 9.176, 2.58)
      ..cubicTo(9.303, 2.259, 9.488, 1.976, 9.732, 1.732)
      ..cubicTo(9.976, 1.488, 10.259, 1.303, 10.58, 1.176)
      ..cubicTo(10.875, 1.059, 11.182, 1, 11.5, 1)
      ..cubicTo(11.818, 1, 12.125, 1.059, 12.42, 1.176)
      ..cubicTo(12.741, 1.303, 13.024, 1.488, 13.268, 1.732)
      ..cubicTo(13.512, 1.976, 13.697, 2.259, 13.824, 2.58)
      ..cubicTo(13.941, 2.875, 14, 3.182, 14, 3.5)
      ..cubicTo(14, 3.818, 13.941, 4.125, 13.824, 4.42)
      ..cubicTo(13.697, 4.741, 13.512, 5.024, 13.268, 5.268)
      ..cubicTo(13.024, 5.512, 12.741, 5.697, 12.42, 5.824)
      ..cubicTo(12.125, 5.941, 11.818, 6, 11.5, 6)
      ..cubicTo(11.182, 6, 10.875, 5.941, 10.58, 5.824)
      ..cubicTo(10.259, 5.697, 9.976, 5.512, 9.732, 5.268)
      ..cubicTo(9.488, 5.024, 9.303, 4.741, 9.176, 4.42)
      ..cubicTo(9.121, 4.283, 9.079, 4.143, 9.05, 4)
      ..lineTo(3.5, 4)
      ..cubicTo(3.309, 4, 3.125, 4.035, 2.948, 4.105)
      ..close()
      ..moveTo(10.439, 4.561)
      ..cubicTo(10.586, 4.707, 10.755, 4.818, 10.948, 4.895)
      ..cubicTo(11.125, 4.965, 11.309, 5, 11.5, 5)
      ..cubicTo(11.691, 5, 11.875, 4.965, 12.052, 4.895)
      ..cubicTo(12.245, 4.818, 12.414, 4.707, 12.561, 4.561)
      ..cubicTo(12.707, 4.414, 12.818, 4.245, 12.895, 4.052)
      ..cubicTo(12.965, 3.875, 13, 3.691, 13, 3.5)
      ..cubicTo(13, 3.309, 12.965, 3.125, 12.895, 2.948)
      ..cubicTo(12.818, 2.755, 12.707, 2.586, 12.561, 2.439)
      ..cubicTo(12.414, 2.293, 12.245, 2.182, 12.052, 2.105)
      ..cubicTo(11.875, 2.035, 11.691, 2, 11.5, 2)
      ..cubicTo(11.309, 2, 11.125, 2.035, 10.948, 2.105)
      ..cubicTo(10.755, 2.182, 10.586, 2.293, 10.439, 2.439)
      ..cubicTo(10.293, 2.586, 10.182, 2.755, 10.105, 2.948)
      ..cubicTo(10.035, 3.125, 10, 3.309, 10, 3.5)
      ..cubicTo(10, 3.691, 10.035, 3.875, 10.105, 4.052)
      ..cubicTo(10.182, 4.245, 10.293, 4.414, 10.439, 4.561)
      ..close()
      ..moveTo(2.105, 12.052)
      ..cubicTo(2.182, 12.245, 2.293, 12.414, 2.439, 12.561)
      ..cubicTo(2.586, 12.707, 2.755, 12.818, 2.948, 12.895)
      ..cubicTo(3.125, 12.965, 3.309, 13, 3.5, 13)
      ..cubicTo(3.691, 13, 3.875, 12.965, 4.052, 12.895)
      ..cubicTo(4.245, 12.818, 4.414, 12.707, 4.561, 12.561)
      ..cubicTo(4.707, 12.414, 4.818, 12.245, 4.895, 12.052)
      ..cubicTo(4.965, 11.875, 5, 11.691, 5, 11.5)
      ..cubicTo(5, 11.309, 4.965, 11.125, 4.895, 10.948)
      ..cubicTo(4.818, 10.755, 4.707, 10.586, 4.561, 10.439)
      ..cubicTo(4.414, 10.293, 4.245, 10.182, 4.052, 10.105)
      ..cubicTo(3.875, 10.035, 3.691, 10, 3.5, 10)
      ..cubicTo(3.309, 10, 3.125, 10.035, 2.948, 10.105)
      ..cubicTo(2.755, 10.182, 2.586, 10.293, 2.439, 10.439)
      ..cubicTo(2.293, 10.586, 2.182, 10.755, 2.105, 10.948)
      ..cubicTo(2.035, 11.125, 2, 11.309, 2, 11.5)
      ..cubicTo(2, 11.691, 2.035, 11.875, 2.105, 12.052)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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