「標準変換」の版間の差分

MSY-07 (トーク | 投稿記録)
見出しの修正
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(2人の利用者による、間の5版が非表示)
3行目: 3行目:


=== ソースコード ===
=== ソースコード ===
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
// -----------------------------------------------------------------------------
#title = "標準変換"
// 標準変換
#tooltip = "半角カタカナを全角カタカナに、全角英数字を半角英数字に変換します。"
//
// Copyright (c) Kuro. All Rights Reserved.
// www:    https://www.haijin-boys.com/
// -----------------------------------------------------------------------------


if (document.selection.Text == "")
var sel = document.selection;
  document.selection.SelectAll();
if (sel.Text == "") {
var map = new Array();
sel.SelectAll();
}
var map = [];
map[" "] = " ";
map[" "] = " ";
map["!"] = "!";
map["!"] = "!";
200行目: 198行目:
map["゙"] = "゛";
map["゙"] = "゛";
map["゚"] = "゜";
map["゚"] = "゜";
var s1 = document.selection.Text;
var s1 = sel.Text;
var s2 = "";
var s2 = "";
for (var i = 0; i < s1.length; i++) {
for (var i = 0; i < s1.length; i++) {
  if (i + 1 < s1.length) {
if (i + 1 < s1.length) {
    var c = map[s1.substring(i, i + 2)];
var c = map[s1.substring(i, i + 2)];
    if (c) {
if (c) {
      s2 += c;
s2 += c;
      i++;
i++;
      continue;
continue;
    }
}
  }
}
  var c = map[s1.substring(i, i + 1)];
var c = map[s1.substring(i, i + 1)];
  if (c) {
if (c) {
    s2 += c;
s2 += c;
    continue;
continue;
  }
}
  s2 += s1.substring(i, i + 1);
s2 += s1.substring(i, i + 1);
}
}
document.selection.Text = s2;
sel.Text = s2;
</syntaxhighlight>
</syntaxhighlight>


227行目: 225行目:


=== ソースコード ===
=== ソースコード ===
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
if (document.selection.Text == "")
#title = "標準変換"
  document.selection.SelectAll();
#tooltip = "機種依存文字を機種に依存しない文字に変換します。"
var map = new Array();
 
var sel = document.selection;
if (sel.Text == "") {
sel.SelectAll();
}
var map = [];
map["Ⅰ"] = "I";
map["Ⅰ"] = "I";
map["Ⅱ"] = "II";
map["Ⅱ"] = "II";
305行目: 308行目:
map["㊾"] = "(49)";
map["㊾"] = "(49)";
map["㊿"] = "(50)";
map["㊿"] = "(50)";
var s1 = document.selection.Text;
var s1 = sel.Text;
var s2 = "";
var s2 = "";
for (var i = 0; i < s1.length;) {
for (var i = 0; i < s1.length;) {
  var matched = false;
var matched = false;
  for (var j = 10; j >= 1; j--) {
for (var j = 10; j >= 1; j--) {
    var c = map[s1.substring(i, i + j)];
var c = map[s1.substring(i, i + j)];
    if (c) {
if (c) {
      s2 += c;
s2 += c;
      i += j;
i += j;
      matched = true;
matched = true;
      break;
break;
    }
}
  }
}
  if (!matched) {
if (!matched) {
    s2 += s1.charAt(i);
s2 += s1.charAt(i);
    i++;
i++;
  }
}
}
}
document.selection.Text = s2;
sel.Text = s2;
</syntaxhighlight>
</syntaxhighlight>
スポンサーリンク