Regarding LaTeX packages, there is arabtex
. This is an older package, which can use ASCII input to produce some very nice typeset Arabic. Apparently, it also accepts UTF-8 input but I don't know how to work that. Although it has nice functionality, such as good typesetting and the ability to toggle between Arabic and transliteration and so on, I find it difficult to use, at least when supplying ASCII input.
\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper}
\usepackage{amsmath}
\usepackage{arabtex}
\begin{document}
\begin{RLtext}\novocalize
\setnashbf yqUl al'albAnI fI mqdmT .sfT al.slAT\setnash: \lq lmA kAn
mU.dU` alktAb 'inmA hU byAn hdI alnbI .s"al_A al-lh `l"ayh waslm fI
al.slAT; kAn mn albdhI 'an lA 'atqId fIh bm_dhb m`In; lalsbab al_dI
mrr"a _dkr"um, wa-'inhA '"uwrd fIh mA _tbt `nh .s"al_A al-lh `l"ayh
waslm - kmA hU m_dhb alm.hdd"i_tIn qdIm"aN w.hdI_t"aN - . wl_dlk
fa-'in alktAb sIkUn - 'in ^sA' alalh ta`AlY"_a - jAm`"aN l^stAt mA
tfrq fI b.tUn ktb al.hdI_t wAlfqh - `AlY"_a a_htlAf alm_dahb mamA lh
`lAqT bmU.dU`h - , \setnashbf bInmA lA yjm` mA fIh mn al.hq 'ayy"u ktAb 'aw
m_dhb, wsIkUn al`Aml bh - 'in ^sA' alalh - mamn qd hdAh alalh
\setnash (\fullvocalize limA i_htalafUA fIhi mina al-.haqqi
bi-'i_dnihi' wa-al-ll_ahu yahdiY" man" ya_ta--'A'u 'ilaY_a
.sir_a.tiN mmustaqImiN) \novocalize [albqrT: 213] \rq
\end{RLtext}
\end{document}

To be completely honest with you, I think this properly belongs to the days before XeTeX.
It does produce very nice Arabic with a wide variety of ligatures and you do have a lot of control over the output (through various non-obvious means which may require some tracking down in the manual and may not be at all user-friendly), it doesn't seem to be capable of everything you want, such as the ﷺ ligature.
Instead, as others have said, I think you are just better off selecting a different font that's more suited. The font in your image looks like it's probably Scheherazade. It's easily available, you could start by trying that.
arabtex
, which is an old, ASCII input package, which does typeset arabic quite nicely, and I think would give a similar effect to the one you would like, but it's old technology, very cumbersome and inelegant to use. I think you are just better off selecting a different font that's more suited. Indeed, the main point aboutarabtex
is the font it uses anyway, so ...