16

I'm trying to create the blue Twitter verified badge using TikZ. The real version looks like this:

enter image description here

(Source: https://twitter.com/verified)

This is the MWE I have so far:

\documentclass{article}

\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault} 
\usepackage[T1]{fontenc}
\usepackage[rgb]{xcolor}
\usepackage{tikz}

\definecolor{twitblue}{RGB}{1,156,246}
\newcommand{\verified}[1]{%
\begin{tikzpicture}[#1]%
\fill [twitblue] (0,0) circle (.7ex);
\draw [white,scale=0.1,line cap=round,line width=0.2mm](-.4,-.05) -- (-.1,-.3) -- (.4,.4);
\end{tikzpicture}%
}

\begin{document}
\textbf{Joe Bloggs} \verified{} 

\textbf{Joe Bloggs} \verified{scale=1.5}
\end{document}

enter image description here

Some of the issues:

  • I am unsure how to get the curved effect around the edge of the circle.
  • The bottom part of the checkmark isn't curved.
  • How do I get it to scale correctly? (The white checkmark isn't scaling properly)
  • How can I adjust the vertical alignment of the symbol?

Any pointers would be much appreciated.

UPDATE

The accepted answer provides a TikZ solution as the question originally requested. However, two solutions involving the exact .svg file of this badge were also provided. See answers by Kpym: (If you want the logo to be exactly the same, you can use the SVG original...) and (Here is a font solution, without TikZ...).

Milo
  • 9,440

3 Answers3

20

If you want the logo to be exactly the same, you can use the SVG original (which is a single path image) with the svg.path library.

\documentclass[tikz,border=7pt]{standalone}
\usetikzlibrary{svg.path}
\definecolor{twitter}{HTML}{1DA1F2}
\tikzset{
  twitter verified/.pic={
    \fill[scale=.01cm/1pt,twitter,#1] svg{M50-2.4a19 19 0 0 1-10 17.2l.9 6.6a19 19 0 0 1-18 19.1c-2.4 0-4.8 0-6.7-1.5-2.9 6.7-9 11-16.2 11s-13.3-4.8-16.2-11c-2.4 1-4.3 1.4-6.7 1.5a19 19 0 0 1-18-19.1c0-2.4 0-4.8 .9-6.6a19 19 0 0 1-10-17.2 19 19 0 0 1 9.5-16.6v-2.4a19 19 0 0 1 17.6-19.1c2.4 0 4.8 0 6.7 1.5 2.9-6.7 9-11 16.2-11s13.3 4.8 16.2 11c2.4-1 4.3-1.4 6.7-1.5a19 19 0 0 1 18 21.5 19 19 0 0 1 9.1 16.6zm-31.4 15.7-20.5-30.9a3.3 3.3 0 0 0-4.8-1l-.9 .5-11.4 11.4a3.4 3.4 0 1 0 4.7 4.8l8.6-8.1 18.1 27.6a3.8 3.8 0 0 0 6.2-4.3z};
  }
}
\begin{document}
  \begin{tikzpicture}[scale=4,transform shape]
    \pic{twitter verified};
    \pic[scale=.7] at (1,0) {twitter verified=purple};
  \end{tikzpicture}
\end{document}

enter image description here

Note: The path was adapted following my favorite workflow for logos.

Kpym
  • 23,002
18

You can use cloud from the shapes library:

enter image description here

You create a \node[cloud], specify the number of cloud puffs (8, from your picture), and the cloud puff arc (135° looked right to me).

I added line join=round to the tick to make the lower part be rounded.

Also, I changed the color a bit and changed the syntax of the command to allow the optional argument to be optional.

\documentclass{article}

\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[rgb]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes}

\definecolor{twitblue}{HTML}{1DA1F2}
\newcommand{\verified}[1][1]{%
  \begin{tikzpicture}[scale=#1]%
    \node [draw,fill,twitblue,cloud,cloud puffs=8,cloud puff arc=135, inner sep={#1*0.4ex}] {};
    \draw [white,scale=0.1,line cap=round,line width={#1*0.2mm},line join=round](-.4,-.05) -- (-.1,-.3) -- (.4,.4);
  \end{tikzpicture}}

\begin{document}

\textbf{Twitter Verified} \verified[0.5]

\textbf{Twitter Verified} \verified

\textbf{Twitter Verified} \verified[2]

\textbf{Twitter Verified} \verified[5]

\end{document}
12

Here is a font solution, without TikZ.

  1. Grab the original SVG file (for example from here).
  2. Go to Fontello and drag the SVG file inside. Then select this new icon.
  3. Chose an unicode symbol : I chosed 'CHECK MARK' (U+2713). Grab the hex code (in my case 2713) and put it as a code for this icon in the "Customize codes" tab.
  4. Set the font name to "twitterverified". Download the font (a zip file). Extract the twitterverified.ttf to the same folder as your tex file.
  5. Use this font, for example like this with XeLaTeX.

    \documentclass[varwidth,border=7pt]{standalone}
    \usepackage{fontspec}
      \newfontfamily{\TwitterVerified}{twitterverified.ttf}
    \usepackage{xcolor}
      \definecolor{twitter}{HTML}{1DA1F2}
    \begin{document}
      \textbf{\textsf{Twitter Verified}} \textcolor{twitter}{\TwitterVerified ✓}
    \end{document}
    

enter image description here

Kpym
  • 23,002