arabluatex acierta más o menos. Para llaves, según la documentación, debe usar \abraces
, los paréntesis ornamentales son intencionales y no se reflejan en Unicode:
\documentclass{article}
\usepackage{arabluatex}
\newfontfamily\arabicfont{Amiri}[Script = Arabic]
\begin{document}
\arb{﴾وَصِيَّةً﴿ مِّنَ ٱللّٰه} \\
\arb{(وَصِيَّةً) مِّنَ ٱللّٰه} \\
\arb{\{وَصِيَّةً\} مِّنَ ٱللّٰه} \\
\arb{\abraces{وَصِيَّة} مِّنَ ٱللّٰه} \\
\arb{[وَصِيَّةً] مِّنَ ٱللّٰه} \\
\arb{<وَصِيَّةً> مِّنَ ٱللٰه}
\end{document}
luahblatex con luaotfload 3.11 también lo hace bien (nuevamente con la excepción de los paréntesis ornamentales, que son intencionales y no se reflejan en Unicode):
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\arabicfont{Amiri}[Script = Arabic,Renderer=Harfbuzz]
\newcommand{\textarabic}[1]{\bgroup\textdir TRT\arabicfont #1\egroup}
\begin{document}
\textarabic{﴾وَصِيَّةً﴿ مِّنَ ٱللّٰه} \\
\textarabic{(وَصِيَّةً) مِّنَ ٱللّٰه} \\
\textarabic{\{وَصِيَّةً\} مِّنَ ٱللّٰه} \\
\textarabic{[وَصِيَّةً] مِّنَ ٱللّٰه} \\
\textarabic{<وَصِيَّةً> مِّنَ ٱللٰه}
\end{document}
con luatex estándar falla, también porque luaotfload/el cargador de fuentes ignora la función bidi-mirrored, consulte https://github.com/u-fischer/luaotfload/issues/61
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\arabicfont{Amiri}[Script = Arabic]
\newcommand{\textarabic}[1]{\bgroup\textdir TRT\arabicfont #1\egroup}
\begin{document}
\textarabic{﴾وَصِيَّةً﴿ مِّنَ ٱللّٰه} \\
\textarabic{(وَصِيَّةً) مِّنَ ٱللّٰه} \\
\textarabic{\{وَصِيَّةً\} مِّنَ ٱللّٰه} \\
\textarabic{[وَصِيَّةً] مِّنَ ٱللّٰه} \\
\textarabic{<وَصِيَّةً> مِّنَ ٱللٰه}
\end{document}