所谓“安静”的加拼音是指遇到多音字时可以智能的选择拼音。例如,“银行”在加拼音时软件可以自动的将拼音选择为“yin hang”而不会选择“yin xing”。有三种方式可以使用“安静”的加拼音:一种是在C#脚本程序用加拼音函数;第二种是在MARC记录窗中通过修改dp2catalog_marc_autogen.cs配置文件;第三种是针对从 Z39.50 服务器检索得来的、还没有来得及另存到其他位置的 MARC 记录,在 MARC 记录窗口中执行创建数据的功能,包括加拼音的功能。
下面介绍下使用方法:
第一种在C#脚本程序中用加拼音函数
环境背景:dp2Catalog的版本为2.1.5009.34728及以上版本,并且拼音服务器配置了 http://dp2003.com/gcatserver/
步骤:
1、将以上复制粘贴以下代码到文本文件,并且保存为*.cs的文件,如附件"加拼音.cs"。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;
using System.Text;
using System.Xml;
using dp2Catalog;
using DigitalPlatform.Marc;
using DigitalPlatform.Xml;
using DigitalPlatform.Script;
public class MyMarcQueryHost : MarcQueryHost {
// 新的加拼音字段配置。$9
string PinyinCfgXml = "<root>"
+ "<item name='200' from='a' to='9' />"
+ "<item name='701' indicator='@[^A].' from='a' to='9' />"
+ "<item name='711' from='a' to='9' />"
+ "<item name='702' indicator='@[^A].' from='a' to='9' />"
+ "<item name='712' from='a' to='9' />"
+ "</root>";
string OldPinyinCfgXml = "<root>"
+ "<item name='200' from='aefhi' to='AEFHI' />"
+ "<item name='701' indicator='@[^A].' from='a' to='A' />"
+ "<item name='711' from='a' to='A' />"
+ "<item name='702' indicator='@[^A].' from='a' to='A' />"
+ "<item name='712' from='a' to='A' />"
+ "</root>";
public override void OnRecord(object sender, StatisEventArgs e)
{
this.MainForm.RemovePinyin(
this.MarcRecord,
this.PinyinCfgXml);
this.MainForm.RemovePinyin(
this.MarcRecord,
this.OldPinyinCfgXml);
int nRet = this.MainForm.AddPinyin(
this.MarcRecord,
this.PinyinCfgXml,
PinyinStyle.None,
"",
true);
if (nRet == -1)
{
e.Continue = ContinueType.SkipAll;
return;
}
this.Changed = true;
}
}
2、在dp2Catalog的dp2检索窗中检索出需要加拼音的记录,选中后右击上下文菜单的批处理--执行MarcQuery脚本程序,然后在“请指定MarcQuery脚本程序文件”对话框里面选中加拼音.cs,点击“打开”按钮,则开始执行“安静”的加拼音功能,然后再右击上下文菜单的批处理--保存选定的修改或保存全部修改即可。
第二种是在MARC记录窗中通过修改dp2catalog_marc_autogen.cs配置文件
环境背景:dp2Catalog在“参数配置”对话框中,在“全局”属性页,勾选“加拼音时自动选择多音字”;在“服务器”属性页,确保 拼音服务器配置为 http://dp2003.com/gcatserver/ ;
步骤:
1、用dp2batch、dp2rms或dp2manager前端针对相关书目库dp2catalog_marc_autogen.cs文件,修改下面局部:
void AddPinyin()
{
AddPinyin(this.PinyinCfgXml,
true,
PinyinStyle.None,
"",
this.DetailForm.MainForm.AutoSelPinyin);
}
即,AddPinyin() 函数增加了几个参数。修改完成后,保存该配置文件,并重新启动dp2kernel服务和dp2library服务。
2、然后将记录装入MARC记录窗后执行加拼音,就能实现“安静”的加拼音功能了。
第三种是针对从 Z39.50 服务器检索得来的、还没有来得及另存到其他位置的 MARC 记录,在 MARC 记录窗口中执行创建数据的功能,包括加拼音的功能。
环境背景:除了第二种环境背景外还需要dp2Catalog 的程序文件夹中,1_2_840_10003_5_1 子目录下的 dp2catalog_marc_autogen.cs 配置文件包含了上述Void AddPinyin()函数。
步骤:
用dp2Catalog的Z39.50检索窗检索出相关的记录后,双击装入MARC记录窗,此时窗口的记录路径文本框为空,然后点击固定面板--创建数据页的“加拼音“功能就能实现”安静“的加拼音功能了。