用例,在Firefox(或很快,其他浏览器)WebExtension中,我想向用户呈现一种自定义界面部分使用的字体的方法。我想使用浏览器已经知道的字体,它们是安装在1)系统上,还是2)在浏览器“字体缓存”中(如果存在这样的东西 - 例如当使用CSS @font-face
时,{{ 1}}查找本地缓存的字体副本,或在系统或其他东西上查找。
在Firefox中 - >选项 - >内容 - >字体&颜色,Firefox在我的系统上找到的下拉字体选择。如何在WebExtension中使用此列表(以及有关是否为serif,sans或mono或其他系列的元信息)?这似乎是系统上安装的字体列表。
我怎样才能将网络字体存储在某个地方的缓存中(即以前由其他网页下载的网络字体,就像Google Fonts API一样)?
我想使用元信息来过滤字体列表,将单色或serif字体列入白名单。
在有人说之前,“只包括所有字体文件并使用CSS提供它们”,我只是想说虽然技术上可行而且微不足道,但它并非合法可能,因为大多数系统字体都陷入了知识产权使用限制。
在有人回复之前,“好吧,只使用只打开打开字体”,我还想说,虽然我可以制作一些开放字体,但大多数开放字体都很难看,难以辨认,或以其他方式不适合。许多受版权保护的专利商标闭源系统字体已经在系统上,看起来更好,并且因系统而异。因此,我宁愿为特定平台上的人们提供字体选项,让他们熟悉和熟悉。这甚至可能包括外语字体,目前打开的字体严重缺乏。
在有人建议之前,“好好用自己的多语言打开字体!!”,我想说我已经有了FontForge,为一种语言创建字体并不是一件轻而易举的事,更不用说它们(即使我知道所有语言以及每种语言中构成一个有吸引力的字体),虽然我已经破解了一些图标字体,所以我在技术上知道如何去做,有点像。