To reach the French Open final, Novak Djokovic could face two-time Roland Garros runner-up Casper Ruud, Brazil's Joao Fonseca and Alexander Zverev.