Copy icon

A free pencil-style copy icon, drawn by code from 1 rectangle and 1 polyline. Use it as an SVG, a React component, or by name. MIT licensed.

copy

01Use it

Use copy

One package, four ways in. The icon inherits currentColor and is decorative unless you give it a title. Install it with npm i @matita/icons.

React

import { Copy } from '@matita/icons/react';

<Copy size={24} />

// or by name
import { SketchIcon } from '@matita/icons/react';
<SketchIcon name="copy" />

JavaScript

import { Copy, toSvg } from '@matita/icons';

toSvg(Copy, { size: 24 });   // SVG string

SVG

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" overflow="visible" class="sketch-icon sketch-icon-copy" data-sketch="" aria-hidden="true"><path d="M7.27 8.53Q14.17 8.81 21.08 8.41M19.95 7.63Q19.63 14.46 20.04 21.28M21.32 20.02Q14.47 19.59 7.63 19.88M8.49 20.87Q8.27 14.09 8.65 7.3" stroke-width="1.488"/><path d="M15.57 6.12Q15.48 5.34 15.43 4.56Q9.98 4.7 4.54 4.42Q4.89 10.05 4.35 15.67Q5.1 15.51 5.87 15.47" stroke-width="1.648"/></svg>

Pencil variant

import '@matita/icons/pencil.css';
import { Copy } from '@matita/icons/react';

<Copy size={32} pencil />

The file is icons/copy.svg in the package (pencil/copy.svg for the pencil variant). Matita 0.2.1.

02How it's drawn

The recipe for copy

Copy is not stored as a drawing. It is a recipe of 1 rectangle and 1 polyline on a 24 by 24 grid, and a small program draws it like a pencil would. The wobble comes from the name, so it always comes out the same.

A · Recipe
R 8.5 8.5 11.5 11.5;
P 15.5 5.5 15.5 4.5 4.5 4.5 4.5 15.5 5.5 15.5
B · Plotted
C · Drawn
How it works

03Takes, sizes, pencil

Same icon, every way

Pass a seed for another take of the same recipe. The wobble is capped, so it still reads at 16 px.

seed 0
seed 1
seed 2
seed 3
seed 4

Five seeds of copy. Seed 0 is the default.

16 px
20 px
24 px
32 px
48 px
96 px

True pixel sizes.

Ink
Pencil