萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 670|回复: 0

1-1-16-2-21 IDEA 3.0正式版 and some java books uploa..

[复制链接]
发表于 2003-5-11 23:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
发信人: ioly (anguls), 信区: Java
标  题: Re: IDEA 3.0正式版 and some java books uploa...
发信站: BBS 水木清华站 (Thu Nov 14 10:09:36 2002), 转信

对于中文问题有如下看法, 希望能抛砖引玉
起因:
  idea3.0实际上对中文支持已经很好, 但是由于其默认charset是utf-8,
当你在ide options选择"新宋体"并保存的时候, idea将你的style的信息
以xml的格式写到\IntelliJ-IDEA-3.0\config\colors(windows 2000平台),
很可惜它写xml的时候使用的是系统默认charset, 这显然是个失误:
<?xml version="1.0" encoding="UTF-8"?>
<scheme name="style1" parent_scheme="Default">
   <option name="LINE_SPACING" value="1.0" />
   <option name="EDITOR_FONT_SIZE" value="13" />
   <option name="EDITOR_FONT_NAME" value="新宋体"/>
  三个gb码的"新宋体"显然没有作任何处理. 于是, idea下次启动的时候,
使用utf-8 parse这个xml的时候显然无法正确识别字体名.
解决方法:
1, 将那个xml中的"新宋体"三个字的码字转换成"UTF-8"编码. 下面是一个参考
  转码程序:

  1. Enc.java
  2. import java.io.*;
  3. public class Enc{
  4.     public static void main(String[] args) throws Exception{
  5.         if (args.length != 4){
  6.             System.out.println("usage: java Enc <src file> <src encoding> <t
  7. arget file> <target encoding>");
  8.             System.exit(0);
  9.         }else if (args[0].equals(args[2])){
  10.             System.out.println("cannot overwrite src file, change the target
  11. file name pls.");
  12.             System.exit(0);
  13.         }
  14.         BufferedReader reader = new BufferedReader(new InputStreamReader(new
  15. FileInputStream(args[0]), args[1]), 1024 * 1024);
  16.         BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(ne
  17. w FileOutputStream(args[2]), args[3]), 1024 * 1024);
  18.         String line = reader.readLine();
  19.         while(line != null){
  20.             writer.write(line);
  21.             writer.newLine();
  22.             line = reader.readLine();
  23.         }
  24.         reader.close();
  25.         writer.close();
  26.     }
  27. }
复制代码

  转码成功后的xml文件头是这样
  <?xml version="1.0" encoding="UTF-8"?>
  <scheme name="style1" parent_scheme="Default">
    <option name="LINE_SPACING" value="1.0" />
    <option name="EDITOR_FONT_SIZE" value="13" />
    <option name="EDITOR_FONT_NAME" value="鏂板畫浣?" />
  这里的"新宋体"三个字用的是真正的utf-8编码
2, 第二种方法还只属于构思. 就是想办法搞出这样一种字体, 支持汉字显示,
    但字体名是英文的. 这等于是对idea网开一面. 初步的设想是拷贝一份
    新宋体的ttc(simsun.ttc), 然后想办法更改其字体名. 这可不仅仅是更改
    一下文件名就可以的. 不知道ttc文件的结构, 无从下手.


【 在 NullPointer (空指针·莫之夭阏) 的大作中提到: 】
: 建议把Editor Font设为Courier, Size 13 or 12


--

※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 218.17.78.152]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-15 17:40 , Processed in 1.359341 second(s), 19 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表