RomajiHelper 0.1.1
dotnet add package RomajiHelper --version 0.1.1
NuGet\Install-Package RomajiHelper -Version 0.1.1
<PackageReference Include="RomajiHelper" Version="0.1.1" />
<PackageVersion Include="RomajiHelper" Version="0.1.1" />
<PackageReference Include="RomajiHelper" />
paket add RomajiHelper --version 0.1.1
#r "nuget: RomajiHelper, 0.1.1"
#:package RomajiHelper@0.1.1
#addin nuget:?package=RomajiHelper&version=0.1.1
#tool nuget:?package=RomajiHelper&version=0.1.1
RomajiHelper
Japanese Romanization parser for typing games in .NET / Unity
概要
RomajiHelperは.NET / Unity向けのローマ字解析ライブラリです。ひらがな/カタカナの入力から有向非巡回グラフ(DAG)を作成し、ローマ字の入力として有効なパターンを取得できます。
各ノードがアルファベットに対応するため、ノードを辿ることで入力先の候補を容易にチェックできます。これを用いることで、タイピングゲームの入力判定などを容易に実装することが可能になります。
インストール
.NET CLI
$ dotnet add RomajiHelper
Unity
NuGetForUnityを利用してNuGetからRomajiHelperをインストールします。
コンセプト
ローマ字入力を扱うには、「し」に対するsi、shiや「きゃ」に対するkya、kixya, kilyaなど、同一の仮名に対して複数のパターンを考慮する必要があります。これは各アルファベットをノードとして、以下のような有向非巡回グラフ(DAG)で表現することが可能です。
RomajiHelperはひらがな/カタカナの文字列を入力として上のようなグラフを構築する機能を提供します。
使い方
using RomajiHelper;
var node = RomajiNode.Parse("きょうはいいてんきですね");
// 現在のnodeから全ての有効なローマ字のパターンを列挙する
foreach (var pattern in node.Patterns())
{
Console.WriteLine(pattern);
}
// 単一のパターンのみを取得する
var first = node.FirstPattern();
// nodeを順にたどって解析する
// Rootのノードは対応する文字を持たないことに注意
var currentNode = node;
foreach (currentNode.IsTerminal) // ノードの終了判定
{
var key = Console.ReadKey().KeyChar;
foreach (var nextNode in node.Nodes)
{
if (nextNode.Character == key) // ノードのアルファベットと比較
{
node = nextNode;
break;
}
}
}
ライセンス
このライブラリはMITライセンスの下で公開されています。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.