Gainizaro / openbravoposru

Automatically exported from code.google.com/p/openbravoposru
0 stars 1 forks source link

Поддержка кириллицы CP866 для дисплея покупателя VFD600 #174

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Исполняя пожелания рассылки 
http://groups.google.com/group/openbravoposru/browse_thread/thread/1fde8c4e01ff4
744 Добавил в r574 поддержку кириллицы. 
Посмотрите код вместо подстановки 
символов использую следующий алгоритм:

    public final byte[] convertString(String sConvert) {
        byte bAux[] = new byte[sConvert.length()];
        for (int i = 0; i < sConvert.length(); i++) {
                    char c = sConvert.charAt(i);
            if ((c >= 0x0020) && (c < 0x0080)) {
                bAux[i] = (byte) c;
            } else if (c >= '\u0410' && c <= '\u044F' || c =='\u0401' || c == '\u0451') {
                try {
                    bAux[i] = Character.toString(c).getBytes("CP866")[0]; // CP866 Cyrillic
                } catch (UnsupportedEncodingException ex) {
                }
            } else if (c == '\u00A0') {
                bAux[i] = (byte) 0x7F; // &nbsp
            } else if (c == '\u2116') {
                bAux[i] = (byte) 0xFC; // №
            } else {
                bAux[i] = (byte) 0x3F; // ? Not valid character.
            }
        }
        return bAux;
    }

В будущем планирую его выделить в 
отдельную утилиту и использовать для 
разных вариантов работы с кодировками.

Название дисплея в системе vfd866cyr. 
Тестируйте и сообщайте результат.

Original issue reported on code.google.com by svinin...@gmail.com on 19 Sep 2011 at 9:01