Skip to content

Commit

Permalink
1.70.0.8
Browse files Browse the repository at this point in the history
- コメントに"禰󠄀豆子"(異体字)が入っていると結合中にffmpegがエラーで停止するのを修正
  frontend側で異体字セレクタU+E0100~U+E01EFの文字列を削除
- ドキュメント修正
  • Loading branch information
nnn-revo2012 committed Jun 21, 2023
1 parent f393a9c commit be47972
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 0 deletions.
3 changes: 3 additions & 0 deletions document_etc/doc/更新履歴.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
変更履歴・修正・改変点

1.70.0.08(2023/06/22)
- コメントに"禰󠄀豆子"(異体字)が入っていると結合中にffmpegがエラーで停止するのを修正
frontend側で異体字セレクタU+E0100~U+E01EFの文字列を削除
※上記の場合、"禰豆子"と表示されます
- オフラインでニコ動の動画をコメントと結合する際以下の表示のまま停止するのを修正
「オプショナルスレッドの中間ファイルへの変換中」
(オプショナルファイルとEasyファイルのnullチェック)
Expand Down
3 changes: 3 additions & 0 deletions document_etc/読んで下さい.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

変更内容
1.70.0.08(2023/06/22)
- コメントに"禰󠄀豆子"(異体字)が入っていると結合中にffmpegがエラーで停止するのを修正
frontend側で異体字セレクタU+E0100~U+E01EFの文字列を削除
※上記の場合、"禰豆子"と表示されます
- オフラインでニコ動の動画をコメントと結合する際以下の表示のまま停止するのを修正
「オプショナルスレッドの中間ファイルへの変換中」
(オプショナルファイルとEasyファイルのnullチェック)
Expand Down
1 change: 1 addition & 0 deletions frontend/src/saccubus/conv/NicoXMLReader.java
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ private String niwango(String str, String key){
public void endElement(String uri, String localName, String qName) {
if (qName.toLowerCase().equals("chat")) {
String com = sb.substring(0);
com = Util.DelEmoji2(sb.substring(0)); //異体字セレクタU+E0100〜U+E01EFのみ削除
// log.println("\t| "+com+" |");
boolean script = false;
//ニワン語処理
Expand Down
27 changes: 27 additions & 0 deletions frontend/src/saccubus/util/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,33 @@ else if (Character.isHighSurrogate(c)) {
return sb.toString();
}

//サロゲートペア&(結合文字) 検出&文字除去
//特定の異体字セレクタ U+E0100〜U+E01EF のみ削除
//U+E0100
//UTF-8 Encoding: 0xF3 0xA0 0x84 0x80
//UTF-16 Encoding: 0xDB40 0xDD00
//U+E01EF
//UTF-8 Encoding: 0xF3 0xA0 0x87 0xAF
//UTF-16 Encoding: 0xDB40 0xDDEF
public static String DelEmoji2(String str)
{
if (str.length() <= 0) return str;

StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isHighSurrogate(c) && (c == (char)0xdb40)) {
char cc = str.charAt(i+1);
if (cc >= (char)0xdd00 && cc <= (char)0xddef) {
++i;
continue;
}
}
sb.append(c);
}
return sb.toString();
}

//サロゲートペア&(結合文字) 文字置き換え
public static String ReplaceEmoji(String str, char hs, char ls, String t)
{
Expand Down

0 comments on commit be47972

Please sign in to comment.