Japt, 16 bytes
;C¬£SpY/2 +CsYÃw ·
###Explanation: ;C¬£SpY/2 +CsYÃw · ;C // Alphabet shortcut ¬ // Split into an array of chars £ à // Map each item X and index Y by: SpY/2 // " " repeated floor(Y/2) times +CsY // + alphabet.slice(Y) w // Reverse the array of lines · // Join with newlines
Explanation:
;C¬£SpY/2 +CsYÃw ·
;C // Alphabet shortcut
¬ // Split into an array of chars
£ Ã // Map each item X and index Y by:
SpY/2 // " " repeated floor(Y/2) times
+CsY // + alphabet.slice(Y)
w // Reverse the array of lines
· // Join with newlines