}
[Fact]
+ public void ReplaceEmojiToImg_VariationSelector_TextStyleTest()
+ {
+ // 異字体セレクタを使用して明示的にテキストスタイルで表示させている文字
+ var origText = "©\uFE0E"; // U+00A9 + U+FE0E (text style)
+
+ var result = EmojiFormatter.ReplaceEmojiToImg(origText);
+ var expected = "©\uFE0E";
+
+ Assert.Equal(expected, result);
+ }
+
+ [Fact]
+ public void ReplaceEmojiToImg_VariationSelector_EmojiStyleTest()
+ {
+ // 異字体セレクタを使用して明示的に絵文字スタイルで表示させている文字
+ var origText = "©\uFE0F"; // U+00A9 + U+FE0F (emoji style)
+
+ var result = EmojiFormatter.ReplaceEmojiToImg(origText);
+ var expected = "<img class=\"emoji\" src=\"https://twemoji.maxcdn.com/2/72x72/a9.png\" alt=\"©\" />";
+
+ Assert.Equal(expected, result);
+ }
+
+ [Fact]
public void ReplaceEmojiToImg_SurrogatePairTest()
{
var origText = "🍣"; // U+1F363
string input = m.Value;
string codes = "";
+ // 異字体セレクタ U+FE0F (emoji style) は除去する
+ input = input.Replace("\uFE0F", "");
+
for (var i = 0; i < input.Length; i += char.IsSurrogatePair(input, i) ? 2 : 1)
{
var codepoint = char.ConvertToUtf32(input, i);
codes += string.Format("{0:x}", codepoint);
}
- return "<img class=\"emoji\" src=\"https://twemoji.maxcdn.com/2/72x72/" + codes + ".png\" alt=\"" + m.Value + "\" />";
+ return "<img class=\"emoji\" src=\"https://twemoji.maxcdn.com/2/72x72/" + codes + ".png\" alt=\"" + input + "\" />";
}
}
}
* FIX: Alt+←/→による移動時にエラーが発生する不具合を修正
* FIX: 「自分がRTした自分のツイート」を選択して削除機能を使用すると、RTの取り消しではなくRT元のツイートが削除される不具合を修正
* FIX: タブ名の変更時に発言一覧のスクロール位置・選択状態に不整合が生じていた不具合を修正
+ * FIX: Twemojiによる絵文字の表示が有効な場合に、異字体セレクタを含む絵文字が正しく表示されない不具合を修正
==== Ver 1.3.4(2016/08/26)
* FIX: Fav削除時にエラーが発生し操作不能になる不具合を修正