OneFont for OneNote防止字体切换工具

知乎相关回答:https://www.zhihu.com/question/30089364/answer/1165021255

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

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

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

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

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

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

(有同学留言说想要个捐助二维码,po主受宠若惊。其实页面右边区域有个链接指向捐助二维码,可能太不起眼了吧。链接是/donate

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. 还是有问题且确信自己正确操作的同学,请知乎私信联系我远程协助。

46 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

  8. 20200911 bug report:alt= 输入公式时,原本在这一状态下输入中文可以输入雅黑字体的,但打开Onefont.exe之后,该状态中文字体锁定为SimSun

    1. 微软设计如此。本工具的原理是强行关闭默认开启的双字体模式,这要求选定的字体必须同时包含中英文字库,但输入公式时指定的Cambria Math仅包含英文,缺少字库只能跳到宋体。

  9. OneNote for Windows 10有没有人出现行距变小的问题?设置的默认宋体,一开始输入时行距可能会变得很小,输入一段时间后正常,但之后又可能出现最后一行文字下半部分消失的问题。重启OneNote后正常。

    1. 是有这种情况,我都是拉一拉滚动条,再不行切换页面

    2. 我这边拉滚动条和切换页面好像没用 🙁 只能重启OneNote

  10. 20201007 OneNote桌面版(365)似乎无效?
    系统是20H1/H2(今天更新的,前后都不生效)
    但商店版(OneNote for Windows10)生效

    1. emmm,我表示快受够桌面版本了,你要是确实一直有需要,可以留个qq号有空远程研究下

    2. 不过看到楼上说旧版本不支持64bit我看看是不是我用的旧版

    3. 对是我的问题!我从旧电脑上拷的备份文件夹一直在用我好蠢

      我这就去打钱(

  11. 发现个问题,如果含有英文数字的字段被设置为标题的话,英文和数字会变回Calibri字体,同时中文的微软雅黑字体变成Microsoft YaHei字体。
    64位家庭版win10
    onenote for windows 版本 16001.13127.20190.0

    1. 我经常用的uwp版本目前没遇到这种情况,另外据我所知正常情况下微软雅黑是不会自己变成Microsoft YaHei的,你是不是搜狗输入法?(搜狗会干扰字体设置,知乎评论里有讨论到)

  12. 经测试,“待办事项”的条目换行后会从微软雅黑变回Calibri,其他情况不会。
    —-
    Win10 家庭中文版
    OneNote 2016 版本 16.0.10338.20019 64位

    1. UWP的待办事项目测没问题(我电脑上没装桌面版。。

  13. 用“ctrl+alt+数字”设置样式的时候还是有问题,UWP和2016都一样。

    精神不好就休息一下吧,想起来了再研究好了。

Leave a Reply

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