2016-12-15 5 views
0

와 글꼴을 등록 취소 ... 나는 그런 글꼴을 제거하려고하면 NSIS

Section "un.Uninstall" 
    StrCpy $FONT_DIR $FONTS 
    !insertmacro RemoveTTFFont "$FONTS\Vani.ttf" 
    !insertmacro RemoveTTFFont "$FONTS\Vanib.ttf" 
    SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=5000 
SectionEnd 

다음과 같은 오류 메시지가 얻을 I :는 뭔가 잘못 즉

Error in macro GetFileNameCall on macroline 2 
Error in macro RemoveTTFFont on macroline 9 
(...) aborting process 

을있다

!ifmacrondef GetFileNameCall 
    !macro GetFileNameCall _PATHSTRING _RESULT 
     Push `${_PATHSTRING}` 
     Call GetFileName 
     Pop ${_RESULT} 
    !macroend 
!endif 

!ifndef GetFileName 
    !define GetFileName `!insertmacro GetFileNameCall`  
    Function GetFileName 
     Exch $0 
     Push $1 
     Push $2  
     StrCpy $2 $0 1 -1 
     StrCmp $2 '\' 0 +3 
     StrCpy $0 $0 -1 
     goto -3  
     StrCpy $1 0 
     IntOp $1 $1 - 1 
     StrCpy $2 $0 1 $1 
     StrCmp $2 '' end 
     StrCmp $2 '\' 0 -3 
     IntOp $1 $1 + 1 
     StrCpy $0 $0 '' $1  
     end: 
     Pop $2 
     Pop $1 
     Exch $0 
    FunctionEnd 
!endif 

누군가가, 경우 적어도, 어떻게 버그를 수정하는 나에게 말할 수 없다 다음 FontReg.nsh 파일에서 다음 섹션 올바른 방향으로 나를 가리켜 주시겠습니까? 많은 사람들이이 문제를 가지고있는 것처럼 커뮤니티에 유용 할 것입니다. 그러나 아무도 아직 여기에서와 같이 해결하지 못했습니다. - http://forums.winamp.com/showthread.php?t=245701

+1

[이] (http://nsis.sourceforge.net/Register_Fonts) 또는 [that] (http://nsis.sourceforge.net/Advanced_Font_Installation)을 사용하여 글꼴을 설치/제거하고 있습니까? 후자는 금년에 해결 된 한 가지 문제 ("컴파일러 오류 제거 문제 해결"시도)가있는 최근 매크로입니다. – idleberg

답변

0

불행히도 어떤 답변도받지 못했지만, 많은 사람들이 같은 문제를 겪고있는 것을 보았 기 때문에.

"RemoveTTF", "RemoveTTFFont"및 비슷한 파일 인 FontReg.nsh, FontRegAdv.nsh와 같은 글꼴을 제거하는 매크로 버그가 있습니다. 이들 모두는 "GetFileNameCall"이라는 동일한 함수를 사용하여 오류를 발생시킵니다. 이 함수의 문제점은과 같은 "FontName"과 "FontFileName"이 인 것을 볼 수 있습니다! 실제로 글꼴 파일 이름은 글꼴 이름과 다릅니다. FontRegAdv.nsh에서 필요한 코드를 복사하고 FontFileName 및 FontName 변수를 실제 글꼴 파일 이름 및 글꼴 이름으로 대체하여 문제를 해결했습니다.

+0

사용중인 위키에있는 두 개의 글꼴 헤더 중 어떤 것을 말하지 않았기 때문에 답변을받지 못했습니다. 작년에 위키 페이지 중 하나를 이미 수정 했습니까? – Anders