124

I would like to include smileys in my LaTeX document. Is there any package with lots of different smileys?

In mnsymbol and wasysym, I found some general symbols:

\documentclass{article}
\usepackage{MnSymbol,wasysym}
\begin{document}
wasysym: \smiley{} \frownie{} \blacksmiley{}

MnSymbol: \(\smile{} \frown{}\)
\end{document}

output

But I do not like the output. Actually, I am looking for smileys which look like "default smiles" in Google Talk, MSN, ... ;) <- this one is my favourite. ;)

doncherry
  • 54,637
Lan
  • 1,343

8 Answers8

78

For the sake of completeness (see also https://tex.stackexchange.com/a/59125/83):

Unicode defines codepoints of the various emoticons/emojis: There is ☺ and ☹ at U+263A and U+2639, and there are many more from U+1F601 onward. So, all you need is a font that includes these characters (DejaVu Sans contains some of them, and there are other fonts with full emoji support), copy&paste your emojis, and use XeLaTeX or LuaLaTeX. E.g.,

% Compile with xelatex or lualatex and DejaVu Sans installed on your system.
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\DejaSans{DejaVu Sans}

\begin{document}
Some emoticons from Unicode: 

{\DejaSans ☺☹} and even cats: {\DejaSans }!
\end{document}

result

Caramdir
  • 89,023
  • 26
  • 255
  • 291
69

Package tikzsymbols provides some symbols as well. As usual with tikz, you can apply scale and color changes.

lanSmiley

\documentclass{article}
\usepackage{tikzsymbols}
\usepackage{textcomp}
\usepackage{parskip}
\begin{document}
This is Max \Strichmaxerl and this is Jane \Strichmaxerl. The met
over a  \Coffeecup of nice and tasty coffee. Later they went for
a \Candle-light dinner. Their love for each other was burning
like \Fire and he asked Jane to \textmarried{} him. 

He was a bit \Sey[][green!60!white] on his wedding day  and had to \Chair
down. His best man told him to be \Cooley and that everything is
going to be just fine with the \Winkey of an eye.

All guests were waiting for the famous words of the \Innocey: You
may now kiss the bride. 

Everybody was very \dSmiley at the reception. Bride and groom were
very excited \Laughey[1.4] thinking about their honeymoon, which they
planned not only to be staying  in \Bed sleeping in ;-)
\end{document}
Johannes_B
  • 24,235
  • 10
  • 93
  • 248
33

bclogo offers these: smileys from bclogo (from the manual)

This, however, doesn't work with pdfTeX because the package uses pstricks.

Generally, I recommend you look for some smileys that you like on the web and then put them in your document via includegraphics{}.


Addition:

marvosym also offers two smileys:

\documentclass{article}
\usepackage{marvosym}
\begin{document}
\Smiley{} \Frowny{}
\end{document}

output

doncherry
  • 54,637
22

Here are some more complicated emojis created in tikz (with the help of inkscape)-(I have used the answer for the sphaire from here and the full code is here):

First Part of longtable

the code is here:

