1. I've never seen Arial Narrow installed in a subfolder. I've checked a lot of machines here, and even downloaded a microsoft prebuilt VM, and in all of them it is in c:\Windows\Fonts.
But I've seen that the Windows explorer can be misleading. Maybe this is the reason?
This is how it shows in my machine:
As you can see in (1) explorer indeed shows the path as c:\Windows\Fonts\Arial, as if it was a folder. But if you right click the font and look at the properties, it should show it is at c:\Windows\Fonts (2)
Also if you check from a command line here, there is indeed no "Arial" folder at all in c:\Windows\Fonts.
So I wonder if this could be what you saw, or do you have a physical real "Arial" folder inside Windows\Fonts?
2. But the worse thing is, that even if it is inside a subfolder, it shouldn't matter. FlexCel searches in Windows\Fonts and all subfolders too. Again, just to be completely sure I rechecked it here, and even if I put the fonts in a subfolder. FlexCel will find it. So this can't be the cause.
I also checked git, and searching in subfolders was added in February 2017.You are using an older FlexCel version (6.21), but 6.21 is from 2018, so it should already search inside subfolders. But in any case, it might make sense to recheck it is 6.21 and not something older, or try with FlexCel 7 just to be sure.
3. if you set the GetFontFolder event to be C\Windows\Fonts\Arial, then FlexCel won't find all fonts at c:\Windows\Fonts. You can return multiple paths in the GetFontFolder event, separating them with semicolons. So you could return:
But again, this wouldn't make a difference, because if you just set c:\Windows\Fonts FlexCel will search in c:\Windows\Fonts\Arial anyway. And you don't need a GetFontFolder event to set the folder to be c:\Windows\Fonts since that's the default if you don't set an event.