Recentemente, estive brincando com arquivos de fontes no Windows CE 6.0 (desenvolvendo usando C# Compact-Framework v2.0 e AddFontResource). Depois de adicionar "Angsana New" (para tailandês), descobri que o arquivo Angsana.ttf que carreguei não pode ser excluído! Eu tentei tudo que posso pensar, incluindo:
* 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
Curiosamente, posso renomear o arquivo de fonte livremente de "Angsana.ttf" para "Angsana_2.ttf"... mas ainda assim não o excluo. Mais interessante ainda é que se eu copiar Angsana.ttf (para criar "Cópia de Angsana.ttf") a cópia também não poderá ser excluída! Este é um forte indício de que há algum atributo ou processo do sistema bloqueando o arquivo (e suas cópias)... mas o quê?
A mensagem de erro do Explorer é:
"Cannot delete 'Angsana.ttf': There has been a sharing violation. The source or destination may be in use."
No prompt de comando, o erro é simplesmente:
"Cannot remove Angsana.ttf"
Que diabos está acontecendo??
ATUALIZAÇÃO: O arquivo "Angsana.ttf" está em uma pasta chamada "Fontes". Se eu criar uma nova pasta chamada "Fred" no mesmo nível de "Fontes", posso recortar e colar o arquivo TTF na nova pasta. Agora a nova pasta "Fred" pode ser excluída incluindo o arquivo TTF que ela contém (ou se isso falhar, um ciclo de energia permite que a pasta inteira seja excluída)!
Parece que meu dispositivo móvel está colocando algum tipo de "bloqueio" (essa é a terminologia correta?) Na pasta Fontes durante a inicialização.