Source code: com/memoire/fu/FuUnicodeFilterReader.java
1 /**
2 * @modification $Date: 2002/07/26 09:39:31 $
3 * @statut unstable
4 * @file FuUnicodeFilterReader.java
5 * @version 0.36
6 * @author Guillaume Desnoix
7 * @email guillaume@desnoix.com
8 * @license GNU General Public License 2 (GPL2)
9 * @copyright 1998-2001 Guillaume Desnoix
10 */
11
12 package com.memoire.fu;
13
14 import com.memoire.fu.*;
15
16 import java.io.*;
17
18 public class FuUnicodeFilterReader extends FilterReader
19 {
20 private int p_=-1;
21
22 public FuUnicodeFilterReader(Reader _reader)
23 {
24 super(_reader);
25 }
26
27 public int read() throws IOException
28 {
29 int i;
30 if(p_!=-1)
31 {
32 i=p_;
33 p_=-1;
34 }
35 else
36 {
37 i=super.read();
38 if(i=='\\')
39 {
40 int j=super.read();
41 if(j!='u')
42 {
43 p_=j;
44 }
45 else
46 {
47 String h="";
48 for(int k=0;k<4;k++) h+=(char)super.read();
49 i=Integer.parseInt(h,16);
50 //System.err.println(i+" "+h);
51 }
52 }
53 }
54 return i;
55 }
56 }
57