저는 최근 Windows CE 6.0(C# Compact-Framework v2.0 및 AddFontResource를 사용하여 개발)에서 글꼴 파일을 가지고 놀고 있었습니다. "Angsana New"(태국어용)를 추가한 후 로드한 Angsana.ttf 파일을 삭제할 수 없다는 것을 알게 되었습니다! 나는 다음을 포함하여 내가 생각할 수 있는 모든 것을 시도했습니다.
* Re-running my program and using RemoveFontResource
* Changing to another language that uses an in-built font or another I supply
* Renamed the file (which is allowed, why?
* Manually checking the registry to see if "Angsana" is referenced anywhere
* Power down the mobile device and back up again
* Loaded the Windows CE command prompt and used the command:
del /f Angsana.ttf
흥미롭게도 "Angsana.ttf"에서 "Angsana_2.ttf"로 자유롭게 글꼴 이름을 바꿀 수 있지만 삭제되지는 않습니다. 더 흥미로운 점은 Angsana.ttf를 복사하면("Angsana.ttf 복사본"을 만들기 위해) 복사본도 삭제할 수 없다는 것입니다! 이는 파일(및 그 복사본)을 잠그는 일부 속성이나 시스템 프로세스가 있다는 강력한 힌트입니다. 하지만 무엇을 해야 할까요?
Explorer의 오류 메시지는 다음과 같습니다.
"Cannot delete 'Angsana.ttf': There has been a sharing violation. The source or destination may be in use."
명령 프롬프트에서 오류는 간단합니다.
"Cannot remove Angsana.ttf"
도대체 무슨 일이 일어나고 있는 걸까요??
업데이트: "Angsana.ttf" 파일은 "Fonts" 폴더에 있습니다. "Fonts"와 동일한 수준에 "Fred"라는 새 폴더를 생성하면 TTF 파일을 잘라내어 새 폴더에 붙여넣을 수 있습니다. 이제 포함된 TTF 파일을 포함하여 새 폴더 "Fred"를 삭제할 수 있습니다(또는 실패할 경우 전원을 껐다 켜면 전체 폴더가 삭제됩니다)!
내 모바일 장치가 부팅 중에 Fonts 폴더에 일종의 "잠금"(올바른 용어입니까?)을 설정하는 것 같습니다.