A similar question to Change language on a per field basis, but: (1) I use different fonts for Latin and Greek, and (2) I use automatic sentence case for titles.
- Languages of the same font work fine with the
autolang=hyphenpackage option. Different fonts (\greekfontin this case) do not.autolang=other(*) also causes translation of bibliography terms like “in” or “volume”, which I do not want to do. - Not modifying the case gives no problems for ad-hoc
\selectlanguage{greek}for single bib fields. Modifying the case treats the command as the first letter, causing the “actual” title to start lowercase. - Using
\selectlanguagecauses the entry to sort the author as beginning with “greek”, between “Greej” and “Greel”. - If the
authoris printed in changed order (“Smith, J.” ⇒ “J. Smith”), the first name/initial is not affected by\selectlanguage.
I think one possible solution might involve a new version of autolang that only affects certain fields, only affects user-given fields, or excludes internal bibliography strings.
How to set the language for single bibliography entry fields and get it to otherwise behave like regular entries?
MWE:
\documentclass{article}
\usepackage{filecontents,fontspec,polyglossia}
\setmainfont{Latin Modern Mono}
\newfontfamily\greekfont{GFS Didot}[Color=CC0000]
\setmainlanguage{english}
\setotherlanguage{greek}
\usepackage[backend=biber,autolang=hyphen]{biblatex}
\DeclareFieldFormat{titlecase}{\MakeSentenceCase{#1}}
\begin{filecontents}{\jobname.bib}
@other{sortexample1,
author={Greej},
title={Latin alphabet},
langid={english},
}
@other{sortexample2,
author={Greel},
title={Latin alphabet},
langid={english},
}
@article{greekexample,
author={\selectlanguage{greek}Ἀριστοτέλης, Ἀ.},
journal={\selectlanguage{greek}Αὐτῆς},
title={\selectlanguage{greek}Ὑπῆρξε},
year={2000},
volume={5},
langid={greek},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}


biblatex'spolyglossiasupport has some very rough edges: https://tex.stackexchange.com/q/432347/35864 – moewe Jul 31 '18 at 14:17author={\selectlanguage{greek}Ἀριστοτέλης, Ἀ.},you create a person whose family name is\selectlanguage{greek}Ἀριστοτέληςand whose first name isἈ.If you then ask forfamily-givenname order you end up printingἈ. \selectlanguage{greek}Ἀριστοτέλης, so the\selectlanguageonly kicks in for the family name and not for the given name initial. – moewe Jul 31 '18 at 14:24