13

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...).

16

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}
  • The Twitter blue color for the logo is 1DA1F2 ;) – Kpym May 8 '18 at 13:40
  • 1
    @Kpym My approach was more lazy. I just took the color from OP's picture. Thanks :) – Phelype Oleinik May 8 '18 at 13:44
  • 1
    @Myles Download the twitter logo zip file and check the svg file inside. Or you can also inspect directly the svg "Twitter trusted" logo in this page. – Kpym May 8 '18 at 13:54
  • 1
    @Myles Weird indeed. We shall hold a trial by combat to determine which one is correct. May the gods be on your side :) – Phelype Oleinik May 8 '18 at 13:57
  • 1
    Sorry, I got carried away there. But @Kpym's color indeed looks more Twitter-y. – Phelype Oleinik May 8 '18 at 13:57
18

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.

10

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.