Message square icon
A free pencil-style message square icon, drawn by code from 1 closed shape. Use it as an SVG, a React component, or by name. MIT licensed.
01Use it
Use message-square
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 { MessageSquare } from '@matita/icons/react';
<MessageSquare size={24} />
// or by name
import { SketchIcon } from '@matita/icons/react';
<SketchIcon name="message-square" />JavaScript
import { MessageSquare, toSvg } from '@matita/icons';
toSvg(MessageSquare, { size: 24 }); // SVG stringSVG
<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-message-square" data-sketch="" aria-hidden="true"><path d="M4.15 4.31Q12.05 4.67 19.96 4.31Q20.4 9.95 20.13 15.6Q15 15.88 9.88 15.62Q7.78 17.59 5.61 19.47Q5.42 17.47 5.32 15.46Q4.57 15.57 3.8 15.59Q3.8 9.94 4.15 4.31Q5.08 4.38 6.02 4.31" stroke-width="1.808"/></svg>Pencil variant
import '@matita/icons/pencil.css';
import { MessageSquare } from '@matita/icons/react';
<MessageSquare size={32} pencil />The file is icons/message-square.svg in the package (pencil/message-square.svg for the pencil variant). Matita 0.2.1.
02How it's drawn
The recipe for message-square
Message square is not stored as a drawing. It is a recipe of 1 closed shape 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.
Z 4 4.5 20 4.5 20 15.5 10 15.5 5.5 19.5 5.5 15.5 4 15.5
message-square as a number: 2752266260
Shapes: L line, P polyline, Z closed shape, R rectangle, C circle, E ellipse, A arc, Q curve, O dot. Separate shapes with ;. Edits stay on this page.
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.
Five seeds of message-square. Seed 0 is the default.
True pixel sizes.