public void insertString(int aOffset,
String aString,
AttributeSet anAttr) throws BadLocationException {
StringBuffer buffer = new StringBuffer(aString.length());
Character.UnicodeBlock cyr = Character.UnicodeBlock.CYRILLIC;
char[] chars = aString.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (Character.UnicodeBlock.of(chars[i]).equals(cyr)) {
buffer.append(chars[i]);
}
else {
try {
String c = new Character(chars[i]).toString();
byte[] b = c.getBytes("ISO-8859-1");
buffer.append(new String(b, "Cp1251"));
}
catch (java.io.UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
super.insertString(aOffset, buffer.toString(), anAttr);
}
|