[kaffe] i18n patches for X AWT backend

jserv@linux2.cc.ntu.edu.tw jserv@linux2.cc.ntu.edu.tw
Wed Feb 25 09:46:02 2004


--XsQoSWH+UP9D9v3l
Content-Type: text/plain; charset=big5
Content-Disposition: inline

Hello all developers,

  I found that Kaffe might not support i18n well, which is really bad
for handling CJK. I did primitive patches on X AWT backend for i18n
improvements. 

  Also, you might want to modify
libraries/javalib/java/awt/Defaults.java for the above patch. The
default font definitions in Kaffe is not flexible, and we need some
dirty things like:

  String fntCat = Integer.toString(res) + '-' + res + "-*-*-*-*";
  //FsDefault = "-b&h-lucida-%s-%s-*-*-*-%d-" + fntCat;
  FsDefault = "-adobe-helvetica-%s-%s-*-*-*-%d-"  + fntCat;
  FsMonospaced = "-adobe-courier-%s-%s-*-*-*-%d-" + fntCat;
  FsSansSerif = "-adobe-helvetica-%s-%s-*-*-*-%d-" + fntCat;
  FsSerif = "-adobe-times-%s-%s-*-*-*-%d-" + fntCat;
  FsDialog = "-misc-fixed-%s-%s-*-*-*-%d-" + fntCat;
  FsDialogInput = "-b&h-lucidatypewriter-%s-%s-*-*-*-%d-" + fntCat;
  FsZapfDingbats = "-adobe-new century schoolbook-%s-%s-*-*-*-%d-" +
fntCat;

  The code segement describes how Kaffe takes default fonts, where we
must deal with our fontname with proper locales.

  Thanks!

- Jim Huang <jimchyun@ccns.ncku.edu.tw>  

--XsQoSWH+UP9D9v3l
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="kaffe-1.1.4-i18n.patch.gz"
Content-Transfer-Encoding: base64

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

--XsQoSWH+UP9D9v3l--