\documentclass[10pt,a4paper]{article}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{longtable}
\usepackage{ctable}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
%TeXporter:DefineEmojiColors
\definecolor{c0a0808}{RGB}{10,8,8}
\definecolor{cff0000}{RGB}{255,0,0}
\definecolor{cff9700}{RGB}{255,151,0}
\definecolor{c1a0f00}{RGB}{26,15,0}
\definecolor{c782121}{RGB}{120,33,33}
\definecolor{cffffff}{RGB}{255,255,255}
\definecolor{cffefef}{RGB}{255,239,239}
\definecolor{c250303}{RGB}{37,3,3}
\definecolor{ce3dbdb}{RGB}{227,219,219}
\definecolor{cd45500}{RGB}{212,85,0}
\definecolor{cffd42a}{RGB}{255,212,42}
\definecolor{caa4400}{RGB}{170,68,0}
\definecolor{cff5555}{RGB}{255,85,85}
\definecolor{cffff00}{RGB}{255,255,0}
\definecolor{c5a5a5a}{RGB}{90,90,90}
\definecolor{ce9c900}{RGB}{233,201,0}
\definecolor{c2b0000}{RGB}{43,0,0}
\definecolor{c00ffff}{RGB}{0,255,255}
%TeXporter:EndDefineEmojiColors
%TeXporter:EmojiHappyFace
\def\CreateHappyFace{
\begin{tikzpicture}[scale=0.5]
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!55!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!30!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;
%Left eye
\path[yshift=163,xshift=-68,scale=0.012,inner color=c782121!70!yellow,outer color=c782121!60!black,yscale=-1] (157.4105,420.0859) .. controls (145.5758,420.0859) and
(135.9730,441.1746) .. (135.9730,467.2109) .. controls (135.9730,472.5231) and
(136.3929,477.6340) .. (137.1293,482.3984) .. controls (139.9795,463.6457) and
(148.6651,449.9922) .. (158.9730,449.9922) .. controls (167.3672,449.9922) and
(174.7174,459.0360) .. (178.6918,472.5234) .. controls (178.7809,470.7772) and
(178.8168,469.0096) .. (178.8168,467.2109) .. controls (178.8168,441.1746) and
(169.2452,420.0859) .. (157.4105,420.0859) -- cycle;
%Right eye
\path[yshift=163,xshift=68,xscale=-1,scale=0.012,inner color=c782121!70!yellow,outer color=c782121!60!black,yscale=-1] (157.4105,420.0859) .. controls (145.5758,420.0859) and
(135.9730,441.1746) .. (135.9730,467.2109) .. controls (135.9730,472.5231) and
(136.3929,477.6340) .. (137.1293,482.3984) .. controls (139.9795,463.6457) and
(148.6651,449.9922) .. (158.9730,449.9922) .. controls (167.3672,449.9922) and
(174.7174,459.0360) .. (178.6918,472.5234) .. controls (178.7809,470.7772) and
(178.8168,469.0096) .. (178.8168,467.2109) .. controls (178.8168,441.1746) and
(169.2452,420.0859) .. (157.4105,420.0859) -- cycle;
%mouth
\path[yshift=203,xshift=-90,scale=0.024,yscale=-1,draw=black,inner color=c782121!70!yellow,outer color=c782121!60!black,miter limit=4.00,line width=0.820pt]
(83.2188,316.4062) .. controls (86.0968,339.8625) and (107.1942,358.0625) ..
(132.8438,358.0625) .. controls (158.3006,358.0625) and (179.3095,340.1386) ..
(182.4375,316.9375) .. controls (167.0177,319.5504) and (150.8782,320.9375) ..
(134.2812,320.9375) .. controls (116.6268,320.9375) and (99.5245,319.3512) ..
(83.2188,316.4062) -- cycle;
%teeth
\path[yshift=203,xshift=-90,scale=0.024,yscale=-1,inner color=white,outer color=ce3dbdb!80!black,draw=black,line width=0.6] (83.3970,316.4171) .. controls (84.1788,322.7888) and
(86.2941,328.7681) .. (89.4908,334.1046) .. controls (103.3990,334.8620) and
(119.1174,338.6714) .. (133.0437,338.3979) .. controls (148.5504,338.0933) and
(162.2806,333.5914) .. (177.7095,332.0108) .. controls (180.1799,327.3657) and
(181.8923,322.3146) .. (182.6157,316.9483) .. controls (167.1960,319.5612) and
(151.0564,320.9483) .. (134.4595,320.9483) .. controls (116.8050,320.9483) and
(99.7027,319.3620) .. (83.3970,316.4171) -- cycle;
%tangue
\path[yshift=203,xshift=-110,scale=0.024,yscale=-1,xscale=1.25,inner color=cff5555!80!black,outer color=c782121!60!black,opacity=0.9] (115.5196,352.1215) .. controls (111.3671,350.2285) and
(105.6834,345.8852) .. (102.8892,342.4698) -- (97.8089,336.2598) --
(102.2146,336.3376) .. controls (104.6377,336.3804) and (111.6672,337.1200) ..
(117.8358,337.9812) .. controls (124.3649,338.8926) and (133.4252,338.8866) ..
(139.5191,337.9667) .. controls (145.2764,337.0975) and (153.3516,335.9044) ..
(157.4639,335.3152) -- (164.9409,334.2440) -- (157.7177,342.3122) .. controls
(146.0180,355.3804) and (130.5538,358.9753) .. (115.5196,352.1216) -- cycle;
\end{tikzpicture}
}
%TeXporter:EndEmojiHappyFace


