結局自分で作るしかないのか・・・。
頭の良い人だと凄まじいコードを書くんだろうけど、YO$HIは凡人である。
プログラマであれば、今 頭の中でロジックを考えている事だろうw
思いついたのは
- 渡された文字列から1文字ずつ順番に最後まで取り出す
- 文字から文字コードを取得する
- ひらがな→カタカナになるように文字コードをシフトさせる
- 文字コードから文字を取得する
- 返値に連結していって返す
という関数。
changeHtoK(hiragana) {
katakana =
StringLen, strLength, hiragana
While A_Index <= strLength
{
oneStrH := SubStr(hiragana, A_Index, 1)
strCode := Asc(oneStrH)
if (12353 <= strCode && strCode <= 12438) {
strCode += 96
oneStrK := Chr(strCode)
katakana .= oneStrK
}
}
Return katakana
}
katakana =
StringLen, strLength, hiragana
While A_Index <= strLength
{
oneStrH := SubStr(hiragana, A_Index, 1)
strCode := Asc(oneStrH)
if (12353 <= strCode && strCode <= 12438) {
strCode += 96
oneStrK := Chr(strCode)
katakana .= oneStrK
}
}
Return katakana
}
こんな感じか。(使っているのはUnicode対応版)
実際には
値が定数になっていたり、特定の文字(スペース)は素通しさせたり、
範囲外の文字が来たらエラーにしてたり してるけど。
もっと凄いロジックが思いついたら良かったんだけど、ひとまずこれで用が足りるのでOKということにしておく。