私のiPhoneアプリでは、いくつかの数式を描きたいと思います。クォーツ2Dでそれをどのように管理できますか?たとえばラテックスのような式を作成する方法はありますか?または、既存のフレームワークはありますか?ありがとう。
2 に答える
まさにそれを行うiPhoneアプリケーションの開発者として、植字方程式は簡単な作業ではないと言うとき、私を信じてください。私の場合、Core Animationレイヤーを使用して、解析された方程式のサブ要素を作成しました。方程式は階層的に構築され、方程式を構成する操作はそのように配置されます。各操作は、その親操作のレイヤー内に含まれ、その特定の操作のルールに従って配置されます。
方程式内の操作の視覚的要素をレンダリングするために、Quartzを使用して線や記号などを描画しましたが、ほとんどの描画は、NSStringテキスト描画拡張機能を使用してCALayer内に描画されたテキストでした。
CALayersはデフォルトではベクター要素としてレンダリングされないため、これらの方程式からPDFを生成するための標準のCALayerレンダリングアーキテクチャをオーバーライドしました。このレンダリングが私のアプリケーションでどのように機能するかの例については、ベースレベルで同じことを行うオープンソースのCorePlotプロジェクトを参照してください。
方程式からLaTeXに出力します。これは、階層データ構造に解析すると非常に簡単ですが、LaTeXからその構造に解析するのは少し難しいことがわかります。
単純なテキスト方程式の入力と評価には、GrahamCoxのGCMathParserが役立つ場合があります。
私が聞いたことがあるCocoatouch用に実装された実際のTexエンジンはありませんが、軽量のJavascript式レイアウトエンジンjsMathがあります。