我最近在 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 文件剪切并粘贴到新文件夹中。现在可以删除新文件夹“Fred”,包括其中包含的 TTF 文件(或者如果失败,电源循环允许删除整个文件夹)!
似乎我的移动设备在启动时在字体文件夹上放置了某种“锁”(这是正确的术语吗?)。