Skip to content

fix: emoji sequence qualification - #9

Merged
ensan-hcl merged 2 commits into
mainfrom
agent/fix-emoji-qualified-sequences
Jul 25, 2026
Merged

ensan-hcl merged 2 commits into
mainfrom
agent/fix-emoji-qualified-sequences

Conversation

@ensan-hcl

Copy link
Copy Markdown
Member

概要

Unicode Emojiの標準形に合わせて、生成される絵文字表層のコードポイント列を修正します。

背景・原因

apply_emoji_test_data が emoji-test.txt のコードポイント列に対して種類を問わず末尾へ U+FE0F を追加していました。そのため、たとえば燃えるハートは標準の 2764 FE0F 200D 1F525 ではなく、末尾に余分なVariation Selectorを持つ 2764 FE0F 200D 1F525 FE0F として生成されていました。

一部の入力欄では許容される一方、LINEのスタンププレゼント画面にある友だち検索欄などではZWJ結合が崩れ、❤️‍🔥 が ❤🔥 として扱われる可能性があります。

変更内容

  • fully-qualified と component のコードポイント列を標準表層としてそのまま採用
  • minimally-qualified / unqualified による表層の上書きを停止
  • 全EmojiDictionaryを再生成し、余分な末尾 U+FE0F を除去
  • 燃えるハートおよび全絵文字表層の標準適合を確認する回帰テストを追加
  • テスト実行方法をREADMEへ追記
  • apply_emoji_zwj_sequences がグローバル変数へ依存していた引数名の不整合を修正

影響

生成済み18ファイルの絵文字表層がUnicode Emojiの標準列になります。読み・キーワード・順序・variationデータに変更はありません。

確認

  • python3 -m unittest discover -s tests -v(4 tests passed)
  • python scripts/emoji.py による全辞書再生成成功
  • Emoji 17.0の生成表層1905件がすべて emoji-test.txt の fully-qualified / component に一致することを確認
  • 生成済み18ファイルの差分が、従来付与されていた末尾 U+FE0F の除去のみであることを確認

@ensan-hcl
ensan-hcl marked this pull request as ready for review July 25, 2026 03:43
@ensan-hcl ensan-hcl self-assigned this Jul 25, 2026
@ensan-hcl ensan-hcl changed the title Fix emoji sequence qualification fix: emoji sequence qualification Jul 25, 2026
@ensan-hcl
ensan-hcl merged commit eb15a8d into main Jul 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant