TeXmacs的架构-- architecture.en.tm学习记录
翻到一个超级老的文档
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
的学习记录啦