# table-heart icon

Table heart. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/table-heart

- Category: Layout & interface
- Use it for: table heart
- Example: Favorite table
- Built from: table + heart
- Tags: table, grid, spreadsheet, cells, rows, columns, data, sheet, heart
- Family: table, table-alias, table-cell-plus, table-cells-merge, table-cells-split, table-check, table-column-insert-left, table-column-insert-right, table-column-x, table-columns-split, table-eye, table-link, table-off, table-pencil, table-pivot, table-plus, table-row-x, table-split, table-swap, table-unlock, table-wide, table-x
- Component name: TableHeartIcon
- 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/table-heart.svg · PNG https://gentleface.com/png/line-round/16/table-heart.png · https://gentleface.com/png/line-round/32/table-heart.png · https://gentleface.com/png/line-round/48/table-heart.png
- line-soft: https://gentleface.com/svg/line-soft/16/table-heart.svg · PNG https://gentleface.com/png/line-soft/16/table-heart.png · https://gentleface.com/png/line-soft/32/table-heart.png · https://gentleface.com/png/line-soft/48/table-heart.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/table-heart.svg · PNG https://gentleface.com/png/line-sharp/16/table-heart.png · https://gentleface.com/png/line-sharp/32/table-heart.png · https://gentleface.com/png/line-sharp/48/table-heart.png
- solid-round: https://gentleface.com/svg/solid-round/16/table-heart.svg · PNG https://gentleface.com/png/solid-round/16/table-heart.png · https://gentleface.com/png/solid-round/32/table-heart.png · https://gentleface.com/png/solid-round/48/table-heart.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/table-heart.svg · PNG https://gentleface.com/png/solid-soft/16/table-heart.png · https://gentleface.com/png/solid-soft/32/table-heart.png · https://gentleface.com/png/solid-soft/48/table-heart.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/table-heart.svg · PNG https://gentleface.com/png/solid-sharp/16/table-heart.png · https://gentleface.com/png/solid-sharp/32/table-heart.png · https://gentleface.com/png/solid-sharp/48/table-heart.png

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

## Code (line-round)

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

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z"/></svg>
```

### React

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

export function TableHeartIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "table-heart" (line-round), MIT. https://gentleface.com/icons/table-heart -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z" />
  </svg>
</template>
```

