RemoveFontResourceA 함수(wingdi.h)
RemoveFontResource 함수는 시스템 글꼴 테이블에서 지정된 파일의 글꼴을 제거합니다.
AddFontResourceEx 함수를 사용하여 글꼴을 추가한 경우 RemoveFontResourceEx 함수를 사용해야 합니다.
구문
BOOL RemoveFontResourceA(
[in] LPCSTR lpFileName
);
매개 변수
[in] lpFileName
글꼴 리소스 파일의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다.
설명
앱이 시스템 글꼴 테이블에서 글꼴을 추가하거나 제거하는 경우 시스템의 모든 최상위 창에 WM_FONTCHANGE 메시지를 보내 변경 내용의 다른 창을 알리는 것이 좋습니다. 앱은 hwnd 매개 변수가 HWND_BROADCAST 설정된 SendMessage 함수를 호출하여 이 메시지를 보냅니다.
글꼴에 대한 미해결 참조가 있는 경우 디바이스 컨텍스트에서 사용할 때까지 연결된 리소스가 로드된 상태로 유지됩니다. 또한 글꼴 레지스트리(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts)에 글꼴이 나열되고 %windir%\fonts\ 폴더 이외의 위치에 설치된 경우 다른 활성 세션(세션 0 포함)에 로드될 수 있습니다.
글꼴이 포함된 기존 글꼴 파일을 미해결 참조로 바꾸려면 RemoveFontResource를 호출한 후에도 사용 중이므로 원래 글꼴을 삭제할 수 없다는 오류가 발생할 수 있습니다. 앱에서 글꼴 파일을 교체해야 하는 경우 원래 글꼴의 리소스 수를 0으로 줄이려면 이 예제 코드와 같이 루프에서 RemoveFontResource 를 호출합니다. 오류가 계속 발생하면 글꼴 파일이 다른 세션에서 로드된 상태로 유지됨을 나타냅니다. 글꼴 레지스트리에 글꼴이 나열되지 않았는지 확인하고 시스템을 다시 시작하여 모든 세션에서 글꼴이 언로드되었는지 확인합니다.
int i = 0;
while( RemoveFontResource( FontFile ) )
{
i++;
}
// TODO: Replace font file
while( i-- )
{
AddFontResource( FontFile );
}
참고
wingdi.h 헤더는 REMOVEFontResource를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | Gdi32.lib |
DLL | Gdi32.dll |