# Classical/Arabic author giveninits exception

I'm using biblatex-chicago and I have to use giveninits for my thesis style. When it comes to classical Arabic author names, which are composite with lots of "Abu" and "Ibn" (e.g. "Abu Hamid") I would like to override the ugly first name abbreviation,

So I have been trying to fiddle with the \relax hack as suggested elsewhere, but then I start getting an unwanted dot.

If I then use \nopunct, the point goes missing when needed in the bibliography.

I don't mind modifying the database entries. Here is a MWE with another title for comparison. Ideally, the English author should be abbreviated, but not the Arabic. I guess this question also applies to some classical and medieval authors; you wouldn't want to have "L. Vinci" instead of "Leonardo da Vinci", I reckon. Is there a simple way to bypass or override the giveninits option?

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass{book}
\usepackage[notes,backend=biber,giveninits=true]{biblatex-chicago}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{ghazali1999,
title =       "Ihya Ulum al-Din",
author =      "{\relax \Abu Hamid} al-Ghazali",
%  shortauthor =    "al-Ghazali",
date =            "1999",
publisher =       "ITS"
}
@book{john1989,
title =       "English Book",
author =      "Johnny English",
date =            "1989",
publisher =       "Easy"
}
\end{filecontents}

\begin{document}
Some text\footcite{ghazali1999} and some other text\footcite{john1989}
\nocite{*}
\printbibliography
\end{document}


You could locally set giveninits=false for Arabic names. We only need to define giveninits as an entry option for this to work.

\documentclass{book}
\usepackage[notes,backend=biber,giveninits=true]{biblatex-chicago}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{ghazali1999,
title =       "Ihya Ulum al-Din",
author =      "Abu Hamid al-Ghazali",
options = {giveninits=false},
%  shortauthor =    "al-Ghazali",
date =            "1999",
publisher =       "ITS"
}
@book{john1989,
title =       "English Book",
author =      "Johnny English",
date =            "1989",
publisher =       "Easy"
}
\end{filecontents}

\DeclareEntryOption[boolean]{giveninits}[true]{%
\settoggle{abx@bool@giveninits}{#1}}

\begin{document}
Some text\footcite{ghazali1999} and some other text\footcite{john1989}
\nocite{*}
\printbibliography
\end{document}


It might be nice if this option was available by default, but there are a few details to sort out first. See https://github.com/plk/biblatex/issues/760

With the answer as posted here the uniquename still only considers the initials even of entries with giveninits=false and so may give unexpected results.