其实解决的算法很简单,可是我怎么也调试不出来。心焦的很。
比如现在有这样的文本: ~飞到我梦里,夕阳又事情,黄昏有华裔,事情华裔虽然没,我心中只有你-, $ipsilone- %di5plCi-
要求其中的汉字用宋体表示,英文用arial字体显示,di5plCi用音标字体显示。同时要去掉该文本中的~ - $ %字符,因为这几个字符是标识汉字字符,英文,音标的开头和结尾的。应该要去掉。
可是在实现这一过程的时候,我的这个程序,怎么总出现毛病,要么就没有任何反应,要么就是实现了部分字符的字体转换,要么就是只去掉了部分的标识字符。
请高手帮忙,指点迷津。不甚感激!
[附带源程序]
repeat with i=1 to member("page").char.count
case member("page").char[i] of
"$":
begin_position=i+1
repeat while (member("page").char[i+1]<>"-")
i=i+1
end repeat
end_position=i
member("page").char[begin_position..end_position].font="Arial Black"
put space into member("page").char[begin_position-1]
put space into member("page").char[end_position+1]
i=i+1
"~":
begin_position=i+1
repeat while (member("page").char[i+1]<>"-")
i=i+1
end repeat
end_position=i
member("page").char[begin_position..end_position].font="华文新魏"
put space into member("page").char[begin_position-1]
put space into member("page").char[end_position+1]
i=i+1
"%":
begin_position=i+1
repeat while (member("page").char[i+1]<>"-")
i=i+1
end repeat
end_position=i
member("page").char[begin_position..end_position].font="Kingsoft Phonetic Plain"
put space into member("page").char[begin_position-1]
put space into member("page").char[end_position+1]
i=i+1
otherwise:
i=i+1
end case
end repeat
Shockwave 动画: