Code Golf: Letter-Ception
JavaScript (ES8), 281 bytes

Takes input as (letter)(N). Returns a string.

c=&gt;n=&gt;(g=y=&gt;y--?''.padEnd(w).replace(/./g,(_,x)=&gt;(h=d=&gt;~~(d/=5)?(P=parseInt)('hhvhefhfhfu111ufhhhfv1f1v11f1vehp1ehhvhhv444vehgggh979hv1111hhlrhhpljhehhhe11fhfuphheh9fhffge1u4444vehhhh4ahhhalhhhha4ah444ahv248v'[y/d%5+5*P(c,36)-50|0],36)&gt;&gt;x/d%5&amp;1?h(d):' ':c)(w))+`
`+g(y):'')(w=5**n)


Try it online!

How?

Font encoding

The letters are \$5\times5\$, which means that each row can be encoded as a 5-digit binary value, i.e. \$0\$ to \$31\$ in decimal. These values can conveniently be stored as a single digit in Base36.

The pattern that is stored is mirrored both horizontally and vertically.

Example for 'F':

#####     ....#     00001      1     '1'
#....     ....#     00001      1     '1'
####. --&gt; .#### --&gt; 01111 --&gt; 15 --&gt; 'f' --&gt; '11f1v'
#....     ....#     00001      1     '1'
#....     #####     11111     31     'v'


The whole font is stored as a single string of \$26\times5 = 130\$ characters.

To test the 'pixel' at \$(x,y)\$ for the \$n^{\text{th}}\$ letter, we do:

parseInt('hhvhefhfh...'[y + 5 * n], 36) &gt;&gt; x &amp; 1


Main algorithm

Given \$n\$, we define \$w=5^n\$, which is the width of the final output.

For \$0\le x&lt;w\$ and \$0\le y&lt;w\$, we want to know if the output pixel at \$(x,y)\$ is set or not. We use the recursive function \$h\$, which tests the letter pixel located at:

$$\left(\left\lfloor\frac{x}{5^k}\right\rfloor\bmod 5,\left\lfloor\frac{y}{5^k}\right\rfloor\bmod 5\right)$$

for all \$k\$ in \$[0 \dots n-1]\$.

The function returns a space as soon as a blank pixel is detected at some depth, or the character corresponding to the input letter if all iterations are successful.