I don't mean to ask about or promote any particular sort algorithm. Rather, I'm discussing the transformation of a name into a "sort string," which will then be sorted (the algorithm you mention being a fine choice for this) after said transformation. Given discrete first/last fields, the transformation I mentioned works well for my purposes, but if I didn't have those particular discrete fields (instead having full/short fields) then it would be quite difficult, likely needing the user to weigh in, which I think is an atypical UX.