您当前的位置: 首页 > 

修改JDK的经历:两处字体的粗体代码引起的错误

柳鲲鹏 发布时间:2022-03-28 11:09:53 ,浏览量:0

  上周通知同事:更新泰山JDK8(u323-420),艺术字粗体问题不需要专门判断,新增代码可删除。这是怎么回事呢?

  某日同事找吾,说艺术字的粗体出问题了,就是没效果。吾当时就愣了:泰山JDK8在修改粗体的时候,吾反复确认过几次,确保兼容原来的粗体方式,怎么现在粗体出问题了?当时大脑飞快的思考哪里出错,并进行了验证,发现是权重不同导致的。于是增加了一个参数,区别是不是艺术字。

  合并OpenJDK8-u322的时候,吾仔细看了freetypeScaler.cpp的代码,发现原来的代码中存在两处粗体斜体处理。吾只修改了其中一处,艺术字时走的另外一处,所以出错了。

  原因找到了,怎么解决呢?一般人都是把修改的部分再复制一遍。这是六石编程学极力反对的。正确做法是:

  • 新建一个处理粗体斜体的函数,复制正确的代码
  • 删除两处处理粗体斜体的代码,改为调用新增函数
关注
打赏
1688896170
查看更多评论

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4641博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1335s