iOS 17 与 macOS 14 的所谓标点挤压其实就是个自以为是的 Bug 。
(利益相关:威注音输入法主程式师。)
中文用户看到标点挤压,但这只是片面现象而已。问题的实质是 NSAttributeString 的 .kern
的预设值不再是 0 。
不信你可以看看你的中文输入法里面,看看是不是再也看不出哪些是全形标点、哪些是半形标点了。
这会牵涉到任何依赖 NSAttributeString 做面积计算的应用场合,真的要把很多依赖这种方式的 Cocoa 前端业者给害死。
我特么现在得一个一个给 NSAttributeString 设定 .kern = 0 。这多加的工时都是成本。Feedback Report 那边提报的工单已经显示有超过十个重复案例,看来被骂得不轻。
1
ShikiSuen OP 另:刚刚根据梁海的消息,这确实是 Apple 故意设计的标点挤压行为。但实作方式不太妥当。目前有非 Apple 的业内专员们在与 Apple 沟通这些内容,详情我就不知道了。
咱们这些 dev 要做的也只能是给这些「草率的行为改变」擦屁股。 |
2
ShikiSuen OP 我也不知道 Apple 那边的设计师怎么想的,但这次这种 destructive behaviorial change 理应安排一套新的 constructor ,而不是改变原有的 constructor 的行为。而且,这种变动,应该写在 release notes 与 documentation 当中。
|
3
27hh 219 天前
@ShikiSuen 这个变动人家还真就写了…… https://www.apple.com/ios/ios-17/pdf/iOS_All_New_Features.pdf 第 15 页左上角😂
|
5
fluffyfoxxo 219 天前
两年前 iOS 15 beta 就有这样的标点挤压,当时还以为是 Bug ,正式版修改掉了,没想到现在卷土重来了……
当时的视频: https://share.cleanshot.com/YV7WcjWW |