Thanks for your feedback. In reference to new font substitution mechanism, it overrides DefaultfontName. Please check following notes in Font availability and substitution documentation section.
"Note that now font substitution mechanism will override the FontSettings.DefaultFontName in cases when FontInfo for the missing font is available in the document. FontSettings.DefaultFontName will be used only in cases when there are no FontInfo for the missing font.
Note that the fonts which are set by SetFontSubstutites/AddFontSubstitutes methods are checked after the step #2. So if font is not present in the system but the substitute is found, the font is still considered as properly resolved. In this case, steps #3 to #5 are not performed."_
However for further investigation of the issue please confirm you mean you are copying fonts from same system(D:/Windows/Fonts) to new font folder or from some other system? and when you use that font folder then API uses which font for SVG rendering? Please also share both SVG output documents, generated using system default font folder and custom font folder. It will help us to investigate the issue.
Currently you can define font substitution manually using SetFontSubstitutes method and AddFontSubstitutes method. However, we have logged an enhancement request WORDSNET-15725 for your requirement to add font substitution dynamically on basis of IWarningCallback. We will keep you updated about the issue resolution progress within this forum thread.