getLocalGraphicsEnvironment() 不能获取某些字体的问题
问题现象:在Windows10下,用OmegaT翻译时,新安装的字体无法在“首选项”窗口中显示出来

搜了半天也没搜到解决方案,只能下载OmegaT的源码分析,一路找到这个东西:

查文档得知,getLocalGraphicsEnvironment() 是Java Platform SE 7开始引入的API,作用是获取系统中安装的字体列表。
所以现在的问题就变成了这个API为什么没能获得所有的字体?
这回再搜,答案很快就找到了:
Java can't see all installed fonts in system - Stack Overflow
简单来说就是Windows在安装字体的时候,缺省是安装给当前用户使用, 但这样就是getLocalGraphicsEnvironment()拿不到的。 必须以“给所有用户安装”的方式,才能被getLocalGraphicsEnvironment()拿到:

想找比尔盖茨赔钱。
丁丁虫的最新日记 · · · · · · ( 全部 )
- 转发赠书《红拂夜奔》 (23人喜欢)
- 转发赠书《世上最美的溺水者》 (99人喜欢)
- 转发赠书《离散》 (117人喜欢)
- 转发赠书《还能做家人吗?》 (95人喜欢)
- 转发赠书《缝纫机与金鱼》 (105人喜欢)
热门话题 · · · · · · ( 去话题广场 )
-
加载中...