其实在使用SuperMemo的字体设置的时候,舍得就发觉了SuperMemo的字体设置不是很完美,用起来不爽。后来经过舍得的观察,发现SuperMemo的字体设置对词库中已经用Html语言定义过字体的词条是无效的,这时舍得就想,倘若在词库制作时,就事先用Html语言进行字体的定义,那会怎么样?

反正使用正则表达式也只不过是一条语句罢了。

而且对于那些经常用到的场合,使用预定义的宏,更加方便。

于是舍得开始试验,很顺利地实现了预想的效果。大家在近期下载的舍得制作的词库中,总会发现里面有<FONT
face=”Tohoma”; size=4>和<FONT
face=&#24494;&#36719;&#38597;&#40657;
size=4>这样的语句,这就是舍得的“研究成果”了。

下面舍得来告诉大家,如何给SuperMemo2006的词库批量的添加字体:

 

一、使用正则表达式

添加字体通常放在词库制作转码之前的最后一步。此时词库里已经有“Q:”和“A:”打头。下面的操作将在Emeditor中进行,请用它打开你的词库。

1.打开菜单“搜索->替换”,勾选“使用正则表达式”。

查找:(^Q:)

替换成:\1<FONT face=”Tohoma”;
size=4>

 

2.查找:(^Q:.*?$)

替换成:\1</FONT>

 

 

3.查找:(^A:)

替换成:\1<FONT face=微软雅黑;size=4>

舍得比较喜欢使用微软雅黑这一字体,它比黑体、宋体、楷体看起来都舒服,又没有其它字体那般花哨。而且它的英文字体与Tahoma看起来差不多,也深得舍得的喜爱。大家的系统里如果没有这一字体,可以将它换成其它的字体,或者从舍得博客首页的“软件下载”栏目中下载该字体。

 

4.查找:(^A:.*?$)

替换成:\1</FONT>

 

接下来就可以进行转码了。

 

二、使用宏

舍得建议大家编制这样的一条宏,可以在制作词库时很方便地调用它,来给词库添加字体。

舍得的宏是这样写的,大家可以参考一下:

document.selection.Replace(“(^Q: )”,”\\1<FONT face=\x22Tohoma\x22;
size=4>”,eeFindNext | eeReplaceAll |
eeFindReplaceRegExp);
document.selection.Replace(“(^A: )”,”\\1<FONT
face=&#24494;&#36719;&#38597;&#40657;
size=4>”,eeFindNext | eeReplaceAll |
eeFindReplaceRegExp);
document.selection.Replace(“(^Q:.*?$)”,”\\1</FONT>”,eeFindNext
| eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace(“(^A:.*?$)”,”\\1</FONT><BR>”,eeFindNext
| eeReplaceAll | eeFindReplaceRegExp);

大家可以将上面这段文本保存成jsee格式的文件,就可以在emeditor中调用它。

注意一下舍得特意在最后一行多加了一个<BR>,相当于在段落末尾加入一个回车符。这是用在你的词条中有多行“A:”的时候,有了<BR>,那些行就可以独立成段,否则的话它们将是连在一起的。