2017年8月26日土曜日

月配列T3.1「ゅ」の位置

「ゅ」の位置は月配列U9版の真似をさせて頂きました。

kouyさんが作成された「100万字日本語かなn-gramデータ」で見ると、

ゅ:10,151回
そ:9,878回
ぞ:1,793回

となっており、「ゅ」の出現頻度と「そ」+「ぞ」の出現頻度はほとんど差がありません。

月配列2-263式から指の使用バランスをあまり変化させずに「ゅ」を含む拗音の打鍵数を一つ減らせるのが素晴らしいと感じこの配置を採用しました。

月配列T3.1確定

T3.0から約七カ月。
T3.1を確定とします。
MS-IMEのローマ字テーブルで全定義を実装できます。
(.regファイルを読みこませる必要はありますが管理者権限は不要です。)

月配列T3.1 (2017/07/08版, 2017/07/29版, 2017/08/26版)

ゅかしてょ つんい゛ち゜
はこ☆とた くう★のきー
すふせなさ っる、。

ゆれひへめ むゃりみえぬ
ほもらおあ けまにをね
ぁぃそよや わろぅぇぉ


T3.0では長音符の入力はローマ字入力同様ハイフンを用いる事として配列図に書いていませんでしたがT3.1ではJISキーボードのコロンの位置に長音符を置く配置を正式としました。
氷陰さんがT3.0を試用してくださった際に採用した方法です。

氷陰さんありがとうございました!

2017年1月28日土曜日

月配列T3.x系

ひとまずT3.0を確定とします。
MS-IMEのローマ字デーブルで全定義を実装できます。
(.regファイルを読みこませる必要はありますが管理者権限は不要です。)

月配列T3.0 (2016/11/27版, 2017/01/06版)

ゅかしてょ つんい゛ち゜
はこ☆とた くう★のき
すふせなさ っる、。

ゆれひへめ むゃりをえぬ
ほもらおあ けまにみね
ぁぃそよや わろぅぇぉ

※長音符の入力にはローマ字入力同様ハイフンを用います。

2016年9月25日日曜日

MS-IME のローマ字設定(レジストリ)を作成する関数

昨日作成した「GetHexCode」関数で何がやりたかったかと言うと要するにこれがやりたかったわけです。
今回作成した「RomeReg」関数は引数として「kf=あ」を渡すと「6B,66,3D,82,A0,00,\」の様な文字列を返します。
これを使ってレジストリファイルを作ってレジストリを「アレ」すれば通常のローマ字設定では編集できない定義が使えたりします。
具体的には月配列のような特殊な配列をローマ字定義の書き換えのみで実装できるわけです。

Option Explicit

Function RomeReg(xs As String) As String
    ' --- 宣言 ---
    Dim i           As Long
    Dim HexCode     As String
    Dim Result      As String
    
    ' --- 処理 ---
    For i = 1 To Len(xs)
        HexCode = GetHexCode(Mid(xs, i, 1))
        If Len(HexCode) = 2 Then
            ' 16進表記で2文字と言う事は1バイト文字
            Result = Result & HexCode & ","
        ElseIf Len(HexCode) = 4 Then
            ' 16進表記で4文字と言う事は2バイト文字
            Result = Result & Left(HexCode, 2) & "," _
                            & Right(HexCode, 2) & ","
        Else
            ' ※ここには到達しないはず
            Result = "-- Something is wrong!! --"
        End If
    Next i
    
    ' --- 結果 ---
    RomeReg = Result & "00,\"
End Function

' 先頭文字の文字コードを16進表記で返す関数
Function GetHexCode(xs As String) As String
    GetHexCode = Hex(Asc(xs))
End Function

ワークシートから呼び出す事も出来ますし VBA の中で使用しても OK です。
みんな月配列使いましょう!!

2016年9月24日土曜日

先頭文字の文字コードを16進表記で返す関数

引数として「A」を渡したら「41」、「あ」を渡したら「82A0」を返す関数。
Function GetHexCode(xs As String) As String
    GetHexCode = Hex(Asc(xs))
End Function
ワークシートから呼び出してもいいし、VBAの中で呼び出してもOK。