OneFont for OneNote防止字体切换工具

恭喜你发现了宝藏!本文是防止OneNote自动切换字体迄今为止唯一完美的解决方案,如有雷同,纯属抄袭。

众所周知,OneNote在切换中英文输入时,会在微软雅黑和Calibri反复横跳,该bug(feature)据说从Office 2003开始至今存在了近20年未能修复,逼死了一大批强迫症患者。

有言道,如果觉得国家不好,就去考公务员建设她;如果觉得OneNote不好,就向微软提交BUG或者加入微软修复它;如果不愿意加入微软或者加入了却干不过负责Office的阿三产品经理……[Emm]

没关系,真正的共产主义接班人敢于在没有发动机源代码的情况下,熟练运用逆向工程修(爆)复(破)掉任何程序。

使用方法:启动OneFont.exe使之在后台运行,程序会检测到OneNote的启动,并将其调教为不会自动切换字体。OneNote设置中需设置为包含英文的中文字体(例如宋体、微软雅黑),不要设置为纯英文字体。

工具仅支持运行在64位系统上,在作者电脑64位Win10下的64位UWP版本和32位OneNote 2016桌面版本测试通过。

2020-7-25 update:

修复某些系统设置下对OneNote桌面版无效的问题(例如英文版win10+中文语言包的case)
感谢@Yang瓮党 同学的测试

2020-4-25 update:

添加支持64位OneNote 2016桌面版,之前64位2016桌面版运行无效的同学重新下载即可
感谢@吴学阳 同学的测试

TIPS:

  1. 开始那个MessageBox点确定后才会开始工作哦
  2. OneNote的全局设置里务必一定要设置为“微软雅黑”,或者其它同时包含中英文字库的字体,务必一定不能是默认的Calibri,否则输入中文时会跳到雅黑
  3. 安装了搜狗等第三方国产流氓输入法的同学不是非常推荐使用,可能会使情况变得更迷惑(见评论区大佬实验)
  4. 还是有问题且确信自己正确操作的同学,请知乎私信联系我远程协助。

23 Replies to “OneFont for OneNote防止字体切换工具”

    1. 你用ResHacker之类的PE工具自己加个呗(图标比原程序还大.jpg)

  1. Bug Report

    Win10 Onenote2016,使用工具后,先输入中文,再输入数字。所输入数字仍旧跳回Calibri

  2. 十分感谢,这个小工具很好用!请问如何添加/quiet参数,想要每次开机的时候自动启动,但是不太清楚怎么弄,期待回复!

    1. 一种方法:1右键拖动,创建快捷方式2右键属性,目标一栏结尾输入参数3把快捷方式移动到当前用户开始菜单启动的目录里。windows应用知识点可能有点多,百度学习一下会比较好,另外也可以用注册表的方式

  3. 64位桌面OneNote+等线测试成功。希望能加一些程序的参数,比如设置开机运行、不显示MessageBox等。

    1. 快捷方式里改下目标一项即可 “C:\Program Files\OneFont\OneFont.exe” /quiet
      放入启动文件夹里,开始-运行,打开如下目录%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

  4. 目前新版本的office365(microsoft365)安装, 又重新自带了OneNote桌面版(无2016标识),测试同样可生效。 ps: 工具下早了是不支持64桌面的版本,重装了office之后没生效 , 以为是工具的问题, 然后发现了是我的问题, 顺道来码一下, 捞一下其他人。

  5. 不能分开中英文就很烦,比如我先用宋体输入中文,然后切换到英文输入法,上面还显示宋体..

  6. 大佬,是大佬没错了。
    但是这个工具在使用中出现了另一个问题:当用管理员身份启动OneNote后,这个工具就失效了……
    我是win10,64位,2004版本,OneNote2016桌面版也是64位的。

    1. 你用管理员启动的OneNote当然也要用管理员启动外挂程序,我又不是会任意提权的神仙黑客 = =

  7. onenote 2016 mso(16.0.12026.20312) 32位无效
    ————————————————————————
    Try time 9
    New process ONENOTE.EXE
    Found module ONMain.dll
    Module base 6c4b0000 size b8a000
    ReadProcessMemory 6d039000 failed, LastErr=299
    Signature not found

Leave a Reply

Your email address will not be published. Required fields are marked *