Smdn.Text.Ondulish version 4.0.2
smdn
released this
17 Nov 11:58
·
25 commits
to main
since this release
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-11-17 update assembly version
- 2023-11-17 add support for converting non-japansese words
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-net6.0.apilist.cs b/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-net6.0.apilist.cs
index fb778c5..f70fbf7 100644
--- a/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-net6.0.apilist.cs
@@ -1,234 +1,234 @@
-// Smdn.Text.Ondulish.dll (Smdn.Text.Ondulish-4.0.1)
+// Smdn.Text.Ondulish.dll (Smdn.Text.Ondulish-4.0.2)
// Name: Smdn.Text.Ondulish
-// AssemblyVersion: 4.0.1.0
-// InformationalVersion: 4.0.1+adcd5ace021c7d1e4227125816c448c35b6af524
+// AssemblyVersion: 4.0.2.0
+// InformationalVersion: 4.0.2+7eedf34a0e35f2209f6384d70422e3e8bc328dc1
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Csv, Version=3.1.0.0, Culture=neutral
// Smdn.Fundamental.String.Replacement, Version=3.0.2.0, Culture=neutral
// Smdn.Text.Ondulish.Dictionaries, Version=4.0.0.0, Culture=neutral
// System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Threading, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Collections.Generic;
using System.IO;
using MeCab;
namespace MeCab {
public class DictionaryInfo : IDisposable {
protected bool swigCMemOwn;
public DictionaryInfo() {}
public string charset { get; }
public string filename { get; }
public uint lsize { get; }
public DictionaryInfo next { get; }
public uint rsize { get; }
public uint size { get; }
public int type { get; }
public ushort version { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~DictionaryInfo() {}
}
public class Lattice : IDisposable {
protected bool swigCMemOwn;
public Lattice() {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Lattice() {}
public virtual double Z() {}
public virtual void add_request_type(int request_type) {}
public virtual Node begin_nodes(uint pos) {}
public virtual Node bos_node() {}
public virtual int boundary_constraint(uint pos) {}
public virtual void clear() {}
public virtual Node end_nodes(uint pos) {}
public virtual string enumNBestAsString(uint N) {}
public virtual Node eos_node() {}
public virtual string feature_constraint(uint pos) {}
public virtual bool has_constraint() {}
public virtual bool has_request_type(int request_type) {}
public virtual bool is_available() {}
public virtual Node newNode() {}
public virtual bool next() {}
public virtual void remove_request_type(int request_type) {}
public virtual int request_type() {}
public virtual string sentence() {}
public virtual void set_Z(double Z) {}
public virtual void set_boundary_constraint(uint pos, int boundary_constraint_type) {}
public virtual void set_feature_constraint(uint begin_pos, uint end_pos, string feature) {}
public virtual void set_request_type(int request_type) {}
public virtual void set_result(string result) {}
public void set_sentence(string sentence) {}
public virtual void set_theta(float theta) {}
public virtual void set_what(string str) {}
public virtual uint size() {}
public virtual float theta() {}
public virtual string toString() {}
public virtual string toString(Node node) {}
public virtual string what() {}
}
public class MeCab {
public static readonly int MECAB_ALLOCATE_SENTENCE = 64;
public static readonly int MECAB_ALL_MORPHS = 32;
public static readonly int MECAB_ALTERNATIVE = 16;
public static readonly int MECAB_ANY_BOUNDARY = 0;
public static readonly int MECAB_BOS_NODE = 2;
public static readonly int MECAB_EON_NODE = 4;
public static readonly int MECAB_EOS_NODE = 3;
public static readonly int MECAB_INSIDE_TOKEN = 2;
public static readonly int MECAB_MARGINAL_PROB = 8;
public static readonly int MECAB_NBEST = 2;
public static readonly int MECAB_NOR_NODE = 0;
public static readonly int MECAB_ONE_BEST = 1;
public static readonly int MECAB_PARTIAL = 4;
public static readonly int MECAB_SYS_DIC = 0;
public static readonly int MECAB_TOKEN_BOUNDARY = 1;
public static readonly int MECAB_UNK_DIC = 2;
public static readonly int MECAB_UNK_NODE = 1;
public static readonly int MECAB_USR_DIC = 1;
public static readonly string VERSION = "0.996";
public MeCab() {}
}
public class Model : IDisposable {
public static string version() {}
protected bool swigCMemOwn;
public Model() {}
public Model(string argc) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Model() {}
public virtual Lattice createLattice() {}
public virtual Tagger createTagger() {}
public virtual DictionaryInfo dictionary_info() {}
public virtual Node lookup(string begin, string end, Lattice lattice) {}
public virtual bool swap(Model model) {}
public virtual int transition_cost(ushort rcAttr, ushort lcAttr) {}
}
public class Node : IDisposable {
protected bool swigCMemOwn;
public float alpha { get; }
public float beta { get; }
public Node bnext { get; }
public byte char_type { get; }
public int cost { get; }
public Node enext { get; }
public string feature { get; }
public uint id { get; }
public byte isbest { get; }
public ushort lcAttr { get; }
public ushort length { get; }
public Path lpath { get; }
public Node next { get; }
public ushort posid { get; }
public Node prev { get; }
public float prob { get; set; }
public ushort rcAttr { get; }
public ushort rlength { get; }
public Path rpath { get; }
public byte stat { get; }
public string surface { get; }
public short wcost { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Node() {}
}
public class Path : IDisposable {
protected bool swigCMemOwn;
public int cost { get; }
public Path lnext { get; }
public Node lnode { get; }
public float prob { get; set; }
public Path rnext { get; }
public Node rnode { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Path() {}
}
public class Tagger : IDisposable {
public static bool parse(Model model, Lattice lattice) {}
public static string version() {}
protected bool swigCMemOwn;
public Tagger() {}
public Tagger(string argc) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Tagger() {}
public virtual bool all_morphs() {}
public virtual DictionaryInfo dictionary_info() {}
public virtual string formatNode(Node node) {}
public virtual int lattice_level() {}
public virtual string next() {}
public virtual Node nextNode() {}
public virtual bool parse(Lattice lattice) {}
public virtual string parse(string str) {}
public virtual string parseNBest(uint N, string str) {}
public virtual bool parseNBestInit(string str) {}
public virtual Node parseToNode(string str) {}
public string parseToString(string str) {}
public string parseToString(string str, uint length) {}
public virtual bool partial() {}
public virtual int request_type() {}
public virtual void set_all_morphs(bool all_morphs) {}
public virtual void set_lattice_level(int level) {}
public virtual void set_partial(bool @partial) {}
public virtual void set_request_type(int request_type) {}
public virtual void set_theta(float theta) {}
public virtual float theta() {}
public virtual string what() {}
}
}
namespace Smdn.Text.Ondulish {
public static class KanaUtils {
public static string ConvertWideHiraganaToKatakana(string input) {}
public static string ConvertWideKatakanaToHiragana(string input) {}
public static string ConvertWideKatakanaToNarrowKatakana(string input) {}
}
public class Translator : IDisposable {
public static Tagger CreateTaggerForBundledDictionary() {}
public Translator() {}
public Translator(Tagger tagger, bool shouldDisposeTagger) {}
public IReadOnlyDictionary<string, string> PhraseDictionary { get; }
public IReadOnlyDictionary<string, string> WordDictionary { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
public string Translate(string input, bool convertKatakanaToNarrow = true) {}
public void Translate(TextReader input, TextWriter output, bool convertKatakanaToNarrow = true) {}
public void Translate(string input, TextWriter output, bool convertKatakanaToNarrow = true) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-netstandard2.1.apilist.cs
index 581ceb9..54385e1 100644
--- a/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.Text.Ondulish/Smdn.Text.Ondulish-netstandard2.1.apilist.cs
@@ -1,230 +1,230 @@
-// Smdn.Text.Ondulish.dll (Smdn.Text.Ondulish-4.0.1)
+// Smdn.Text.Ondulish.dll (Smdn.Text.Ondulish-4.0.2)
// Name: Smdn.Text.Ondulish
-// AssemblyVersion: 4.0.1.0
-// InformationalVersion: 4.0.1+adcd5ace021c7d1e4227125816c448c35b6af524
+// AssemblyVersion: 4.0.2.0
+// InformationalVersion: 4.0.2+7eedf34a0e35f2209f6384d70422e3e8bc328dc1
// TargetFramework: .NETStandard,Version=v2.1
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Csv, Version=3.1.0.0, Culture=neutral
// Smdn.Fundamental.String.Replacement, Version=3.0.2.0, Culture=neutral
// Smdn.Text.Ondulish.Dictionaries, Version=4.0.0.0, Culture=neutral
// netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
#nullable enable annotations
using System;
using System.Collections.Generic;
using System.IO;
using MeCab;
namespace MeCab {
public class DictionaryInfo : IDisposable {
protected bool swigCMemOwn;
public DictionaryInfo() {}
public string charset { get; }
public string filename { get; }
public uint lsize { get; }
public DictionaryInfo next { get; }
public uint rsize { get; }
public uint size { get; }
public int type { get; }
public ushort version { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~DictionaryInfo() {}
}
public class Lattice : IDisposable {
protected bool swigCMemOwn;
public Lattice() {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Lattice() {}
public virtual double Z() {}
public virtual void add_request_type(int request_type) {}
public virtual Node begin_nodes(uint pos) {}
public virtual Node bos_node() {}
public virtual int boundary_constraint(uint pos) {}
public virtual void clear() {}
public virtual Node end_nodes(uint pos) {}
public virtual string enumNBestAsString(uint N) {}
public virtual Node eos_node() {}
public virtual string feature_constraint(uint pos) {}
public virtual bool has_constraint() {}
public virtual bool has_request_type(int request_type) {}
public virtual bool is_available() {}
public virtual Node newNode() {}
public virtual bool next() {}
public virtual void remove_request_type(int request_type) {}
public virtual int request_type() {}
public virtual string sentence() {}
public virtual void set_Z(double Z) {}
public virtual void set_boundary_constraint(uint pos, int boundary_constraint_type) {}
public virtual void set_feature_constraint(uint begin_pos, uint end_pos, string feature) {}
public virtual void set_request_type(int request_type) {}
public virtual void set_result(string result) {}
public void set_sentence(string sentence) {}
public virtual void set_theta(float theta) {}
public virtual void set_what(string str) {}
public virtual uint size() {}
public virtual float theta() {}
public virtual string toString() {}
public virtual string toString(Node node) {}
public virtual string what() {}
}
public class MeCab {
public static readonly int MECAB_ALLOCATE_SENTENCE = 64;
public static readonly int MECAB_ALL_MORPHS = 32;
public static readonly int MECAB_ALTERNATIVE = 16;
public static readonly int MECAB_ANY_BOUNDARY = 0;
public static readonly int MECAB_BOS_NODE = 2;
public static readonly int MECAB_EON_NODE = 4;
public static readonly int MECAB_EOS_NODE = 3;
public static readonly int MECAB_INSIDE_TOKEN = 2;
public static readonly int MECAB_MARGINAL_PROB = 8;
public static readonly int MECAB_NBEST = 2;
public static readonly int MECAB_NOR_NODE = 0;
public static readonly int MECAB_ONE_BEST = 1;
public static readonly int MECAB_PARTIAL = 4;
public static readonly int MECAB_SYS_DIC = 0;
public static readonly int MECAB_TOKEN_BOUNDARY = 1;
public static readonly int MECAB_UNK_DIC = 2;
public static readonly int MECAB_UNK_NODE = 1;
public static readonly int MECAB_USR_DIC = 1;
public static readonly string VERSION = "0.996";
public MeCab() {}
}
public class Model : IDisposable {
public static string version() {}
protected bool swigCMemOwn;
public Model() {}
public Model(string argc) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Model() {}
public virtual Lattice createLattice() {}
public virtual Tagger createTagger() {}
public virtual DictionaryInfo dictionary_info() {}
public virtual Node lookup(string begin, string end, Lattice lattice) {}
public virtual bool swap(Model model) {}
public virtual int transition_cost(ushort rcAttr, ushort lcAttr) {}
}
public class Node : IDisposable {
protected bool swigCMemOwn;
public float alpha { get; }
public float beta { get; }
public Node bnext { get; }
public byte char_type { get; }
public int cost { get; }
public Node enext { get; }
public string feature { get; }
public uint id { get; }
public byte isbest { get; }
public ushort lcAttr { get; }
public ushort length { get; }
public Path lpath { get; }
public Node next { get; }
public ushort posid { get; }
public Node prev { get; }
public float prob { get; set; }
public ushort rcAttr { get; }
public ushort rlength { get; }
public Path rpath { get; }
public byte stat { get; }
public string surface { get; }
public short wcost { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Node() {}
}
public class Path : IDisposable {
protected bool swigCMemOwn;
public int cost { get; }
public Path lnext { get; }
public Node lnode { get; }
public float prob { get; set; }
public Path rnext { get; }
public Node rnode { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Path() {}
}
public class Tagger : IDisposable {
public static bool parse(Model model, Lattice lattice) {}
public static string version() {}
protected bool swigCMemOwn;
public Tagger() {}
public Tagger(string argc) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
~Tagger() {}
public virtual bool all_morphs() {}
public virtual DictionaryInfo dictionary_info() {}
public virtual string formatNode(Node node) {}
public virtual int lattice_level() {}
public virtual string next() {}
public virtual Node nextNode() {}
public virtual bool parse(Lattice lattice) {}
public virtual string parse(string str) {}
public virtual string parseNBest(uint N, string str) {}
public virtual bool parseNBestInit(string str) {}
public virtual Node parseToNode(string str) {}
public string parseToString(string str) {}
public string parseToString(string str, uint length) {}
public virtual bool partial() {}
public virtual int request_type() {}
public virtual void set_all_morphs(bool all_morphs) {}
public virtual void set_lattice_level(int level) {}
public virtual void set_partial(bool @partial) {}
public virtual void set_request_type(int request_type) {}
public virtual void set_theta(float theta) {}
public virtual float theta() {}
public virtual string what() {}
}
}
namespace Smdn.Text.Ondulish {
public static class KanaUtils {
public static string ConvertWideHiraganaToKatakana(string input) {}
public static string ConvertWideKatakanaToHiragana(string input) {}
public static string ConvertWideKatakanaToNarrowKatakana(string input) {}
}
public class Translator : IDisposable {
public static Tagger CreateTaggerForBundledDictionary() {}
public Translator() {}
public Translator(Tagger tagger, bool shouldDisposeTagger) {}
public IReadOnlyDictionary<string, string> PhraseDictionary { get; }
public IReadOnlyDictionary<string, string> WordDictionary { get; }
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
public string Translate(string input, bool convertKatakanaToNarrow = true) {}
public void Translate(TextReader input, TextWriter output, bool convertKatakanaToNarrow = true) {}
public void Translate(string input, TextWriter output, bool convertKatakanaToNarrow = true) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
Full changes
Full changes in this release:
diff --git a/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish.csproj b/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish.csproj
index 8e828d7..d200f7a 100644
--- a/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish.csproj
+++ b/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<TargetFrameworks>net6.0;netstandard2.1</TargetFrameworks>
<RuntimeIdentifiers>ubuntu.22.04-x64</RuntimeIdentifiers>
- <VersionPrefix>4.0.1</VersionPrefix>
+ <VersionPrefix>4.0.2</VersionPrefix>
<VersionSuffix></VersionSuffix>
<PackageValidationBaselineVersion>4.0.0</PackageValidationBaselineVersion>
<Nullable>enable</Nullable>
diff --git a/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.Dictionaries.cs b/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.Dictionaries.cs
index 7c82c31..638926a 100644
--- a/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.Dictionaries.cs
+++ b/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.Dictionaries.cs
@@ -48,7 +48,7 @@ partial class Translator {
var key = entries[1].Trim().RemoveChars(dictionaryPunctuationChars);
- dictionary[KanaUtils.ConvertWideHiraganaToKatakana(key)] = entries[2].Trim();
+ dictionary[KanaUtils.ConvertWideHiraganaToKatakana(key).ToLowerInvariant()] = entries[2].Trim().ToLowerInvariant();
}
return dictionary;
diff --git a/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.cs b/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.cs
index 6f87100..7c017b6 100644
--- a/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.cs
+++ b/src/Smdn.Text.Ondulish/Smdn.Text.Ondulish/Translator.cs
@@ -163,7 +163,7 @@ public partial class Translator : IDisposable {
var fragments =
ConvertWithDictionary(
- ConvertToKatakana(line),
+ ConvertToKatakana(line).ToLowerInvariant(),
PhraseDictionary
)
.SelectMany(f =>
Notes
Full Changelog: releases/Smdn.Text.Ondulish-4.0.1...releases/Smdn.Text.Ondulish-4.0.2