Скорее всего, из речи средневековых переписчиков книг
Приведенное выражение возникло в эпоху Средневековья, поскольку точка над буквой «i» появляется в западноевропейских манускриптах не ранее XI века. В древнеримских письменных памятниках эта буква представляет собой просто вертикальную черту.
С некоторых пор средневековые писцы начали связывать буквы в словах. При этом штрих, которым передавалась буква «i», часто зрительно сливался с другими. Чтобы четче отделить «i» от соседних символов, сделать букву более зримой, над ней стали ставить точку. К тому же при использовании курсива слово часто пишется без отрыва пера от бумаги, и точка над «i» ставится уже после того, как слово написано целиком. То есть расстановкой точек завершается работа над текстом.
Выражение «расставить точки над i» означает: уточнить, внеся полную ясность, довести до конца. Эта идиома из французского языка проникла в русский, поскольку в старой русской орфографии тоже применялась буква «i». В западноевропейских языках эту поговорку иногда продолжают: «…и перечеркнуть t», — однако вторая часть идиомы у нас не прижилась за отсутствием буквы t даже в дореволюционном русском алфавите.