%TeXporter:EmojiSadFace
\def\CreateSadFace{
\begin{tikzpicture}[scale=0.5]
%Head
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(orange!85!white);
color(18bp)=(orange!90!blue);
color(25bp)=(yellow!80!blue);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!30!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;

\draw[inner color=white ,outer color=c782121!20!white]
(-0.8,0.1) circle (0.35);
\fill[inner color=black ,outer color=black!20!white]
(-0.8,-0.05) circle (0.15);

\draw[inner color=white ,outer color=c782121!20!white]
(0.8,0.1) circle (0.35);
\fill[inner color=black ,outer color=black!20!white]
(0.8,-0.05) circle (0.14);

\path[xshift=-90,yshift=122,scale=0.06,yscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(46.74375,50.94375) .. controls (44.20450,57.00941) and (38.54312,61.64973) ..
(31.56875,63.20938) .. controls (32.36042,63.35032) and (33.17901,63.42500) ..
(34.01562,63.42500) .. controls (41.06052,63.42500) and (46.77188,58.18907) ..
(46.77188,51.73125) .. controls (46.77188,51.46641) and (46.76266,51.20420) ..
(46.74375,50.94375) -- cycle;

\path[xshift=90,yshift=122,scale=0.06,yscale=-1,xscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(46.74375,50.94375) .. controls (44.20450,57.00941) and (38.54312,61.64973) ..
(31.56875,63.20938) .. controls (32.36042,63.35032) and (33.17901,63.42500) ..
(34.01562,63.42500) .. controls (41.06052,63.42500) and (46.77188,58.18907) ..
(46.77188,51.73125) .. controls (46.77188,51.46641) and (46.76266,51.20420) ..
(46.74375,50.94375) -- cycle;

\path[xshift=55,yshift=-10,scale=0.0065,yscale=-0.8,xscale=-0.8,draw=black,inner color=cff5555!80!black,outer color=c782121!60!black]
(359.6464,67.3100) .. controls (278.1326,67.3100)
and (211.4129,129.5159) .. (205.8964,208.2475) .. controls (250.9411,190.8018)
and (304.2674,180.7163) .. (361.4277,180.7163) .. controls (417.0568,180.7163)
and (469.0358,190.2795) .. (513.3027,206.8725) .. controls (507.1094,128.7941)
and (440.6844,67.3100) .. (359.6464,67.3100) -- cycle;
\fill[xshift=55,yshift=-10,scale=0.0065,yscale=-0.8,xscale=-0.8,inner color=white,outer color=ce3dbdb!80!black,line width=0.2]
(359.6346,72.6265) .. controls (315.4332,72.6265)
and (275.6110,90.9215) .. (247.5096,120.2202) .. controls (283.3018,112.3912)
and (322.3429,108.0640) .. (363.1971,108.0640) .. controls (400.7202,108.0640)
and (436.6908,111.7186) .. (470.0408,118.3765) .. controls (442.0468,90.1452)
and (402.9104,72.6265) .. (359.6346,72.6265) -- cycle;


\fill[xshift=-63,yshift=5,scale=0.025,yscale=-1,inner color=blue!10!white,outer color=blue!80!white]
(37.38189,16.83071) -- (24.98031,58.99606) .. controls (24.04934,63.33741) and
(24.68778,67.99808) .. (26.75197,71.92913) .. controls (27.87220,74.06251) and
(29.41478,75.99641) .. (31.36401,77.41300) .. controls (33.31324,78.82959) and
(35.68099,79.70975) .. (38.09055,79.72441) .. controls (40.70723,79.74033) and
(43.28208,78.73161) .. (45.33407,77.10784) .. controls (47.38607,75.48408) and
(48.93151,73.27201) .. (49.96063,70.86614) .. controls (51.54908,67.15267) and
(51.92699,62.93268) .. (51.02362,58.99606) -- (37.38189,16.83071);

\fill[xshift=-55,yshift=-9,scale=0.017,yscale=-1,inner color=blue!5!white,outer color=blue!20!white,opacity=0.1]
(37.38189,16.83071) -- (24.98031,58.99606) .. controls (24.04934,63.33741) and
(24.68778,67.99808) .. (26.75197,71.92913) .. controls (27.87220,74.06251) and
(29.41478,75.99641) .. (31.36401,77.41300) .. controls (33.31324,78.82959) and
(35.68099,79.70975) .. (38.09055,79.72441) .. controls (40.70723,79.74033) and
(43.28208,78.73161) .. (45.33407,77.10784) .. controls (47.38607,75.48408) and
(48.93151,73.27201) .. (49.96063,70.86614) .. controls (51.54908,67.15267) and
(51.92699,62.93268) .. (51.02362,58.99606) -- (37.38189,16.83071);
\fill[xshift=-52,yshift=-17,scale=0.013,yscale=-1,fill=white,opacity=0.4]
(37.38189,16.83071) -- (24.98031,58.99606) .. controls (24.04934,63.33741) and
(24.68778,67.99808) .. (26.75197,71.92913) .. controls (27.87220,74.06251) and
(29.41478,75.99641) .. (31.36401,77.41300) .. controls (33.31324,78.82959) and
(35.68099,79.70975) .. (38.09055,79.72441) .. controls (40.70723,79.74033) and
(43.28208,78.73161) .. (45.33407,77.10784) .. controls (47.38607,75.48408) and
(48.93151,73.27201) .. (49.96063,70.86614) .. controls (51.54908,67.15267) and
(51.92699,62.93268) .. (51.02362,58.99606) -- (37.38189,16.83071);
\end{tikzpicture}
}
%TeXporter:EndEmojiSadFace


%TeXporter:EmojiAngryFace
\def\CreateAngryFace{
\begin{tikzpicture}[scale=0.5]
%Head
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(red!40!yellow);
color(9bp)=(red!65!yellow);
color(18bp)=(red!60!orange);
color(25bp)=(red!40!orange);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(red!40!yellow);
color(9bp)=(red!30!yellow);
color(18bp)=(red!60!orange);
color(25bp)=(red!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;

\path[xshift=-84,yshift=70,scale=0.05,yscale=-1,draw=black,inner color=white,outer color=white!80!red,line width=.260pt]
(48.45625,38.80000) .. controls (45.66765,38.80000) and (43.40625,41.77454) ..
(43.40625,45.44375) .. controls (43.40625,49.11296) and (45.66765,52.08750) ..
(48.45625,52.08750) .. controls (51.24485,52.08750) and (53.50312,49.11296) ..
(53.50312,45.44375) .. controls (53.50312,43.67448) and (52.97885,42.06561) ..
(52.12188,40.87500) .. controls (51.86458,40.74817) and (51.61751,40.60337) ..
(51.38125,40.44062) .. controls (50.81739,40.05221) and (50.32891,39.57631) ..
(49.87188,39.06562) .. controls (49.42207,38.89280) and (48.94849,38.80000) ..
(48.45625,38.80000) -- cycle;

\path[xshift=84,yshift=70,xscale=-1,scale=0.05,yscale=-1,draw=black,inner color=white,outer color=white!80!red,line width=.260pt]
(48.45625,38.80000) .. controls (45.66765,38.80000) and (43.40625,41.77454) ..
(43.40625,45.44375) .. controls (43.40625,49.11296) and (45.66765,52.08750) ..
(48.45625,52.08750) .. controls (51.24485,52.08750) and (53.50312,49.11296) ..
(53.50312,45.44375) .. controls (53.50312,43.67448) and (52.97885,42.06561) ..
(52.12188,40.87500) .. controls (51.86458,40.74817) and (51.61751,40.60337) ..
(51.38125,40.44062) .. controls (50.81739,40.05221) and (50.32891,39.57631) ..
(49.87188,39.06562) .. controls (49.42207,38.89280) and (48.94849,38.80000) ..
(48.45625,38.80000) -- cycle;

\path[xshift=-107,yshift=90,xscale=1,scale=0.065,yscale=-1,draw=black,inner color=red,outer color=red!80!blue,line width=.160pt]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;
\path[xshift=107,yshift=90,xscale=-1,scale=0.065,yscale=-1,draw=black,inner color=red,outer color=red!80!blue,line width=.160pt]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;

\path[xshift=-49.5,yshift=37,xscale=1,scale=0.025,yscale=-1,draw=black,fill=black]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;
\path[xshift=49.5,yshift=37,xscale=-1,scale=0.025,yscale=-1,draw=black,fill=black]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;

\path[xshift=-107,yshift=86,xscale=1,scale=0.065,yscale=-1,draw=c782121!60!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(41.38592,35.84990) .. controls (41.84318,35.28057) and (42.46384,34.84401) ..
(43.15422,34.60610) .. controls (43.84461,34.36819) and (44.60245,34.32972) ..
(45.31337,34.49649) .. controls (45.99367,34.65608) and (46.62202,34.99767) ..
(47.17522,35.42457) .. controls (47.72841,35.85148) and (48.21076,36.36295) ..
(48.66578,36.89326) .. controls (49.57581,37.95388) and (50.40612,39.11735) ..
(51.55702,39.91014) .. controls (52.36181,40.46451) and (53.30482,40.81656) ..
(54.27602,40.92520) -- (56.69291,39.91014) .. controls (55.94307,40.25443) and
(55.09158,40.37363) .. (54.27602,40.24849) .. controls (53.06451,40.06259) and
(51.97745,39.35199) .. (51.15420,38.44394) .. controls (50.26540,37.46360) and
(49.65913,36.26737) .. (48.97155,35.13676) .. controls (48.28397,34.00616) and
(47.47006,32.89605) .. (46.32041,32.24080) .. controls (45.59223,31.82577) and
(44.72278,31.61276) .. (43.90352,31.78967) .. controls (43.44795,31.88804) and
(43.02031,32.10413) .. (42.65993,32.39968) .. controls (42.29955,32.69523) and
(42.00586,33.06902) .. (41.78874,33.48143) .. controls (41.40938,34.20200) and
(41.26611,35.04444) .. (41.38592,35.84990);

\path[xshift=107,yshift=86,xscale=-1,scale=0.065,yscale=-1,draw=c782121!60!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(41.38592,35.84990) .. controls (41.84318,35.28057) and (42.46384,34.84401) ..
(43.15422,34.60610) .. controls (43.84461,34.36819) and (44.60245,34.32972) ..
(45.31337,34.49649) .. controls (45.99367,34.65608) and (46.62202,34.99767) ..
(47.17522,35.42457) .. controls (47.72841,35.85148) and (48.21076,36.36295) ..
(48.66578,36.89326) .. controls (49.57581,37.95388) and (50.40612,39.11735) ..
(51.55702,39.91014) .. controls (52.36181,40.46451) and (53.30482,40.81656) ..
(54.27602,40.92520) -- (56.69291,39.91014) .. controls (55.94307,40.25443) and
(55.09158,40.37363) .. (54.27602,40.24849) .. controls (53.06451,40.06259) and
(51.97745,39.35199) .. (51.15420,38.44394) .. controls (50.26540,37.46360) and
(49.65913,36.26737) .. (48.97155,35.13676) .. controls (48.28397,34.00616) and
(47.47006,32.89605) .. (46.32041,32.24080) .. controls (45.59223,31.82577) and
(44.72278,31.61276) .. (43.90352,31.78967) .. controls (43.44795,31.88804) and
(43.02031,32.10413) .. (42.65993,32.39968) .. controls (42.29955,32.69523) and
(42.00586,33.06902) .. (41.78874,33.48143) .. controls (41.40938,34.20200) and
(41.26611,35.04444) .. (41.38592,35.84990);

\path[xshift=54,yshift=30,xscale=-1,scale=0.05,yscale=-1,draw=black,inner color=c782121!70!yellow,outer color=c782121!60!black,miter limit=4.00,line width=0.420pt]
(47.77500,44.38293) .. controls (47.22576,44.30335) and (45.43196,43.81962) ..
(43.78878,43.30799) .. controls (40.86586,42.39788) and (40.75324,42.37761) ..
(38.58661,42.37181) .. controls (36.47900,42.36616) and (36.25654,42.40161) ..
(33.98031,43.10578) .. controls (30.76077,44.10178) and (30.04321,44.25052) ..
(28.48819,44.24428) .. controls (23.81734,44.22552) and (20.23712,40.53985) ..
(20.55630,36.07879) .. controls (20.77798,32.98058) and (23.12842,30.50658) ..
(26.07494,30.27006) .. controls (28.06283,30.11049) and (29.81184,30.71618) ..
(33.05100,32.68591) .. controls (37.76370,35.55169) and (39.70380,35.69705) ..
(43.37008,33.45907) .. controls (44.10089,33.01296) and (45.32514,32.26468) ..
(46.09065,31.79621) .. controls (48.23023,30.48687) and (49.20593,30.16461) ..
(51.07677,30.14941) .. controls (52.48024,30.13800) and (52.77966,30.19360) ..
(53.57615,30.61354) .. controls (56.15678,31.97416) and (57.48951,35.16505) ..
(56.76488,38.24815) .. controls (56.60938,38.90974) and (56.35235,39.70698) ..
(56.19370,40.01981) .. controls (54.63599,43.09123) and (51.18910,44.87764) ..
(47.77500,44.38293) -- cycle;
\path[xshift=54,yshift=30,xscale=-1,scale=0.05,yscale=-1,inner color=white,outer color=ce3dbdb!80!black,draw=black,line width=0.2]
(47.95217,44.20577) .. controls (47.40292,44.12618) and (45.60913,43.64245) ..
(43.96595,43.13082) .. controls (41.04302,42.22071) and (40.93040,42.20045) ..
(38.76378,42.19464) .. controls (36.65616,42.18899) and (36.43370,42.22444) ..
(34.15748,42.92861) .. controls (30.93794,43.92461) and (30.22037,44.07336) ..
(28.66535,44.06712) .. controls (27.09746,44.06082) and (25.48932,43.60752) ..
(24.28084,42.83120) .. controls (23.41263,42.27348) and (21.98529,40.92008) ..
(22.12175,40.78395) .. controls (22.25090,40.65510) and (27.53138,39.81848) ..
(30.25984,39.49458) .. controls (33.97559,39.05347) and (43.35251,39.04662) ..
(46.20472,39.48292) .. controls (50.08684,40.07678) and (55.14364,41.40963) ..
(55.01207,41.80433) .. controls (54.89954,42.14193) and (52.83323,43.45914) ..
(51.84570,43.82280) .. controls (50.67030,44.25564) and (49.25624,44.39473) ..
(47.95217,44.20577) -- cycle;
\path[xshift=54,yshift=30,xscale=-1,scale=0.05,yscale=-1,inner color=white,outer color=ce3dbdb!80!black,draw=black,line width=0.2]
(35.82316,38.72249) .. controls (31.64570,38.45251) and (27.93719,37.82766) ..
(23.88189,36.71052) .. controls (20.47566,35.77218) and (20.65951,35.88385) ..
(20.94721,34.92788) .. controls (21.71718,32.36946) and (23.76900,30.64655) ..
(26.28650,30.44447) .. controls (28.23668,30.28792) and (30.00870,30.90533) ..
(33.22817,32.86307) .. controls (37.94087,35.72885) and (39.88097,35.87421) ..
(43.54724,33.63623) .. controls (44.27805,33.19013) and (45.50231,32.44185) ..
(46.26782,31.97338) .. controls (48.44141,30.64322) and (49.38918,30.32938) ..
(51.25394,30.32230) .. controls (52.64813,30.31701) and (52.96210,30.37602) ..
(53.75331,30.79203) .. controls (54.93329,31.41243) and (56.19106,32.82750) ..
(56.64796,34.04868) .. controls (56.84808,34.58355) and (57.01181,35.09185) ..
(57.01181,35.17825) .. controls (57.01181,35.26465) and (56.19464,35.65262) ..
(55.19587,36.04042) .. controls (50.32228,37.93271) and (46.71398,38.66641) ..
(41.68701,38.78727) .. controls (39.73819,38.83412) and (37.09946,38.80497) ..
(35.82316,38.72249) -- (35.82316,38.72249) -- cycle;

\end{tikzpicture}
}
%TeXporter:EndEmojiAngryFace


%TeXporter:EmojiStressedFace
\def\CreateStressedFace{
\begin{tikzpicture}[scale=0.5]
%Head
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!55!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!30!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;

\path[xshift=-165,yshift=190,scale=0.013,yscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(412.2952,416.1696) .. controls (402.4957,434.4069) and (372.7147,447.8466) ..
(337.0714,448.6326) .. controls (345.7428,453.7104) and (357.9211,456.8754) ..
(371.4088,456.8754) .. controls (397.7352,456.8754) and (419.0639,444.8410) ..
(419.0639,429.9941) .. controls (419.0639,424.9402) and (416.5958,420.2082) ..
(412.2952,416.1696) -- cycle;

\path[xshift=165,yshift=190,scale=0.013,yscale=-1,xscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(412.2952,416.1696) .. controls (402.4957,434.4069) and (372.7147,447.8466) ..
(337.0714,448.6326) .. controls (345.7428,453.7104) and (357.9211,456.8754) ..
(371.4088,456.8754) .. controls (397.7352,456.8754) and (419.0639,444.8410) ..
(419.0639,429.9941) .. controls (419.0639,424.9402) and (416.5958,420.2082) ..
(412.2952,416.1696) -- cycle;

\path[xshift=-51,yshift=28,scale=0.003,yscale=-1,xscale=1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(240.9449,201.9685) .. controls (277.7444,163.7790) and (331.4846,142.5483) ..
(384.4488,145.2756) .. controls (416.1699,146.9090) and (447.4278,156.8390) ..
(474.2758,173.8119) .. controls (501.1239,190.7848) and (523.5012,214.7621) ..
(538.5827,242.7165) .. controls (491.0752,298.2483) and (428.6499,340.8953) ..
(359.6457,364.9606) .. controls (319.2364,379.0534) and (276.6393,386.8529) ..
(233.8583,387.9921) .. controls (271.0447,373.5979) and (305.8888,353.1720) ..
(336.6142,327.7559) .. controls (350.5885,316.1962) and (363.9856,303.2534) ..
(372.0472,287.0079) .. controls (380.5313,269.9111) and (382.4928,249.6748) ..
(377.4504,231.2669) .. controls (372.4079,212.8589) and (360.4075,196.4472) ..
(344.3949,186.0607) .. controls (328.3824,175.6743) and (308.5040,171.4077) ..
(289.6397,174.3085) .. controls (270.7753,177.2094) and (253.0971,187.2510) ..
(240.9449,201.9685);

\path[xshift=51,yshift=28,scale=0.003,yscale=-1,xscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(240.9449,201.9685) .. controls (277.7444,163.7790) and (331.4846,142.5483) ..
(384.4488,145.2756) .. controls (416.1699,146.9090) and (447.4278,156.8390) ..
(474.2758,173.8119) .. controls (501.1239,190.7848) and (523.5012,214.7621) ..
(538.5827,242.7165) .. controls (491.0752,298.2483) and (428.6499,340.8953) ..
(359.6457,364.9606) .. controls (319.2364,379.0534) and (276.6393,386.8529) ..
(233.8583,387.9921) .. controls (271.0447,373.5979) and (305.8888,353.1720) ..
(336.6142,327.7559) .. controls (350.5885,316.1962) and (363.9856,303.2534) ..
(372.0472,287.0079) .. controls (380.5313,269.9111) and (382.4928,249.6748) ..
(377.4504,231.2669) .. controls (372.4079,212.8589) and (360.4075,196.4472) ..
(344.3949,186.0607) .. controls (328.3824,175.6743) and (308.5040,171.4077) ..
(289.6397,174.3085) .. controls (270.7753,177.2094) and (253.0971,187.2510) ..
(240.9449,201.9685);

\path[xshift=66,yshift=1,scale=0.0065,yscale=-1,xscale=-1,draw=black,inner color=cff5555!80!black,outer color=c782121!60!black]
(359.6464,67.3100) .. controls (278.1326,67.3100)
and (211.4129,129.5159) .. (205.8964,208.2475) .. controls (250.9411,190.8018)
and (304.2674,180.7163) .. (361.4277,180.7163) .. controls (417.0568,180.7163)
and (469.0358,190.2795) .. (513.3027,206.8725) .. controls (507.1094,128.7941)
and (440.6844,67.3100) .. (359.6464,67.3100) -- cycle;

\fill[xshift=66,yshift=1,scale=0.0065,yscale=-1,xscale=-1,inner color=white,outer color=ce3dbdb!80!black,line width=0.2]
(359.6346,72.6265) .. controls (315.4332,72.6265)
and (275.6110,90.9215) .. (247.5096,120.2202) .. controls (283.3018,112.3912)
and (322.3429,108.0640) .. (363.1971,108.0640) .. controls (400.7202,108.0640)
and (436.6908,111.7186) .. (470.0408,118.3765) .. controls (442.0468,90.1452)
and (402.9104,72.6265) .. (359.6346,72.6265) -- cycle;
\end{tikzpicture}
}
%TeXporter:EndEmojiStressedFace


\begin{document}
\begin{center}
\begin{longtable}{|c|C{3cm}|}
\caption{Available Emojis}\\
\hline
\textbf{Name} & \textbf{Emoji} \\
\hline
\endfirsthead
\multicolumn{2}{c}%
{\tablename\ \thetable\ -- \textit{Continued from previous page}} \\
\hline
\textbf{Name} & \textbf{Emoji} \\
\hline
\endhead
\hline \multicolumn{2}{r}{\textit{Continued on next page}} \\
\endfoot
\hline
\endlastfoot
HappyFace & \CreateHappyFace\\\hline
SadFace & \CreateSadFace\\\hline
AngryFace & \CreateAngryFace\\\hline
StressedFace & \CreateStressedFace\\
\end{longtable}
\end{center}
\end{document}
koleygr
  • 20,105
  • This looks very nice! - - So you took the sphere code. How did you get the emojis' codes? - - I have a related problem here where the ball is heart: https://tex.stackexchange.com/q/345303/13173 Can your method applied there? Do you need any other pieces of information there? – Léo Léopold Hertz 준영 Jun 18 '17 at 07:19
  • 1
    The emojis codes created with an extension of inkscape that gives tikz code... But I had to create every element (eye, mouth, teeth) separate and then to add it to my main code (rescale it, color it etc) [the extension of inkscape is not perfect yet... but gives the shape code]... I have seen the problem you say... but I think it needs 3D tikz and I have not the knowledge needed yet... Sorry... – koleygr Jun 18 '17 at 07:30
  • @Koleygr it would be great if you could make this as a package ;) – Raaja_is_at_topanswers.xyz Dec 17 '19 at 05:55
  • 1
    @Raaja ... Actually I am working in 2 3 packages I am going to release in January... (this -but much improved- is one of them)Thanks! – koleygr Dec 17 '19 at 08:03
  • @Koleygr Great nice to know and looking forward to know. – Raaja_is_at_topanswers.xyz Dec 17 '19 at 08:24
16

A dingbats style font? How about James Stirling's smiley faces font:

  1. Sampler selection gratis for noncommercial use
  2. Standard rights commercial, full range for $5

alt text

Charles Stewart
  • 21,014
  • 5
  • 65
  • 121
8

A very good solution is provided by the emoji package (https://www.texlive.info/CTAN/macros/luatex/latex/emoji/emoji-doc.pdf). It should be included with the 2020 release of TeX Live.

In case of an older version it can be installed with tlmgr install emoji (if you get an error regarding checksums, add --verify-repo=none, also you might need to add sudo and specify the path to tlmgr, in my case the full command would be sudo /usr/local/texlive/2020/bin/x86_64-linux/tlmgr install emoji --verify-repo=none)

Usage:

\documentclass[a4paper,12pt]{article}
\usepackage{emoji}

\begin{document} \emoji{check-mark-button} Task solved! \end{document}

The list of available emoji names can be found in the documentation linked above (https://www.texlive.info/CTAN/macros/luatex/latex/emoji/emoji-doc.pdf).

7

I slightly modified emoticons from TeXample.net (a work of Raoul Kessels; http://www.texample.net/tikz/examples/emoticons/) to a form I can use directly:

  • I added black circle (face) to all emoticons.
  • Pupils in look up and look down are slightly bigger.
  • I scaled the emoticons down to 50 %.
  • I created a simple sty file with TeX commands.
  • I manually modified and moved a tail in devilish.

This is the RKsmileys.sty file:

% !TeX root = striz-denik.tex

\RequirePackage{tikz}
\usetikzlibrary{positioning}

\tikzset{face/.style={shape=circle,minimum size=4ex,shading=radial,outer sep=0pt, inner color=white!50!yellow,outer color= yellow!70!orange}}

\newcommand{\emoticon}[2][]{%
\scalebox{.5}{\begin{tikzpicture}
\node[face,#1,draw,thick] (emoticon) {};
%% The eyes are fixed.
\draw[fill=white] (-1ex,0ex) ..controls (-0.5ex,0.2ex)and(0.5ex,0.2ex)..(1ex,0.0ex) ..controls ( 1.5ex,1.5ex)and( 0.2ex,1.7ex)..(0ex,0.4ex) ..controls (-0.2ex,1.7ex)and(-1.5ex,1.5ex)..(-1ex,0ex)--cycle;
#2%
\end{tikzpicture}}%
}

\newcommand{\pupils}{
%% standard pupils
\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}

%\def\zaklad#1{\scalebox{.5}{\begin{tikzpicture}#1\end{tikzpicture}}}

\def\RKsmallsmile{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-0.5ex,-1ex)..controls (-0.25ex,-1.25ex)and(0.25ex,-1.25ex)..(0.5ex,-1ex);
}%\emoticon
}

\def\RKsmile{%
\emoticon{%
\pupils
\draw[thick] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKbigsmile{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-1.5ex,-0.5ex)..controls (-0.7ex,-1.7ex)and(0.7ex,-1.7ex)..(1.5ex,-0.5ex);
}%\emoticon
}

\def\RKsad{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKneutral{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-0.5ex,-1ex)--(0.5ex,-1ex);
}%\emoticon
}

\def\RKconfused{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-1ex,-0.75ex)--(1ex,-1.25ex);
}%\emoticon
}

\def\RKsexy{%
\emoticon{%
\pupils
%% mouth
\draw[very thick,red,line cap=round] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
%% eyelashes
\draw (0.60ex,1.20ex)--(0.60ex,1.60ex)
  (0.85ex,1.25ex)--(0.95ex,1.45ex)
  (1.00ex,1.00ex)--(1.20ex,1.10ex)
  (0.35ex,1.15ex)--(0.25ex,1.35ex)
  (-0.60ex,1.20ex)--(-0.60ex,1.60ex)
  (-0.85ex,1.25ex)--(-0.95ex,1.45ex)
  (-1.00ex,1.00ex)--(-1.20ex,1.10ex)
  (-0.35ex,1.15ex)--(-0.25ex,1.35ex);
}%\emoticon
}

\def\RKangry{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
%% eyebrows
\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);
}%\emoticon
}

\def\RKlookup{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,1.05ex)},rotate= 80] (0,0) ellipse (0.2ex and 0.2ex);
\fill[shift={(-0.5ex,1.05ex)},rotate=100] (0,0) ellipse (0.2ex and 0.2ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKlookdown{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.3ex)},rotate= 80] (0,0) ellipse (0.2ex and 0.2ex);
\fill[shift={(-0.5ex,0.3ex)},rotate=100] (0,0) ellipse (0.2ex and 0.2ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKlookleft{%
\emoticon{%
%% pupils
\fill[shift={( 0.25ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.95ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKlookright{%
\emoticon{%
%% pupils
\fill[shift={( 0.95ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.25ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1.0ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKblush{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-0.5ex,-1ex)..controls (-0.25ex,-1.25ex)and(0.25ex,-1.25ex)..(0.5ex,-1ex);
%% blush
\shade[shading=radial,inner color=white!50!red,outer color= yellow!80!orange] ( 1ex,-0.5ex) circle (0.4ex);
\shade[shading=radial,inner color=white!50!red,outer color= yellow!80!orange] (-1ex,-0.5ex) circle (0.4ex);
}%\emoticon
}

\def\RKalmostcrying{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=105] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate= 75] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls
(-0.5ex,-0.8ex)and(0.5ex,-0.8ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKmartian{%
\emoticon[inner color=white!50!green,outer color=green!70!red]{%
\pupils
%% mouth
\draw[thick] (-1ex,-1ex)..controls
(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKdevilish{%
\raisebox{-0.6ex}[0ex][0ex]{%
\emoticon[inner color=white!50!red,outer color= red!70!red!90!black]{%
\pupils
%% mouth
\draw[thick,line cap=round] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
%% tail
\draw[line width=0.45ex,-stealth,black] (emoticon.330)--++(330:0.01ex)..controls (3ex,-3ex)and(3.5ex,1ex)..(4.25ex,-3ex);
\draw[line width=0.27ex,-stealth,red!90!black] (emoticon.330)--++(330:0.01ex)..controls (3ex,-3ex)and(3.5ex,1ex)..(4.22ex,-2.8ex);
%% horns
\draw[fill] (emoticon.80)..controls ( 0.6ex,2.4ex)..( 1ex,2.5ex)..controls ( 0.8ex,2.3ex)..(emoticon.70);
\draw[fill] (emoticon.100)..controls (-0.6ex,2.4ex)..(-1ex,2.5ex)..controls (-0.8ex,2.3ex)..(emoticon.110); 
\draw[thick] (0,0) circle (2ex);
}%\emoticon
}%\raisebox
}

And this is a snippet with all emoticons (RKsmileys.tex):

%! lualatex
% http://www.texample.net/tikz/examples/emoticons/
\documentclass[a4paper]{article}
\usepackage{RKsmileys}
\pagestyle{empty}
\begin{document}
\RKsmallsmile\ \RKsmile\ \RKbigsmile\ 
\RKsad\ \RKneutral\ \RKconfused\ 
\RKsexy\ \RKangry\par 
\RKlookup\ \RKlookdown\ \RKlookleft\ \RKlookright\ 
\RKblush\ \RKalmostcrying\ 
\RKmartian\ \RKdevilish
\end{document}

An example

Malipivo
  • 13,287
4

There's now a coloremoji package on CTAN. GitHub source: https://github.com/alecjacobson/coloremoji.sty

pratnala
  • 559
  • It's been unmaintained for many years now. Isn't working even after applying the pending pull requests. – shivams Sep 08 '22 at 03:28