2011-05-08 43 views
0

我在其中包含一些文本的软件应用程序内部有一个文本框控件。该软件使用的是其他地方不存在的自定义字体,仅针对该程序。我没有它的来源或访问它的创作者。现在,我想将该文本复制到记事本或MS文本中,但是当我执行文本时,除非将字处理器的字体更改为软件正在使用的字体(写入文本的字体),否则不可读。所以我希望文本在任何地方都可读,而不是依赖于特定的字体。那有可能吗?更改文本错误的字体

我是c#程序员。这里是不可读的文本的例子:

ý¶† ±øõœ ­ý¶† –ý¾‡¨ ÿ†°†¬ ­ñð‡ì úÞ±¶ Ä쇤 ½±” 
à¥ì ±øõœ þ·ñœ­Œ Ý稆­Œ ô±º±” (.ì) 
[þü‡íý‘†õø] 
ý¶† 
[þ¶­ñùì ïõéÎ] 
±øõœ ­ý¶† ‡º±” 
[þíýº] 
ý¶† 
[úð‡ýì‡Î —‡¤çȾ†] ÿ¬.¹†.ë† °­©ì ÿû¬‡ì ²† þÎõð.ÿ¬.¹†.ë†" 

有趣的是,它在几乎所有的字体显示出来这样除了文本原始写入与一个。顺便说一句,文本是阿拉伯文,我测试文本的所有字体都支持阿拉伯文字符。现在

如果我一些文字,在字体包括英语和阿拉伯语的记事本,然后的字体更改为其他字体它看起来不错和工作正常了!所以只有在文字为粘贴进入文字处理器时才会出现问题。

编辑:我想我找到了问题!自定义字体是一种光栅字体(位图字体),它有一个.fon扩展名,在下面的线程中,有人想将位图字体转换为ttf,因为他在打印文档时遇到问题。我想复制和粘贴,所以也许我必须转换字体?

讨论: how to convert a bitmap font .fon into a truetype font ttf

任何形式的帮助实在是赞赏。 谢谢。

+0

更多详情。文本以何种方式无法读取? – 2011-05-08 11:02:20

回答

1

任何形式的帮助真的很感激。

如果我看到我的superuser.com回答这个问题本来是:

您可以从字体A文本的字体更改为Arial。

例如在Microsoft Word

  1. 打开替换对话框(编辑>>更换或按Ctrl + H)
  2. 确保没有文本在查找内容或替换为框中指定
  3. 单击查找内容框,然后单击格式(如果看不到格式按钮,请单击更多以展开搜索选项)
  4. 从弹出列表中选择字体
  5. 在查找字体对话框中,选择该文本格式选项,你想更换
  6. 单击确定
  7. 单击替换为框中
  8. 单击格式
  9. 选择从弹出列表
  10. 在替换字体对话框中字体,选择新你想文本格式选项适用
  11. 单击确定
  12. 单击全部替换
  13. 单击确定
  14. 单击关闭

(从http://wordprocessing.about.com/cs/quicktips/qt/fontreplace.htm

顺便说一句:如果文档使用的样式,它实际上是更容易更改字体。出于这个原因,我尝试总是使用样式,而不是直接将字体应用于文本。

如果你是不是指的Word文档,请修改你的问题说用什么软件来创建文本 - 或者什么文件格式的文本存储在

既然你问。我慢慢推断你可能正在编写一些程序,用一些未指定的编程语言。我建议你编辑你的问题,并指定你正在使用的编程语言,并给出一些示例代码来说明问题。

例如,在Java中,你可以做这样的事情

 
    JLabel label = new JLabel("hello world"); 
    label.setFont(new Font("Arial", Font.PLAIN, 12)); 
0

这听起来非常仿佛原始程序的作者已经发明了自己的字符编码,并提供了字体去用它。也许开发工具仅限于ANSI文本,开发人员提出了这种极端的解决方案。

通过在自定义 字体中写入一些英文文本来检验假设,看看是否出现阿拉伯文 字符。

如果是这样,那么你将不得不计算出编码是什么,并逐字符转换字符串。

+0

当你在字体中键入字符如ý[†]时会发生什么? – 2011-05-08 16:22:26

+0

如果我将键盘更改为阿拉伯语,然后在记事本中输入阿拉伯字符a​​pear,如果我将其更改为EN并键入英文字符将会变成apear。如果我输入¶¶[þ¶我正确地用阿拉伯文的字符。 – jason 2011-05-09 05:31:48

+0

如果ý†[þ¶显示为阿拉伯字符,那么这个字体并不意味着我的回答是正确的? – 2011-05-09 06:07:57