「標準変換」の版間の差分
URLの修正 |
機種依存文字を変換するソースコードを追加 |
||
| 1行目: | 1行目: | ||
== Kuro版 == | |||
半角カタカナを全角カタカナに、全角英数字を半角英数字に変換します。文字列変換のサンプルとしても最適かも。 | 半角カタカナを全角カタカナに、全角英数字を半角英数字に変換します。文字列変換のサンプルとしても最適かも。 | ||
=== ソースコード === | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
// ----------------------------------------------------------------------------- | // ----------------------------------------------------------------------------- | ||
| 215行目: | 217行目: | ||
} | } | ||
s2 += s1.substring(i, i + 1); | s2 += s1.substring(i, i + 1); | ||
} | |||
document.selection.Text = s2; | |||
</syntaxhighlight> | |||
== MSY-07版 == | |||
機種依存文字を機種に依存しない文字に変換します。 | |||
Kuro氏が作成した標準変換は2文字までしか変換することができないため、改造して10文字まで変換できるようにしました。なお、「j = 10」の値を変更すれば、11文字以上を変換することもできます。 | |||
=== ソースコード === | |||
<syntaxhighlight lang="javascript"> | |||
if (document.selection.Text == "") | |||
document.selection.SelectAll(); | |||
var map = new Array(); | |||
map["Ⅰ"] = "I"; | |||
map["Ⅱ"] = "II"; | |||
map["Ⅲ"] = "III"; | |||
map["Ⅳ"] = "IV"; | |||
map["Ⅴ"] = "V"; | |||
map["Ⅵ"] = "VI"; | |||
map["Ⅶ"] = "VII"; | |||
map["Ⅷ"] = "VIII"; | |||
map["Ⅸ"] = "IX"; | |||
map["Ⅹ"] = "X"; | |||
map["Ⅺ"] = "XI"; | |||
map["Ⅻ"] = "XII"; | |||
map["ⅰ"] = "i"; | |||
map["ⅱ"] = "ii"; | |||
map["ⅲ"] = "iii"; | |||
map["ⅳ"] = "iv"; | |||
map["ⅴ"] = "v"; | |||
map["ⅵ"] = "vi"; | |||
map["ⅶ"] = "vii"; | |||
map["ⅷ"] = "viii"; | |||
map["ⅸ"] = "ix"; | |||
map["ⅹ"] = "x"; | |||
map["ⅺ"] = "xi"; | |||
map["ⅻ"] = "xii"; | |||
map["①"] = "(1)"; | |||
map["②"] = "(2)"; | |||
map["③"] = "(3)"; | |||
map["④"] = "(4)"; | |||
map["⑤"] = "(5)"; | |||
map["⑥"] = "(6)"; | |||
map["⑦"] = "(7)"; | |||
map["⑧"] = "(8)"; | |||
map["⑨"] = "(9)"; | |||
map["⑩"] = "(10)"; | |||
map["⑪"] = "(11)"; | |||
map["⑫"] = "(12)"; | |||
map["⑬"] = "(13)"; | |||
map["⑭"] = "(14)"; | |||
map["⑮"] = "(15)"; | |||
map["⑯"] = "(16)"; | |||
map["⑰"] = "(17)"; | |||
map["⑱"] = "(18)"; | |||
map["⑲"] = "(19)"; | |||
map["⑳"] = "(20)"; | |||
map["㉑"] = "(21)"; | |||
map["㉒"] = "(22)"; | |||
map["㉓"] = "(23)"; | |||
map["㉔"] = "(24)"; | |||
map["㉕"] = "(25)"; | |||
map["㉖"] = "(26)"; | |||
map["㉗"] = "(27)"; | |||
map["㉘"] = "(28)"; | |||
map["㉙"] = "(29)"; | |||
map["㉚"] = "(30)"; | |||
map["㉛"] = "(31)"; | |||
map["㉜"] = "(32)"; | |||
map["㉝"] = "(33)"; | |||
map["㉞"] = "(34)"; | |||
map["㉟"] = "(35)"; | |||
map["㊱"] = "(36)"; | |||
map["㊲"] = "(37)"; | |||
map["㊳"] = "(38)"; | |||
map["㊴"] = "(39)"; | |||
map["㊵"] = "(40)"; | |||
map["㊶"] = "(41)"; | |||
map["㊷"] = "(42)"; | |||
map["㊸"] = "(43)"; | |||
map["㊹"] = "(44)"; | |||
map["㊺"] = "(45)"; | |||
map["㊻"] = "(46)"; | |||
map["㊼"] = "(47)"; | |||
map["㊽"] = "(48)"; | |||
map["㊾"] = "(49)"; | |||
map["㊿"] = "(50)"; | |||
var s1 = document.selection.Text; | |||
var s2 = ""; | |||
for (var i = 0; i < s1.length;) { | |||
var matched = false; | |||
for (var j = 10; j >= 1; j--) { | |||
var c = map[s1.substring(i, i + j)]; | |||
if (c) { | |||
s2 += c; | |||
i += j; | |||
matched = true; | |||
break; | |||
} | |||
} | |||
if (!matched) { | |||
s2 += s1.charAt(i); | |||
i++; | |||
} | |||
} | } | ||
document.selection.Text = s2; | document.selection.Text = s2; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
スポンサーリンク