G gutian Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-23 #1 我想做一个数学公式的编辑器,据我了解,一般的公式编辑工具都是使用字体来实现的。 我想知道,使用字体应该如何操作呢。还有特别是对于分子、分母以及上下标的处理。
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-02 #9 用要在什么里面解决,可以用一些透明的 label,通过设置字体大小。 还有公式的复杂程度。
G gutian Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-05 #11 不一定哦,我看了一下mathematic和amaya,他们好像基本都是使用了自己的数学符号字库 的,我就是对如何操作上,感到有些疑惑
T tooper Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-05 #12 大家有没有式过把公式编辑器的公式直接贴到Flash里,他会被转换成标准的文本,所以 公式可以用系统提供的字体描述,往不同的地方贴符号就行了
A alextsui Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-30 #13 我也想做, 因為要做數學題庫, 也想過自己做數學公式編輯器, 但太難了, 後來只能用其他方法解決, 我也想知道方法, 關注.
P powers Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-13 #14 呵呵,俺在公司做了一个,高等数学中的常见公式都能显示。 原理很简单,就是直接在画布上画。
A alextsui Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-13 #16 如果自己畫就當然簡單, 可是我們要求可以讓客戶自己編輯修改的, 如果有你們想像的 這麼簡單就好了, 當時我也想過自己開發Fonts, 但還是遇到了問題, 後來換了其他方法 解決的, 不知道有沒有高手曾經做過類似的項目, 有自己的編輯器的, 學習中.....
如果自己畫就當然簡單, 可是我們要求可以讓客戶自己編輯修改的, 如果有你們想像的 這麼簡單就好了, 當時我也想過自己開發Fonts, 但還是遇到了問題, 後來換了其他方法 解決的, 不知道有沒有高手曾經做過類似的項目, 有自己的編輯器的, 學習中.....
P powers Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-13 #17 to alextsui: 当然可以让客户自己编辑修改了,生成一个光标,用光标键或鼠标控制其位置,在光标处 响应键盘输入或者插入一个结构(比如分子式或根式等),然后再将改变后的公式重新画一 遍。原理就这么简单,关键问题是程序中数据结构的设计。
to alextsui: 当然可以让客户自己编辑修改了,生成一个光标,用光标键或鼠标控制其位置,在光标处 响应键盘输入或者插入一个结构(比如分子式或根式等),然后再将改变后的公式重新画一 遍。原理就这么简单,关键问题是程序中数据结构的设计。
A alextsui Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-13 #18 To powers: 願聞其詳, 還有我說一下我們客戶的要求, 我們是做習題題的, 所以客戶可以自己 編輯數學算式, 還有這個數學算式有不同的題型, 另外還有一個吐血的問題就是, 我 們的習題內容還要輸出MS Word的, 然後在MS Word也要求可以編輯修改的, 不過你能 教我除了MS Word之外實現的功能也感激不盡了, 須然現在項目已經完成, 但也想學習 學習, 可行的話我開帖給你分, 多謝指教.
To powers: 願聞其詳, 還有我說一下我們客戶的要求, 我們是做習題題的, 所以客戶可以自己 編輯數學算式, 還有這個數學算式有不同的題型, 另外還有一個吐血的問題就是, 我 們的習題內容還要輸出MS Word的, 然後在MS Word也要求可以編輯修改的, 不過你能 教我除了MS Word之外實現的功能也感激不盡了, 須然現在項目已經完成, 但也想學習 學習, 可行的話我開帖給你分, 多謝指教.
P powers Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-14 #19 to alextsui: 老兄做的跟我们差不多。 我们是用一可树来记录公式中的内容,用CreateCaret()来创建一个光标,光标移动时, 用SetCaretPos()来改变光标位置,光标的移动量用Canvas.TextWidth()测出。光标的位置 与树中的当前节点是相对应的。剩下的就是节点的插入、删除和遍历,和公式改变后的重绘了。
to alextsui: 老兄做的跟我们差不多。 我们是用一可树来记录公式中的内容,用CreateCaret()来创建一个光标,光标移动时, 用SetCaretPos()来改变光标位置,光标的移动量用Canvas.TextWidth()测出。光标的位置 与树中的当前节点是相对应的。剩下的就是节点的插入、删除和遍历,和公式改变后的重绘了。