fkxxyz / rime-cloverpinyin

🍀️四叶草拼音输入方案,做最好用的基于rime开源的简体拼音输入方案!
https://www.fkxxyz.com/d/cloverpinyin/
GNU Lesser General Public License v3.0
1.75k stars 128 forks source link

Windows下部分emoji与特殊符号显示问题 #161

Open TheStarAlight opened 6 months ago

TheStarAlight commented 6 months ago

同 issue #113 的问题,我来把问题描述得更清楚一些。

环境

系统:Windows 10 Pro Workstation 22H2

Weasel:15.0最新版

Clover:1.1.4最新版

weasel.custom.yaml

customization:
  distribution_code_name: Weasel
  distribution_version: 0.15.0.0
  generator: "Weasel::UIStyleSettings"
  modified_time: "Tue Dec 26 16:52:17 2023"
  rime_version: 1.8.5
patch:
  preset_color_schemes:
    mac_light: {back_color: 0xFFFFFF, border_color: 0xF4F4F4, comment_text_color: 0x999999, hilited_back_color: 0xD75A00, hilited_candidate_back_color: 0xD75A00, hilited_candidate_text_color: 0xFFFFFF, hilited_comment_text_color: 0xDDDDDD, hilited_text_color: 0x999999, name: "Mac Light", text_color: 0x424242}
    zhihu: {back_color: 0xFFFFFF, border_color: 0xDFDFDF, candidate_text_color: 0x444444, comment_text_color: 0x444444, hilited_back_color: 0xFFFFFF, hilited_candidate_back_color: 0xE86D05, hilited_candidate_text_color: 0xFFFFFF, hilited_comment_text_color: 0xFFFFFF, hilited_text_color: 0xE86D05, name: "Zhihu", text_color: 0xE86D05}
  style:
    color_scheme: mac_light
    horizontal: true
    inline_preedit: true
    font_face: "思源黑体 CN, Segoe UI Emoji"
    font_point: 14
    label_format: "%s "
    label_font_face: "Fira Sans"
    label_font_point: 12
    comment_font_face: "Fira Sans"
    comment_font_point: 9
    layout:
      align_type: center
      border_width: 2
      shadow_color: 0x26000000
      shadow_radius: 10
      shadow_offset_x: 0
      shadow_offset_y: 0
      round_corner: 6
      corner_radius: 6
      margin_x: 6
      margin_y: 6
      hilite_padding: 6
      hilite_spacing: 3
      candidate_spacing: 10

另:一开始发现不能输入emoji和特殊符号,通过issue #150 的解决方案,在vscode中删除了opencc/emoji_word.txt与opencc/symbol_word.txt中的重复项,保存。不知道是否vscode编辑该文件会对这个问题有什么影响(会不会是因为编码问题之类的,我的vscode以UTF-8编码,LF回车模式编辑和保存该txt文件)。

问题

部分特殊符号与emoji在界面中显示有问题,字符本身后面会多出一个框中叉的符号(记得应该是出现不支持的字的时候才会显示这个符号)

问题举例

image image

然而这一现象也只有少数emoji才会出现。查看了opencc/emoji_word.txt与opencc/symbol_word.txt,未见这些符号有什么特殊的共同点。

影响与分析

编号为65039的 Unicode 字符是“Zero Width Joiner”,简称为“ZWJ”。它是一种控制字符,用于连接不同的字符或图形,以形成新的符号或表情。具体来说,它通常与 emoji 或其他符号一起使用,以创建特定的组合或序列,使其以不同的方式呈现或显示,例如形成不同的肤色变体、性别标识符等。 Zero Width Joiner 本身不会显示任何内容,但它影响其他字符的显示方式。

不知道有朋友也遇到了这个问题吗?欢迎大家一起来探讨和研究!

TheStarAlight commented 6 months ago

换用最新的commit [efdfb69]自行编译,成功。 希望开发者可以尽快上传一个最新编译的版本!谢谢啦