前もブログに書いたが、その時は半分くらい調査段階だった。 ここ数日で「よし、やるか」と思い立ってやったくらいの所まで来たので、正式にkatexの移植を始めた、と言っておく(完成するかはわからないが)

一人では辛い、と泣き言を言ってたら、@kzys氏がView側を手伝っても良い、と言ってくれたので、とりあえず使える所までは行けるんじゃないか、という気がし始めている。

プロジェクト名はkotlitex

プロジェクトの名前は最初kotexにしようとしたが別の名前ですでにあるようで結構ひっかかるのでいろいろググった結果kotlitexにする事にする。

レポジトリ

https://github.com/karino2/kotlitex

何をやっているか

katexのv0.10.0をkotlinに移植しています。 基本的にはbuildHTMLに相当するものを移植してレイアウトのツリーを作り、 そのあとこれを辿ってCanvasに書くViewとかDynamicDrawableSpanとかを作るつもりです。

katexのフォントを含めて、これで描く予定。

100% kotlin native, no web view, no JSの物を作ろうと考えています。

2019/1/15現在の進捗

x^2とかx_2とかのレイアウトが終わった、くらいです。 一応nodeが生成しているのと同じ座標にレイアウトされていそう。 レンダリングはまだ。

現在はいわゆる関数回りがごっそりコメントアウトされているので、fracとかがまだ動かない。 また、英語と数字以外のシンボル回りの定義も持ってきてないので良くあるギリシャ文字とかが出ない。

まだやる事は結構残ってるけれど、ここまでも相当大変でした。 レイアウトのツリーを作るまでは一番大変な所は乗り越えたんじゃなか。

もう少し出来てきたら英語のページ作ったりアナウンスしたりして、協力者を募りたいと思っているけれど、そこまで行くかなぁ。 頑張りたい。