翻到一個超級老的文檔
TeXmacs由C++編寫
然後源碼目錄各個目錄的分配是
Basic 數據結構
Resource 字體,語言,編碼,字典資源
Prg 擴展語言
Typeset 打字設置
Edit 編輯器相關
Server 服務器相關
我現在拿到的源碼目錄是
這個文檔說的到底是多少年前的目錄組織結構了
文本的表示
- specific symbol
與字體相關,不同的字體不同的效果 - universal symbol
獨立於字體,用<>
包起來
典型的,我的中文顯示不出來
就長這樣
語言
說的好像是會做一個類似分詞的操作
打字時的文本
tree爲輸入,box爲輸出
box還可以在邏輯光標和物理光標之間轉換
文本修改過程
- 事件觸發 如
make_fraction
- 路由到某個操作
assign, insert, remove, split, join, ins_unary and rem_unary.
- 在修改前,會通知同樣文本的view
- 得到通知的view,會更新光標位置等. 還會通知
the typesetter of the text
(幹啥呀?) - 最後再執行修改
- 用戶的操作比如
a keystroke or a mouse click
都會插入undo points
.撤銷修改時,編輯器會移除之前的undo points
這就是texmacs/TeXmacs/doc/devel/source/architecture.en.tm
的學習記錄啦