A.9.6 输出和接口图形 为了不依赖于显示分辨率,对3D图形使用了表面消隐技术.
使用一个用户书写PostScript解释程序在前端中使用图形.
笔记本使用一个与位图格式无关的用户平台.
前端 前端使用MathLink同时实现与内核的通信以及它内部不同成分之间的通信.
前端中所有菜单项和函数通过使用Mathematica表达式指定.
配置文件和优先选择文件使用Mathematica语言格式.
Help Browser基于由本书中同样源代码生成的Mathematica笔记本.
笔记本 笔记本被表示为Mathematica表达式.
笔记本文件以Mathematica注释的形式包括了隐藏的附加信息概要.这些信息使得有效随机存取成为可能.
笔记本的附加存储使得数据重写和对已写入的数据移出的可能性达到最小.
平台无关的双缓冲被默认用来使窗体内容更新时闪烁次数最少.
自动滚屏使用一个理论控制机制来优化光滑度和可控性.
所有特殊字符都使用Unicode表示的与平台无关的形式.而具体的日本汉字和其它字体由映射表来建立.
拼写检查和连字符通过算法和100,000字的标准英语词典,加上20,000字的技术词典,以及5000 Mathematica词语及其它附加词语实现.拼写校正则通过原文和语音规则实现.
MathLink 在OSI中,MathLink是能放在任何基于通信和流基础上的传输媒质上层的表示层协议.
当一个连接两端确实是兼容的计算机系统时,MathLink将使用一种压缩格式对数据进行编码.
MathLink能够像Mathematica表达式一样传输出诸如中断的数据块.
如果可能,MathLink使用动态链接共享库来实现.
表达式的标准化 前端使用一个有向无环图来表示标准表达式的盒框结构.
盒框使用运算优先分析算法的一种二维推广来解释.
附加的分析算法用来优化结构和显示更新.
空格和定位字符通过字体数据和运算表来确定.
贯穿于表达式始终的线性中断的全局优化使用基于与TeX中所使用的文本规划方法类似的方法.
在输入过程中将建立线性中断以使表达式的微小变化几乎不会引起大范围的重新标准化;如果输入需要跳转,一个椭圆形光标会立即出现以引导我们的视线.
表达式的标准化使用约2000页的C代码.
|