Atom / VS Code 在不重新编译的情况下启用 MacType

2015-07-29 16:50:26 +08:00
 plqws

参考/翻译/扩展
原文地址: http://www.jianshu.com/p/7432489e0d3b

  很多使用 Atom / Visual Studio Code 的朋友会发现 MacType 无法正常地渲染,其原因和 Chrome 37+ 失去渲染功能一样,是因为 Chromium 默认开启了 DirectWrite 字体渲染功能,所以就造成了 MacType 失效的后果。
  通过谷歌参阅了很多资料,Github 上全都是推荐用开启 CSS3 抗锯齿的方法,但是我尝试后效果并不明显。还有一种办法就是 Clone 一份源码主动修改 Flags 的设置,然后重新编译,我觉得太麻烦就先不考虑这种做法了。返回搜索结果,有一篇日语的搜索结果吸引了我的注意:

原文如下:(地址 http://silight.hatenablog.jp/entry/2015/07/02/001518)

2015年6月26日に1.0.0が公開されたAtom Editorですが、WindowsではDirectWriteがデフォルトで有効になっており、MacTypeなどのgdi++系ソフトとの相性が良くありません。

一応DirectWriteを無効にする方法があるのでここに書いておきます。

Atom Editorは終了しておきます。
「app.asar」をバイナリエディタ(Stirlingがオススメ)で開きます。
場所はC:\Users\(ユーザー名)\AppData\Local\atom\app-1.0.0\resources\app.asar
「'direct-write': true,」で検索し、「'direct-write':false,」に書き換えます。
trueの前の半角スペースは無くてもいいので、半角スペース+trueをfalseに書き換えます。
残念なことに、app.asarファイルはバージョンアップで更新されるので、バージョンアップの度に毎回やらなければいけません。

一応Atom Editorのソースコードを(Electronも含めて)読みましたが、現時点ではこれ以外に方法は無さそうです。

翻译后,大概是这样的流程(Atom 的解决方案):

之后就可以启动 Atom,会发现 MacType 已经生效了。

然而 Visual Studio Code 就更简单了,连 16进制编辑器 都不用了!

'web-preferences': {
    'direct-write': false
}

修改后这个变量的效果就像这样子(缩进重新排的 /ω\):

var options = {
    width: this.windowState.width,
    height: this.windowState.height,
    x: typeof this.windowState.x === 'number' ? this.windowState.x : undefined,
    y: typeof this.windowState.x === 'number' ? this.windowState.y : undefined,
    'min-width': 200,
    'min-height': 80,
    show: showDirectly,
    title: env.appNameLong,
    'web-preferences': {
        'direct-write': false
    }
};

然后保存退出,启动 Visual Studio Code,MacType 可以正常渲染了!

原文地址: http://www.jianshu.com/p/7432489e0d3b

3592 次点击
所在节点    Windows
5 条回复
zerh925
2015-07-29 23:13:47 +08:00
好怀念。。。
初中在极限(themex.net)就跟着mayi从GDI++开始折腾windows下如何使用LiHei Pro。
当年梦想就是有一台MacBook
现在少了好多当年那种折腾劲了
ayanamist9
2015-08-09 07:35:16 +08:00
谢谢,MacType真是Win下的神器。
leeyuzhe
2015-10-13 10:19:48 +08:00
终于让我找到了!
bluefalconjun
2015-11-20 16:11:35 +08:00
Nice!!!
测试 atom 1.20 版本有效.

另外直接使用 vim 编辑的话 app.asar 文件还是比较清晰的.改起来比较方便.
wanaiqing
2021-02-25 18:07:05 +08:00
请问现在的版本有没有解决方案?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/209293

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX