PDA

Просмотр полной версии : Символы с индексами


Noodles
06.03.2012, 13:28
Всем доброго времени суток!
Стоит такая задача: необходимо реализовать ввод и отображение символов с верхним и нижним индексом (наподобие формул в MS Word, когда один большой элемент имеет два индекса).
Пока что не имею представления как это лучше реализовать.
Есть ли у кого какие идеи в каком направлении думать?
Заранее благодарю за ответы.

Genzo
06.03.2012, 13:32
Если символ единичный то написать класс самого символа, в нем 3 TF, если требуется именно система нужно писать рендерер который будет отрисовывать символы, средством одного TF мне кажется это не решить, ибо есть 2 индекса одновременно, то они находятся на одной позиции.

wvxvw
06.03.2012, 19:30
FTE позволяет на уровне каждого символа задавать трансформацию, в том числе и смещение. Но имейте в виду - индекс, это не всегда только уменьшение и смещение, для некоторых знаков есть специальные значки индекса. (Например значек градуса).
Скажем честно, API у FTE довольно таки... необычный, и пользоваться им иногда затруднительно.
А можете описать по-подробнее, зачем это нужно - может можно пользователей обучить пользоваться LaTeX'ом, и пусть бы сервер себе конвертировал в PDF / картинку?

Noodles
07.03.2012, 13:46
Это эмулятор преобразований примитивно-рекурсивных функций. Индексы нужны только в виде цифр, допустим U[4,5] - где 4 и 5 должны быть вверху и внизу соответственно. Про LaTeX думал, но хочу все таки сделать своими силами, тк из того функционала требуются только индексы. Попробую использовать FTE.

Noodles
18.03.2012, 03:11
Решил все таки делать с помощью TextField.
Вопрос такой, возможно ли один TextField добавлять другой TextField или экземпляр своего класса содержащий 3 TextFielda в другой TextField?

udaaff
18.03.2012, 05:35
TextField не является контейнером.

Noodles
19.03.2012, 19:50
А есть какие-либо способы как можно реализовать представление одного TextFielda в другом?

Aquahawk
19.03.2012, 20:12
В один текстфилд второй не нарисовать. Можно сделать спрайт на который поместить много текстфилдов, а можно вообще отрисовать их на битмап. И имея один текстфилд нарисовать его много раз в разных местах с разным текстом.

zuxul
20.03.2012, 14:08
TextField не является контейнером.
А вот и неправда :p
http://www.flasher.ru/forum/blog.php?b=194
Правда, для текущей задачи это мало поможет.

K.A.T.A.F.A.L.K.E.R
20.03.2012, 14:42
Нужно просто индексы добавлять? Если в один уровень - попробуйте шрифтом. Например GG Superscript. Если задача сложнее - тогда надо свой рендеринг делать.