arabluatex は多かれ少なかれそれを正しくします。中括弧については、ドキュメントに従って \abraces
を使用する必要があります 、飾り括弧は意図的に Unicode に反映されていません:
\documentclass{article}
\usepackage{arabluatex}
\newfontfamily\arabicfont{Amiri}[Script = Arabic]
\begin{document}
\arb{﴾وَصِيَّةً﴿ مِّنَ ٱللّٰه} \\
\arb{(وَصِيَّةً) مِّنَ ٱللّٰه} \\
\arb{\{وَصِيَّةً\} مِّنَ ٱللّٰه} \\
\arb{\abraces{وَصِيَّة} مِّنَ ٱللّٰه} \\
\arb{[وَصِيَّةً] مِّنَ ٱللّٰه} \\
\arb{<وَصِيَّةً> مِّنَ ٱللٰه}
\end{document}
luahblatex with luaotfload 3.11 も正しく動作します (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}
標準の luatex では失敗します。luaotfload/フォントローダーが双方向ミラーリング機能を無視するため、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}