Get locale font name of a TTF file
I have tried the FontName plugin, but the name it got is not what I want. It got the English name of the font. If I copy a ttf file to the Fonts folder, first I will see the Chinese name of the font in Fonts of Control Pannel, and also in the registry key "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" I can find that the Chinese name, such as "微软雅黑 (TrueType)", of the font. But when using the FontName plugin I will only got the name "Microsoft Yahei".
If I inst the ttf file to fonts directory, I just need to copy the ttf file to there and using:
It is a easy way and the value in registry is correct. But if I want to inst it to my directory, I must use:SetOutPath $FONTS
.TTF
File MSYH
System::Call "GDI32::AddFontResource(t) i ('MSYH.TTF') .s"
When there are a large number of fonts to install to custom directory, I must write each font name to registry but not using the FontName plugin, as the reason above. After searching by google, I founder that a function GetTextFaceA. But I don't know how to use it to get the name of a font. Please help me.SetOutPath $INSTDIRTrueType
.TTF
File MSYH
WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\Fonts" "微软雅黑 (TrueType)" "$INSTDIR\TrueType\MSYH.TTF"
System::Call "GDI32::AddFontResource(t) i ('$INSTDIR\TrueType\MSYH.TTF') .s"