ONLYOFFICEが2世代のMicrosoftフォーミュラをどのように調整したか

ドキュメントエディターを開発したとき、ユーザーに任意のオブジェクトを操作する機会を与えたいと考えました。 このウィンドウですべてを一度に編集する方法で生じた障害の1つは、式、またはむしろその二重性でした。 工科大学の学生は、ほぼ100%の確率でこの現象に直面しました。MSOfficeスイートのエディターには、「古い」(バイナリ.doc)および「新しい」(プログレッシブXML)式の存在について話している。



この記事では、ONLYOFFICEエディターでこの問題を解決する方法について説明します。 答えは簡単です。K-「変換」。 古い式を編集可能な新しい式に変換し、私たちのアイデアに非常に満足しています。 なぜこのようにしたのか、変換がどのように機能するのかを読み進めてください。







数式の二元論





Microsoftエディターでは、2つの異なる形式で数式を入力できます。



古い式形式は、Microsoft Equationアドインを使用して2007年より前にMS Officeで作成された式です。 たとえば、Wordでこのような数式を作成するには、ユーザーはメニュー([ 挿入 ]-> [ オブジェクト] -> [ Microsoft Equation] )を使用してサードパーティのエディターを呼び出します。 このコマンドは、数式エディターを開きます。これは、実際にはDesign ScienceのMath Typeプログラムの簡略版です。



したがって、古い式はOLEオブジェクトです。 Wordは、ドキュメントの特定の領域を別のアプリケーションに提供するだけで、このアプリケーションがドキュメント内で何をするのかさえ知らない。 閉じた後、MS Equation Wordは、作成された数式をテキストに埋め込まれた画像として参照します。 テキスト自体を編集することはできません-数式エディタを再度呼び出す必要があります。



2007年、docxへの移行が始まりました。 彼と一緒に、Microsoftには独自の数式エディタがあり、その可能性ははるかに広くなっています。 まず、より数学的な記号とパターンがあります。 第二に、新しいエディターにより、Wordは数式を画像としてではなく、テキストの一部として使用できます。 したがって、新しい数式エディターはWYSIWYGエディターです。



数学者や数式を必要とするすべての人の生活は、新しいエディターの登場によって簡素化されたように思われました。 しかし、問題がありました。 docx形式への移行はすぐには行われませんでした-doc形式の大量のドキュメントが残っていました。 また、多くのドキュメントがドキュメントに永続的に保存され続けます。 そして、これは驚くことではありません-多くは古いコンピューターと古いバージョンのMS Officeを持っています。



そのため、ユーザーはdocxとdocの両方でファイルを保存します。 さらに、docxに変換されることのないドキュメント形式の膨大な数のドキュメント、およびこれらのドキュメントとそれらで作成された数式を処理しなければならない膨大な数のユーザーがいます。



さまざまなドキュメントエディターが問題を解決する方法









ONLYOFFICEアプローチ





当然、両方のタイプの数式をサポートしたかったのです。 同時に、新しい式を正確に基礎としてとることは論理的に思えた。 主な形式はdocxです。



Microsoftのような2つのエディターを作成したくありませんでした-リソースを消費し、有望ではありません。 さらに、docxに保存されている古い数式を完全に表示できます。 別のエディターを作成するのは非常に奇妙なことであり、ここで私たちが決めたのは、ユーザーに新しい数式で好きなことをさせ、古い数式をベクター画像として表示することです。 しかし、これは、彼がその中の何も変更できないことを意味するものではありません-エレガントなマウスの動き(ダブルクリックとも呼ばれます)と古い数式が新しい、完全にアクセス可能な編集に変換されます。



変換の仕組み





古い数式は、wocxベクターイメージの形式とOLEオブジェクト(古い数式のバイナリ)の2つのバージョンでdocxドキュメントに保存されます。 古い式がドキュメント内で見つかった場合、Wordで記録されたものなどの画像として表示します。 したがって、ONLYOFFICEエディターでは、古い数式を含むファイルがWordの場合と同様に開きます。



変換するとき、フォーマット内の何か、つまり 古い式と新しい式の形式が根本的に異なるため、変更します。 しかし、ドキュメントのすべてのオブジェクトを編集できるようになったため、これは簡単に修正できます。



ちょっとした秘密 :実際、ユーザーが望む前に式が変換されます。 ファイルを開く前にサーバー上のバイナリを解析し、ドキュメントの外観を保持するために画像を表示します。 ただし、ユーザーが必要に応じて、これらの写真をすぐに変換済みの数式に変更します。



ここでは、オリジナルと呼ぶことができます。古いフォーマットを新しいフォーマットに変換する人はいません。 さえ言葉。 ONLYOFFICEエディターを使用すると、ドキュメント内の式を修正してから、すべてをdocxに変換し、二度と考えることはありません。



このような変換を行うには、仕様がどこにも見つからない閉じた形式を開く方法を学習する必要がありました。 概して、それはリバースエンジニアリング手法によって解析されます。 数式を含む何百もの小さなファイルでかなりの時間を費やし、数式に追加する内容によってバイナリの動作がどのように変化するかを観察する必要がありました。 しかし、それは価値がありました。 数式の代わりに写真をユーザーに残すことはできませんでした:)



難しさ





古い数式を新しい数式に変換するときに発生する可能性がある唯一の問題は、形式が互いに互換性がないことです。 そのような場合、1つの式を同様の式に変換するために一生懸命作業する必要がありました。



たとえば、古い形式の3つの方程式のシステムを考えます







方程式の場合、左揃え(中央/右)が新しい形式で指定されます;そのような揃えはありません(式は中央揃えされます)







新しい数式で左揃えを実装するには、各方程式の先頭に&を置きます。 基準線間の最小距離を増やすと、







原則として、許容可能な変換結果。 変換後、必要に応じて、変数の前の適切な場所に&を配置することにより、システムをもう少し編集できます。古い式では困難な結果が得られます







結論の代わりに





私たちは、ONLYOFFICEユーザーにとって可能な限り便利な数式の操作を試みましたが、結果に非常に満足しています。 古い形式の式を新しい形式に変換することで、docxへの普遍的な移行に貢献したことを願っています。 ドキュメントから数式を取得し、再びそこに戻ることはありません。



そしてまだ-私たちはエディターの改善をやめません。 近い将来の主な優先事項は、脚注の作成です。 さらに、すぐにすべてのONLYOFFICEモジュールの大規模な更新パッケージが提供されます。 主なものの1つは、レビュー権限を持つdocxドキュメントの提供です(エディターのバージョン3.6で登場しましたが、現在では、作業がさらに便利になっています)。 一般的に、私たちと一緒にいてください:)



All Articles