### Svelte

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

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "table-heart" (line-round), MIT. https://gentleface.com/icons/table-heart. Takes the text color. */
.icon-table-heart {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct TableHeartIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 1.14, y: 3.264))
        p.addCurve(to: CGPoint(x: 1.586, y: 2.586), control1: CGPoint(x: 1.242, y: 3.007), control2: CGPoint(x: 1.391, y: 2.781))
        p.addCurve(to: CGPoint(x: 2.264, y: 2.14), control1: CGPoint(x: 1.781, y: 2.391), control2: CGPoint(x: 2.007, y: 2.242))
        p.addCurve(to: CGPoint(x: 3, y: 2), control1: CGPoint(x: 2.5, y: 2.047), control2: CGPoint(x: 2.746, y: 2))
        p.addLine(to: CGPoint(x: 12, y: 2))
        p.addCurve(to: CGPoint(x: 12.736, y: 2.14), control1: CGPoint(x: 12.254, y: 2), control2: CGPoint(x: 12.5, y: 2.047))
        p.addCurve(to: CGPoint(x: 13.414, y: 2.586), control1: CGPoint(x: 12.993, y: 2.242), control2: CGPoint(x: 13.219, y: 2.391))
        p.addCurve(to: CGPoint(x: 13.86, y: 3.264), control1: CGPoint(x: 13.609, y: 2.781), control2: CGPoint(x: 13.758, y: 3.007))
        p.addCurve(to: CGPoint(x: 14, y: 4), control1: CGPoint(x: 13.953, y: 3.5), control2: CGPoint(x: 14, y: 3.746))
        p.addLine(to: CGPoint(x: 14, y: 5.5))
        p.addCurve(to: CGPoint(x: 13.856, y: 5.856), control1: CGPoint(x: 14, y: 5.641), control2: CGPoint(x: 13.952, y: 5.759))
        p.addCurve(to: CGPoint(x: 13.5, y: 6), control1: CGPoint(x: 13.759, y: 5.952), control2: CGPoint(x: 13.641, y: 6))
        p.addLine(to: CGPoint(x: 2, y: 6))
        p.addLine(to: CGPoint(x: 2, y: 9))
        p.addLine(to: CGPoint(x: 5.5, y: 9))
        p.addCurve(to: CGPoint(x: 5.856, y: 9.144), control1: CGPoint(x: 5.641, y: 9), control2: CGPoint(x: 5.759, y: 9.048))
        p.addCurve(to: CGPoint(x: 6, y: 9.5), control1: CGPoint(x: 5.952, y: 9.241), control2: CGPoint(x: 6, y: 9.359))
        p.addCurve(to: CGPoint(x: 5.856, y: 9.856), control1: CGPoint(x: 6, y: 9.641), control2: CGPoint(x: 5.952, y: 9.759))
        p.addCurve(to: CGPoint(x: 5.5, y: 10), control1: CGPoint(x: 5.759, y: 9.952), control2: CGPoint(x: 5.641, y: 10))
        p.addLine(to: CGPoint(x: 2, y: 10))
        p.addLine(to: CGPoint(x: 2, y: 12))
        p.addCurve(to: CGPoint(x: 2.293, y: 12.707), control1: CGPoint(x: 2, y: 12.276), control2: CGPoint(x: 2.098, y: 12.512))
        p.addCurve(to: CGPoint(x: 3, y: 13), control1: CGPoint(x: 2.488, y: 12.902), control2: CGPoint(x: 2.724, y: 13))
        p.addLine(to: CGPoint(x: 7.5, y: 13))
        p.addCurve(to: CGPoint(x: 7.593, y: 13.008), control1: CGPoint(x: 7.532, y: 13), control2: CGPoint(x: 7.563, y: 13.003))
        p.addLine(to: CGPoint(x: 7.992, y: 13.407))
        p.addCurve(to: CGPoint(x: 8, y: 13.5), control1: CGPoint(x: 7.997, y: 13.437), control2: CGPoint(x: 8, y: 13.468))
        p.addCurve(to: CGPoint(x: 7.856, y: 13.856), control1: CGPoint(x: 8, y: 13.641), control2: CGPoint(x: 7.952, y: 13.759))
        p.addCurve(to: CGPoint(x: 7.5, y: 14), control1: CGPoint(x: 7.759, y: 13.952), control2: CGPoint(x: 7.641, y: 14))
        p.addLine(to: CGPoint(x: 3, y: 14))
        p.addCurve(to: CGPoint(x: 2.264, y: 13.86), control1: CGPoint(x: 2.746, y: 14), control2: CGPoint(x: 2.5, y: 13.953))
        p.addCurve(to: CGPoint(x: 1.586, y: 13.414), control1: CGPoint(x: 2.007, y: 13.758), control2: CGPoint(x: 1.781, y: 13.609))
        p.addCurve(to: CGPoint(x: 1.14, y: 12.736), control1: CGPoint(x: 1.391, y: 13.219), control2: CGPoint(x: 1.242, y: 12.993))
        p.addCurve(to: CGPoint(x: 1, y: 12), control1: CGPoint(x: 1.047, y: 12.5), control2: CGPoint(x: 1, y: 12.254))
        p.addLine(to: CGPoint(x: 1, y: 4))
        p.addCurve(to: CGPoint(x: 1.14, y: 3.264), control1: CGPoint(x: 1, y: 3.746), control2: CGPoint(x: 1.047, y: 3.5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 7, y: 5))
        p.addLine(to: CGPoint(x: 7, y: 3))
        p.addLine(to: CGPoint(x: 3, y: 3))
        p.addCurve(to: CGPoint(x: 2.293, y: 3.293), control1: CGPoint(x: 2.724, y: 3), control2: CGPoint(x: 2.488, y: 3.098))
        p.addCurve(to: CGPoint(x: 2, y: 4), control1: CGPoint(x: 2.098, y: 3.488), control2: CGPoint(x: 2, y: 3.724))
        p.addLine(to: CGPoint(x: 2, y: 5))
        p.addLine(to: CGPoint(x: 7, y: 5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 13, y: 4))
        p.addCurve(to: CGPoint(x: 12.707, y: 3.293), control1: CGPoint(x: 13, y: 3.724), control2: CGPoint(x: 12.902, y: 3.488))
        p.addCurve(to: CGPoint(x: 12, y: 3), control1: CGPoint(x: 12.512, y: 3.098), control2: CGPoint(x: 12.276, y: 3))
        p.addLine(to: CGPoint(x: 8, y: 3))
        p.addLine(to: CGPoint(x: 8, y: 5))
        p.addLine(to: CGPoint(x: 13, y: 5))
        p.addLine(to: CGPoint(x: 13, y: 4))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12.483, y: 14.271))
        p.addCurve(to: CGPoint(x: 11.5, y: 14.475), control1: CGPoint(x: 12.169, y: 14.407), control2: CGPoint(x: 11.842, y: 14.475))
        p.addCurve(to: CGPoint(x: 10.517, y: 14.271), control1: CGPoint(x: 11.158, y: 14.475), control2: CGPoint(x: 10.831, y: 14.407))
        p.addCurve(to: CGPoint(x: 9.75, y: 13.75), control1: CGPoint(x: 10.228, y: 14.146), control2: CGPoint(x: 9.973, y: 13.973))
        p.addLine(to: CGPoint(x: 8, y: 12))
        p.addCurve(to: CGPoint(x: 7.313, y: 10.938), control1: CGPoint(x: 7.729, y: 11.729), control2: CGPoint(x: 7.5, y: 11.375))
        p.addCurve(to: CGPoint(x: 7, y: 9.5), control1: CGPoint(x: 7.104, y: 10.451), control2: CGPoint(x: 7, y: 9.972))
        p.addCurve(to: CGPoint(x: 7.688, y: 7.688), control1: CGPoint(x: 7, y: 8.75), control2: CGPoint(x: 7.229, y: 8.146))
        p.addCurve(to: CGPoint(x: 9.5, y: 7), control1: CGPoint(x: 8.146, y: 7.229), control2: CGPoint(x: 8.75, y: 7))
        p.addCurve(to: CGPoint(x: 10.688, y: 7.375), control1: CGPoint(x: 9.979, y: 7), control2: CGPoint(x: 10.375, y: 7.125))
        p.addCurve(to: CGPoint(x: 11.5, y: 8.5), control1: CGPoint(x: 10.965, y: 7.597), control2: CGPoint(x: 11.236, y: 7.972))
        p.addCurve(to: CGPoint(x: 12.313, y: 7.375), control1: CGPoint(x: 11.764, y: 7.972), control2: CGPoint(x: 12.035, y: 7.597))
        p.addCurve(to: CGPoint(x: 13.5, y: 7), control1: CGPoint(x: 12.625, y: 7.125), control2: CGPoint(x: 13.021, y: 7))
        p.addCurve(to: CGPoint(x: 15.313, y: 7.688), control1: CGPoint(x: 14.25, y: 7), control2: CGPoint(x: 14.854, y: 7.229))
        p.addCurve(to: CGPoint(x: 16, y: 9.5), control1: CGPoint(x: 15.771, y: 8.146), control2: CGPoint(x: 16, y: 8.75))
        p.addCurve(to: CGPoint(x: 15.688, y: 10.938), control1: CGPoint(x: 16, y: 9.972), control2: CGPoint(x: 15.896, y: 10.451))
        p.addCurve(to: CGPoint(x: 15, y: 12), control1: CGPoint(x: 15.5, y: 11.375), control2: CGPoint(x: 15.271, y: 11.729))
        p.addLine(to: CGPoint(x: 13.25, y: 13.75))
        p.addCurve(to: CGPoint(x: 12.483, y: 14.271), control1: CGPoint(x: 13.027, y: 13.973), control2: CGPoint(x: 12.772, y: 14.146))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "table-heart" (line-round), MIT. https://gentleface.com/icons/table-heart
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 TableHeartIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "table-heart", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_table_heart.xml · Gentleface "table-heart" (line-round), MIT. https://gentleface.com/icons/table-heart -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M1.14 3.264C1.242 3.007 1.391 2.781 1.586 2.586C1.781 2.391 2.007 2.242 2.264 2.14C2.5 2.047 2.746 2 3 2L12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L2 6L2 9L5.5 9C5.641 9 5.759 9.048 5.856 9.144C5.952 9.241 6 9.359 6 9.5C6 9.641 5.952 9.759 5.856 9.856C5.759 9.952 5.641 10 5.5 10L2 10L2 12C2 12.276 2.098 12.512 2.293 12.707C2.488 12.902 2.724 13 3 13L7.5 13C7.532 13 7.563 13.003 7.593 13.008L7.992 13.407C7.997 13.437 8 13.468 8 13.5C8 13.641 7.952 13.759 7.856 13.856C7.759 13.952 7.641 14 7.5 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 4C1 3.746 1.047 3.5 1.14 3.264ZM7 5L7 3L3 3C2.724 3 2.488 3.098 2.293 3.293C2.098 3.488 2 3.724 2 4L2 5L7 5ZM13 4C13 3.724 12.902 3.488 12.707 3.293C12.512 3.098 12.276 3 12 3L8 3L8 5L13 5L13 4ZM12.483 14.271C12.169 14.407 11.842 14.475 11.5 14.475C11.158 14.475 10.831 14.407 10.517 14.271C10.228 14.146 9.973 13.973 9.75 13.75L8 12C7.729 11.729 7.5 11.375 7.313 10.938C7.104 10.451 7 9.972 7 9.5C7 8.75 7.229 8.146 7.688 7.688C8.146 7.229 8.75 7 9.5 7C9.979 7 10.375 7.125 10.688 7.375C10.965 7.597 11.236 7.972 11.5 8.5C11.764 7.972 12.035 7.597 12.313 7.375C12.625 7.125 13.021 7 13.5 7C14.25 7 14.854 7.229 15.313 7.688C15.771 8.146 16 8.75 16 9.5C16 9.972 15.896 10.451 15.688 10.938C15.5 11.375 15.271 11.729 15 12L13.25 13.75C13.027 13.973 12.772 14.146 12.483 14.271Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(1.14, 3.264)
      ..cubicTo(1.242, 3.007, 1.391, 2.781, 1.586, 2.586)
      ..cubicTo(1.781, 2.391, 2.007, 2.242, 2.264, 2.14)
      ..cubicTo(2.5, 2.047, 2.746, 2, 3, 2)
      ..lineTo(12, 2)
      ..cubicTo(12.254, 2, 12.5, 2.047, 12.736, 2.14)
      ..cubicTo(12.993, 2.242, 13.219, 2.391, 13.414, 2.586)
      ..cubicTo(13.609, 2.781, 13.758, 3.007, 13.86, 3.264)
      ..cubicTo(13.953, 3.5, 14, 3.746, 14, 4)
      ..lineTo(14, 5.5)
      ..cubicTo(14, 5.641, 13.952, 5.759, 13.856, 5.856)
      ..cubicTo(13.759, 5.952, 13.641, 6, 13.5, 6)
      ..lineTo(2, 6)
      ..lineTo(2, 9)
      ..lineTo(5.5, 9)
      ..cubicTo(5.641, 9, 5.759, 9.048, 5.856, 9.144)
      ..cubicTo(5.952, 9.241, 6, 9.359, 6, 9.5)
      ..cubicTo(6, 9.641, 5.952, 9.759, 5.856, 9.856)
      ..cubicTo(5.759, 9.952, 5.641, 10, 5.5, 10)
      ..lineTo(2, 10)
      ..lineTo(2, 12)
      ..cubicTo(2, 12.276, 2.098, 12.512, 2.293, 12.707)
      ..cubicTo(2.488, 12.902, 2.724, 13, 3, 13)
      ..lineTo(7.5, 13)
      ..cubicTo(7.532, 13, 7.563, 13.003, 7.593, 13.008)
      ..lineTo(7.992, 13.407)
      ..cubicTo(7.997, 13.437, 8, 13.468, 8, 13.5)
      ..cubicTo(8, 13.641, 7.952, 13.759, 7.856, 13.856)
      ..cubicTo(7.759, 13.952, 7.641, 14, 7.5, 14)
      ..lineTo(3, 14)
      ..cubicTo(2.746, 14, 2.5, 13.953, 2.264, 13.86)
      ..cubicTo(2.007, 13.758, 1.781, 13.609, 1.586, 13.414)
      ..cubicTo(1.391, 13.219, 1.242, 12.993, 1.14, 12.736)
      ..cubicTo(1.047, 12.5, 1, 12.254, 1, 12)
      ..lineTo(1, 4)
      ..cubicTo(1, 3.746, 1.047, 3.5, 1.14, 3.264)
      ..close()
      ..moveTo(7, 5)
      ..lineTo(7, 3)
      ..lineTo(3, 3)
      ..cubicTo(2.724, 3, 2.488, 3.098, 2.293, 3.293)
      ..cubicTo(2.098, 3.488, 2, 3.724, 2, 4)
      ..lineTo(2, 5)
      ..lineTo(7, 5)
      ..close()
      ..moveTo(13, 4)
      ..cubicTo(13, 3.724, 12.902, 3.488, 12.707, 3.293)
      ..cubicTo(12.512, 3.098, 12.276, 3, 12, 3)
      ..lineTo(8, 3)
      ..lineTo(8, 5)
      ..lineTo(13, 5)
      ..lineTo(13, 4)
      ..close()
      ..moveTo(12.483, 14.271)
      ..cubicTo(12.169, 14.407, 11.842, 14.475, 11.5, 14.475)
      ..cubicTo(11.158, 14.475, 10.831, 14.407, 10.517, 14.271)
      ..cubicTo(10.228, 14.146, 9.973, 13.973, 9.75, 13.75)
      ..lineTo(8, 12)
      ..cubicTo(7.729, 11.729, 7.5, 11.375, 7.313, 10.938)
      ..cubicTo(7.104, 10.451, 7, 9.972, 7, 9.5)
      ..cubicTo(7, 8.75, 7.229, 8.146, 7.688, 7.688)
      ..cubicTo(8.146, 7.229, 8.75, 7, 9.5, 7)
      ..cubicTo(9.979, 7, 10.375, 7.125, 10.688, 7.375)
      ..cubicTo(10.965, 7.597, 11.236, 7.972, 11.5, 8.5)
      ..cubicTo(11.764, 7.972, 12.035, 7.597, 12.313, 7.375)
      ..cubicTo(12.625, 7.125, 13.021, 7, 13.5, 7)
      ..cubicTo(14.25, 7, 14.854, 7.229, 15.313, 7.688)
      ..cubicTo(15.771, 8.146, 16, 8.75, 16, 9.5)
      ..cubicTo(16, 9.972, 15.896, 10.451, 15.688, 10.938)
      ..cubicTo(15.5, 11.375, 15.271, 11.729, 15, 12)
      ..lineTo(13.25, 13.75)
      ..cubicTo(13.027, 13.973, 12.772, 14.146, 12.483, 14.271)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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