Chinese Computing Newsletter; February, 2000, v.4 ================================================= CONTENTS ======== * Adobe Introduces Asian Font Packs for Acrobat 4.0 Reader * SlangSoft to Introduce "Spirus" Pure Java Input Methods * Freeworld Offers Website Encoding and Graphics Converters * Pinyin Input Methods for Java Now Available * Unicode 3.0 Includes Ideographic Description Method * Site of the Month: BasisTech * Code Sample of the Month: Searching for Chinese fonts using Java ARTICLES ======== ** Adobe Introduces Asian Font Packs for Acrobat 4.0 Reader Adobe Acrobat 4.0 introduces the ability to include Chinese and other East Asian languages in a PDF document and be able to display them in any other language version of Acrobat. This can be done by either embedding the fonts in the document or downloading the appropriate font pack to the computer with the Acrobat viewer. The font packs are quite large though (10 megabytes for the simplified Chinese pack). - Contributed by Daniel Baird Related Links http://www.adobe.com/products/acrobat/cjkfontpack.html ** SlangSoft to Introduce "Spirus" pure Java Input Methods SlangSoft has made available a new collection of input methods and virtual keyboards taking advantage of Java2 v1.3's improved support for internationalization. Input methods are available for 42 different languages, including Chinese. Related Links http://www.slangsoft.com/code/spirus.html ** Freeworld Offers Website Encoding and Graphics Converters Freeworld-2000 now offers services to convert web pages between Big5 and GB, and to also convert web pages in Chinese, Japanese, or Korean into graphics that can be viewed on any language web browser. Users will have to put up with banner adds for the free versions of the services. The user interface also takes up a large portion of the browser area. Related Links http://www.freeworld-2000.com/ctext/ http://www.freeworld-2000.com/unitext/ ** Pinyin Input Methods for Java Now Available As reported in an earlier newletter, Java 2 v1.3 now includes the ability to add pure Java input methods as extensions that can be used by any Java program. Using the input method tutorial at JavaSoft, I have created six Chinese input methods for simplified, traditional, and mixed characters using pinyin. Source code is included with the input methods. Related Links http://users.erols.com/eepeter/chinesecomputing/programming/java.html#input ** Unicode 3.0 Includes Ideographic Description Method New to Unicode 3.0 is a system for describing characters not found in the current specification. The method relies on the fact that most characters are composed of other characters in certain common patterns. Starting at U+2FF0, the new revision also includes a set of ideographic description characters that can be used with a standard algorithm to show the relative positions of component characters. Unfortunately, I have not found an on-line description of the algorithm. It is included in the new Unicode Standard 3.0 book. Related Links http://www.unicode.org/unicode/uni2book/u2.html http://www.hclrss.demon.co.uk/unicode/ideographic_description_characters.html http://ppewww.ph.gla.ac.uk/~flavell/unicode/unidata2F.html The Unicode Standard 3.0, p. 268-271. ** Site of the Month: Basis Technology Corp. Basis Technology, headquartered in Cambridge, Massachusetts, makes a variety of Chinese lingustic software tools, including a Chinese script converter, morphological analyzer, and XML document publisher. BasisTech also makes C++ libraries for processing Unicode and is a member of the Unicode Consortium. Related Links http://www.basistech.com ** Code Sample of the Month: Searching for Chinese fonts using Java // Begin Code Sample // Determine which fonts support Chinese here ... Font[] allfonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); int fontcount = 0; String chinesesample = // A representative sample of simplified Chinese characters "\u7684\u662F\u4E0D\u6211\u4E00\u6709\u5927\u5728\u4EBA\u4E86\u4E2D" + "\u5230\u8981\u4EE5\u53EF\u8FD9\u4E2A\u4F60\u4F1A\u597D"; for (int j = 0; j < allfonts.length; j++) { if (allfonts[j].canDisplayUpTo(chinesesample) == chinesesample.length()) { // Due to a bug in the JVM, all logical fonts are included, whether they // work or not, so I remove them from consideration here if (allfonts[j].getFontName().startsWith("dialog") == false && allfonts[j].getFontName().startsWith("monospaced") == false && allfonts[j].getFontName().startsWith("sansserif") == false && allfonts[j].getFontName().startsWith("serif") == false) { System.out.println(allfonts[j].getFontName()); } fontcount++; } } // End Code Sample -------------------------------------------------------------------- Please send suggestions for future Chinese Computing Newsletter items to erik@chinesecomputing.com. Past issues of the newsletter can be accessed through the www.chinesecomputing.com site. Feel free to redistribute the newsletter for non-commercial use. To remove yourself from the list, send an e-mail to newsletter@chinesecomputing.com. On the subject line write "remove your@email-address.com".