我知道如何使用Delphi注册+通知和取消注册+通知字体。 但我想知道当我有一个与已经注册的字体具有相似名称的字体时我能做什么(但它是一个不同的版本)。甚至可能在“使用”中。 我可以试试其中一个:
答案 0 :(得分:3)
如果告诉用户他安装了相同字体的旧版本,需要安装新版本,以便他可以体验新的字形。
您甚至可以在程序的安装程序中执行此操作;这就是安装程序的用途:人们希望在运行安装程序时改变/改进:)
编辑:
如果您没有安装程序,请向用户说明他有两个选项:
答案 1 :(得分:2)
为了自己的目的而改变整个系统设置的应用程序,即使是临时的,通常也会以负面的方式进行查看。
假设您删除字体,然后将其更改为您的字体,然后程序在原始文件恢复之前结束/崩溃。
听起来您想要使用已使用名称的应用程序的变体字体 可以在系统上找到。
我个人会将新字体的名称更改为足够独特的字体,以免与现有字体冲突。这样您就可以使用您的字体而不会影响其他应用程序。
已更新:
因为您无法更改字体的名称。我会按照Jeroen Pluimers建议询问用户是否希望升级。这不需要在安装程序中完成,可以在启动时从应用程序完成。但是要求用户远比静静地做得好。
答案 2 :(得分:0)
您的观点“1”应该是可能的(仅在本地使用给定的字体),因为Web浏览器会这样做。可以使用@font-face
CSS指令忽略本地安装的字体。但我怀疑这样做是网络浏览器很难:我没有看到CreateFont使用TTF文件的任何方法。我怀疑网络浏览器是通过重新实现整个文本渲染引擎来实现的。这很可能是因为它们通常支持多种类型的字体文件。
如果你确实这样做了,它就无法使用标准的API。您不会在标签上设置Font
属性,并使用给定的“本地”字体自动将其渲染。你肯定不会使用未经修改的应用程序。
不幸的是,正如罗伯特所提到的,这不是你应该做的事情。如果用户碰巧有一个字体带有完全的字体名称,那么是什么让你认为你的字体更好?在这种不太可能的情况下,您应该使用用户拥有的任何内容,并且如果用户安装了错误的字体,则将其归咎于用户。
TWebBrowser
并使用CSS
设置样式,以使用您的本地替代字体。