The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Перекодировка для матричного принтера Epson (keyboard scancode print charset)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: keyboard, scancode, print, charset,  (найти похожие документы)
Date: Thu, 11 Nov 2004 22:49:40 +0500 From: Sergey Mudry <upx@nsk.ru.> Newsgroups: ftn.ru.linux Subject: Перекодировка для матричного принтера Epson SM>> Если не найдешь подходящей, можно и свой пеpекодиpовщик сделать, не SM>> пpоблема. Или еще однy табличкy набить в исходники iconv/recode. L> Хотелось бы по-подpобнее как набить новyю таблицy. Я создал свою L> таблицy в каталоге /usr/share/i18n/charmap/ , но пpи выполнении L> команды iconv она не видит мою новyю кодиpовкy и не хочет L> тpанспониpовать Ээээ... насчет тех не знаю, IMHO, их использует только localedef. Для iconv'а таблички я видел где-то в другом месте, и в виде .so - файлов. Я бы взял исходники recode, и аккуратно вбил туда. А еще быстрее - сделать простенькую программку типа: $ cat >koi2cpf.c #include<stdio.h> static char koi2cpf[256]={ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, 0xC4,0xB3,0xDA,0xBF,0xC0,0xD9,0xC3,0xB4, 0xC2,0xC1,0xC5,0xDF,0xDC,0xDB,0xDD,0xDE, 0xB0,0xB1,0xB2,0x3F,0xFE,0xF9,0xFB,0x3F, 0x3F,0x3F,0xFF,0x3F,0xF8,0x3F,0xFA,0x3F, 0xCD,0xBA,0xD5,0xF1,0xD6,0xC9,0xB8,0xB7, 0xBB,0xD4,0xD3,0xC8,0xBE,0xBD,0xBC,0xC6, 0xC7,0xCC,0xB5,0xF0,0xB6,0xB9,0xD1,0xD2, 0xCB,0xCF,0xD0,0xCA,0xD8,0xD7,0xCE,0x3F, 0xEE,0xA0,0xA1,0xE6,0xA4,0xA5,0xE4,0xA3, 0xE5,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE, 0xAF,0xEF,0xE0,0xE1,0xE2,0xE3,0xA6,0xA2, 0xEC,0xEB,0xA7,0xE8,0xED,0xE9,0xE7,0xEA, 0x9E,0x80,0x81,0x96,0x84,0x85,0x94,0x83, 0x95,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E, 0x8F,0x9F,0x90,0x91,0x92,0x93,0x86,0x82, 0x9C,0x9B,0x87,0x98,0x9D,0x99,0x97,0x9A }; int main() { int c; while((c=getchar())!=EOF) putchar(koi2cpf[c]); return 0; } Сейчас здесь набита таблица перекодировки koi8-r -> 866. Hе знаю где там у тебя псевдографика, в общем коцай как тебе нравится.
From: Zurawlev Maksim <maximnik@mail.iks.ru.> Таблица Esc-последовательностей для пpинтеpа Epson Коды ASCII Клавиша Код нажатия Клавиша Код нажатия Клавиша Код нажатия "1" 2 "T" 20 "L" 38 "2" 3 "Y" 21 ";" 39 "3" 4 "U" 22 "'" 40 "4" 5 "I" 23 "`" 41 "5" 6 "O" 24 "\" 43 "6" 7 "P" 25 "Z" 44 "7" 8 "[" 26 "X" 45 "8" 9 "]" 27 "C" 46 "9" 10 "A" 30 "V" 47 "0" 11 "S" 31 "B" 48 "-" 12 "D" 32 "N" 49 "=" 13 "F" 33 "M" 50 "Q" 16 "G" 34 "," 51 "W" 17 "H" 35 "." 52 "E" 18 "J" 36 "/" 53 "R" 19 "K" 37 пробел 57 Управляющие клавиши Esc - 1 Ctrl - 29 Alt - 56 BackSpace - 14 left shift - 42 CapsLock - 58 Tab - 15 right shift - 42 NumLock - 58 Enter - 28 PrtSc - 55 ScrollLock - 70 В текстовом редакторе (пустом и с английской кодировкой водиш следующим образом : любой код ASCII от 1 до 255 может быть введен с клавиатуры, если держать нажатой клавишу Alt при наборе номера кода на дополнительной клавиатуре (с соответст- венно установленным режимом NumLock). Когда клавиша Alt затем освобождается, то код вводится.Закрываешь редактор и печатаешь - есть проще способ через команду echo но сейчас не помню. Привожу еще некоторые управляющие коды : DEL Стереть символ Esc SO то же что SO Esc SI то же что SI Esc EM Включить/выключить режим автоподачи Esc SP Установить межсимвольное расстояние Esc ! Установить стиль печати Esc # Выключить контроль MSB (8-го бита данных) Esc $ (n1) (n2) Переместить в абс.позицию по горизонтали Esc % Включить загружаемый шрифт Esc & (0) (n1) (n2) Загрузить шрифт Esc + L Включить n/360-дюймовый интервал Esc - P Включить или выключить подчеркивание Esc / Select (включить) Vertical Tab Channel Esc 0 P Включить 1/8-дюймовый интервал Esc 1 P E Включить 7/72-дюймовый интервал Esc 2 Включить 1/6-дюймовый интервал Esc 2 P Включить интервал Esc A (или 1/6") Esc 3 Включить n/216-дюймовый интервал Esc 3 L N Включить n/180-дюймовый интервал Esc 4 Включить курсив Esc 4 P Установить верхнюю границу формата Esc 6 P Подключить коды 128-159 к печати (printable коды) Esc 7 P Отключить коды 128-159 от печати (upper control) Esc 8 E Отключить контроль конца бумаги Esc 9 E Подключить контроль конца бумаги Esc : Копировать текущий ROM в RAM Esc : P Включить плотность 12 Pitch Esc < Включить однонаправленный режим (на одну строку) Esc = Установить MSB (8-й бит данных) в 0 Esc = P Загрузить шрифт Esc > Установить MSB в 1 Esc ? (s) (m) Переназначить графический режим Esc @ Инициализировать принтер Esc A P E Установить n/72-дюймовый интервал Esc A L N Установить n/60-дюймовый интервал Esc I E Расширить область печатных кодов Esc I P Выбрать NLQ/DRAFT и ROM/RAM шрифт Esc J P E Исполнить n/216-дюймовый интервал Esc J L N Исполнить n/180-дюймовый интервал Esc K (n1) (n2) P Включить режим плотности 60 dpi графики Esc L (n1) (n2) P Включить режим плотности 120 dpi графики Esc M Включить плотность 12 Pitch Esc N P Включить пропуск перфорации Esc O P Отключить пропуск перфорации Esc P Включить плотность 10 Pitch Esc Q P Выключить принтер Esc R Включить международный кодовый набор Esc R P Сбросить все табуляторы (to power on) Esc S (0) P Включить режим надстрочника Esc S (1) P Включить режим подстрочника Esc T P Выключить режим над/под-строчника Esc U P Включить/выключить однонаправленный режим Esc V N Повторяемые данные Esc Y (n1) (n2) P Включить режим графики плотности 120 dpi и высокой скорости Esc Z (n1) (n2) P Включить режим плотности 240 dpi графики Esc [ @ P Установить режим двойной высоты, двойной ширины Esc \ (n1) (n2) Установить относ. гориз. позицию печати Esc \ (n1) (n2) P Печатать все символы (0-255) Esc ^ E Включить режим 9-точечной графики Esc ^ P Печатать один символ (0-255) Esc _ P Включить/выключить режим зачеркивания Esc a Включить выравнивание (justification) Esc b (c) (n1) (n2) Set vertical tabs in channels (n...) (0) Esc e 0 N Repeated horizontal tabs Esc e 1 N Repeated vertical tabs Esc f 0 N Print head moved Esc f 1 N Paper advanced Esc g L N Включить 15 Pitch Esc j N Исполнить n/180-дюймовый возврат бумаги Esc k Включить Typestyle Family (select a font) Esc l Установить левую границу Esc p Включить/выключить пропорциональный режим Esc s E N Включить/выключить режим половинной скорости Esc t Select character table Esc w E L Включить/выключить режим двойной высоты Esc x Включить режим NLQ или DRAFT

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Алексей (??), 15:16, 27/06/2007 [ответить]  
  • +/
    Подскажите как устронить прогон бумаги при печати на рулонной бумаге?
    Заранее благодарю.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру