LINUX.ORG.RU

Редактор различных типов формул


0

0

Добрый день!

Занимаюсь разработкой мультиплатформенной LGPL-библиотеки FI для набора различного вида формул и любых других иерархических структур. Одновременно с библиотекой также пишу на Qt редактор формул (наподобие MathType для MS Office, но с большим функционалом). Этот редактор планируется в дальнейшем встроить в OOo как средство для набора формул. Объем работ достаточно большой, а времени, как всегда мало , поэтому если кто заинтересовался и хочет поучаствовать в написании кода, тестировании, поиске ошибок, внедрении библиотеки в свои разработки (подробнее в документации), или просто предложить новые идеи, пишите на e-mail: libfi@mail.ru Все исходники и бинарные сборки под Linux x86 и x64 можно найти на svn: svn://ien.pp.ru/ars Кроме того, на сайте http://fi-library.h16.ru можно ознакомиться с актуальными в данный момент вопросами.

Основные преимущества библиотеки:

1. написана в виде библиотеки, что позволяет легко встраивать ее в любую программу, где требуется набор или отображение формул в реальном времени;

2. написана на ANSI C89;

3. может использоваться совместно с любой GUI-библиотекой, что позволяет использовать ее в приложениях на основе WinAPI, Qt, GTK, MFC, WxWidgets и т. п.;

4. библиотека легко встраивается в любое приложение, так как требует для этого написания небольшого количества GUI-зависимого кода;

5. библиотека легко расширяется новыми элементарными типами формул, кроме того, последние добавляются и удаляются динамически, что позволяет легко трансформировать, например, редактор математических формул в редактор структурных;

6. в библиотеке реализована возможность экспорта формул в произвольные иерархические текстовые языки представления формул (TeX, MathML, Maxima, Mathematica);

7. добавление нового иерархического текстового языка для экспорта производится с помощью простого описания его структуры в XML-файле экспорта;

8. библиотека рисует формулы высокого эстетического качества, что достигается использованием тех же принципов рисования, на которых основана издательская система TeX;

9. в библиотеке реализована возможность экспорта набранных формул в растровые и векторные графические форматы;

10. в библиотеке присутствует возможность задания цветов фона и символов, как при отображении на форме приложения, так и при экспорте в графические форматы;

11. библиотека поддерживает разные представления формулы во время набора и в окончательном (готовом виде); Необходимость двух различных представлений обусловлена тем, что во время редактирования удобно использовать дополнительные (наборные) интервалы между некоторыми частями формулы, например, для удобства установки курсора. В окончательном же виде эти интервалы не нужны и только портят визуальное представление.

12. библиотека сохраняет логическую структуру формулы, то есть логическое значение каждой элементарной формулы в дереве формулы;

13. библиотека поддерживает возможность экспорта логической структуры формулы в дерево для передачи приложению с целью последующей обработки;

14. все параметры элементарных типов формул (то есть расстояния между их элементами при рисовании) можно регулировать динамически;

15. библиотека позволяет динамически загружать и выгружать шрифты, что дает возможность использовать в формулах любые доступные символы;

16. библиотека содержит возможность динамической генерации пиктограмм, для того, чтобы в использующем ее приложении можно было легко организовать графическое меню доступных для набора элементарных формул;

17. библиотека позволяет сохранять дерево формулы в бинарный поток с внедрением используемых в нем шрифтов;

18. в библиотеке реализованы все возможные на дереве формулы варианты выделения, что позволяет производить редактирование не только целых поддеревьев, но и внутренних частей дерева.

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.