samunohito / kanaria Goto Github PK
View Code? Open in Web Editor NEWこのライブラリは、ひらがな・カタカナ、半角・全角の相互変換や判別を始めとした機能を提供します。
License: MIT License
このライブラリは、ひらがな・カタカナ、半角・全角の相互変換や判別を始めとした機能を提供します。
License: MIT License
Gradleからサブプロジェクトたち向けのバイナリビルドを全部制御できるようにする
NuGet対応の最中に見つけた問題。
Utils配下のテストを忘れていたのでテストを作ったが、
AsciiUtils.IsWideAscii('漢')でtrueが帰ってくるという珍事に見舞われた。
漢字なのでfalseが期待結果のはずだが…。
Rust側でも同じ内容のテストを追加で実行してみたが、こちらは問題なし。
上記の内容でもfalseがきちんと返却されていた。
C#側のUcsStringで実装しているメソッドチェーンによる変換先指定をRustに逆輸入する。
テストは書いてあるけど、自動ではない。
有効活用するため是非とも用意したい。
Jenkinsあたりを想定。リリースの用意までやってくれそうだし…
extern_cのプロジェクトをビルドして出てきたものをJNIを通じてJavaから操作できるようにする。
VB.netのStrConvやKanaxsと比較すると、変換速度に難がある。
少なくとも同程度まで改善しないと同じ土俵にすら立てない。
cargo install kanaria …とかでできるようにする。
NuGet経由で入れられるかどうかの検討。
どうやってネイティブDLLを抱き合わせるかが一番の鍵だと思う。
考えられる方法としては以下。上から順にベストだと思ってるもの。
すごくこざっぱりしているので、なんとかしないと…
その前に、速度改善と変換処理の強化か?強みがなさすぎて書くことがない…
converter周りのドキュメンテーションでコケてるのを修正する。
ConverterFactoryで生成したインスタンスを束縛しろってエラーが出てるので、そのとおりにする。
前はうまく行っていたんだが…なんだこれ。
変換処理だけでなく、判定処理も追加して出来ることを増やす。
#18 が実現できないと何もできないけど、多分できるので先に切っておく。
Mavenのリポジトリに追加できたらいいなという願望…。
変換速度改善の第二弾と銘打ちたかったが…下記の理由により方針変更。
・速度改善が第一弾(#3)レベルで頭打ちになってしまった
・もともと多言語対応を視野に入れていた(第一弾の影響でC#独自の構文が増え、移植が困難に)
…ということから、C#はDllImport等でネイティブ層の機能をラッピングした物を用意し、
処理の根本はネイティブ(Rust)に移動する。
Unicode全部となると膨大なのでひとまずJIS非漢字に属するやつだけでも判定できるようにする。
JIS非漢字に属さない記号も判定したくなったら、そのときは追加で…。
/docsでRustdocを公開しようとしても上手く行かなかった残滓を削除する。重い。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.