Коды управления для LJ1100 в текстовом файле.
От: AndreyN Россия  
Дата: 24.05.02 07:14
Оценка:
Помогите найти какие коды надо включать в текстовый файл, чтобы на ходу можно было изменять размер и начертание шрифта в тексте. Необходимо для оформительских нужд и чтобы умещать необходимый объем текста на листах, варьируя межсимвольный и межстрочный интервал. Для Epson-совместимых уже давно наладил и пользую. Как сделать аналогичное для HP. Нарыл в инете много таблиц с управляющими кодами, но ни одна полностью не решила мои проблемы. Что-то еще нужно знать. Например, я не могу управлять размером тексте, т.е. использовать разного размера слова и строки. Какой размер загружу LJ5DL, такой и печатает.
Нагорный А.Н.
Re: Коды управления для LJ1100 в текстовом файле.
От: Patalog Россия  
Дата: 24.05.02 13:43
Оценка: 3 (1)
Здравствуйте AndreyN, Вы писали:

AN>Помогите найти какие коды надо включать в текстовый файл, чтобы на ходу можно было изменять размер и начертание шрифта в тексте. Необходимо для оформительских нужд и чтобы умещать необходимый объем текста на листах, варьируя межсимвольный и межстрочный интервал. Для Epson-совместимых уже давно наладил и пользую. Как сделать аналогичное для HP. Нарыл в инете много таблиц с управляющими кодами, но ни одна полностью не решила мои проблемы. Что-то еще нужно знать. Например, я не могу управлять размером тексте, т.е. использовать разного размера слова и строки. Какой размер загружу LJ5DL, такой и печатает.


Посмотри в сторону PCL aka Printer Control Language. Ибо как раз для HP.

Размер и начертание шрифта...
ESC(s0p10v0s3b5T - Select a 10-point, bold, Times Roman font
ESC(s1p12v0s3b4T Select a proportionally spaced, 12 - point, upright, bold Helvetica font.


Полный список приводить не буду, смотри в PCL5 Technical Reference Manual.

С межсимвольным сложнее ибо...

Esc&k#H aka Horizontal Motion Index (# = Number of 1 inch increments)


When fixed pitch fonts are selected, all printable
characters including the Space and Backspace characters
are a ected by HMI. When proportional fonts are
selected, the HMI affects only the Space control code
character.


Esc&l#C aka Vertical Motion Index (# = number of 1 inch increments between rows)


This command affects the Line Feed and Half-Line Feed
spacing.

ЗЫж Если надо, пиши, я на PCL собаку съел.
ЗЗЫж Примеры для PCL 5, если надо могу для PCL XL, он по навороченнее будет, да и по приятнее в использовании...
Почетный кавалер ордена Совка.
Re[2]: Коды управления для LJ1100 в текстовом файле.
От: Аноним  
Дата: 25.05.02 04:53
Оценка:
Здравствуйте Patalog, Вы писали:

P>Здравствуйте AndreyN, Вы писали:


AN>>Помогите найти какие коды надо включать в текстовый файл, чтобы на ходу можно было изменять размер и начертание шрифта в тексте. Необходимо для оформительских нужд и чтобы умещать необходимый объем текста на листах, варьируя межсимвольный и межстрочный интервал. Для Epson-совместимых уже давно наладил и пользую. Как сделать аналогичное для HP. Нарыл в инете много таблиц с управляющими кодами, но ни одна полностью не решила мои проблемы. Что-то еще нужно знать. Например, я не могу управлять размером тексте, т.е. использовать разного размера слова и строки. Какой размер загружу LJ5DL, такой и печатает.


P>Посмотри в сторону PCL aka Printer Control Language. Ибо как раз для HP.


P>Размер и начертание шрифта...

P>
P>ESC(s0p10v0s3b5T - Select a 10-point, bold, Times Roman font
P>ESC(s1p12v0s3b4T Select a proportionally spaced, 12 - point, upright, bold Helvetica font.
P>


P>Полный список приводить не буду, смотри в PCL5 Technical Reference Manual.


P>С межсимвольным сложнее ибо...


P>
P>Esc&k#H aka Horizontal Motion Index (# = Number of 1 inch increments)
P>


P>When fixed pitch fonts are selected, all printable

P>characters including the Space and Backspace characters
P>are a ected by HMI. When proportional fonts are
P>selected, the HMI affects only the Space control code
P>character.


P>
P>Esc&l#C aka Vertical Motion Index (# = number of 1 inch increments between rows)
P>


P>This command affects the Line Feed and Half-Line Feed

P>spacing.

P>ЗЫж Если надо, пиши, я на PCL собаку съел. :)

P>ЗЗЫж Примеры для PCL 5, если надо могу для PCL XL, он по навороченнее будет, да и по приятнее в использовании...
Большое спасибо за оперативный ответ. Вчера после того, как задал свой вопрос разобрался с размерами и начертанием моноширинных шрифтов с помощью управляющих кодов. А вот полностью управлять горизонтальной и вертикальной плотностью не получилось. Стандартные плотности символов в строке и строк на дюйм получается устанавливать, а вот промежуточные значения не принимает. Например, надо было не 12 и не 16 cpi, а 14 или 15, ан нет.
Будь добр. Расскажи подробнее об использовании кодов HMI и VMI. Еще вопрос. Я русифицирую принтер загружая шрифты курьер из поставки LJ5DL. Возможно ли использование в этом случае других шрифтов с кириличным написанием, например Times Roman и т.д.?
Re[3]: Коды управления для LJ1100 в текстовом файле.
От: Patalog Россия  
Дата: 25.05.02 08:45
Оценка: 3 (1)
Здравствуйте Аноним, Вы писали:

[skip]
А>Большое спасибо за оперативный ответ. Вчера после того, как задал свой вопрос разобрался с размерами и начертанием моноширинных шрифтов с помощью управляющих кодов. А вот полностью управлять горизонтальной и вертикальной плотностью не получилось. Стандартные плотности символов в строке и строк на дюйм получается устанавливать, а вот промежуточные значения не принимает. Например, надо было не 12 и не 16 cpi, а 14 или 15, ан нет.

Честно говоря у меня не возникало потребности в такой точности, моэтому точно сказать не могу, на досуге поробую. Может дело в
HMI is reset to match the new font when any of the font characteristics are changed and when switching between
primary and secondary fonts with Shift In and Shift Out.

или
A change in the control panel FORM setting results in a modification of VMI. If the Page Length command
(Esc&l#P) follows a VMI change, the physical size of the page is recalculated. Therefore, depending on the VMI
modification made, the printer may request a different paper size.


Помимо этого,
Line Spacing Command
The Line Spacing command sets the number of lines printed per inch. Only the values listed below are valid.
Esc&l#D

# = 
1 - 1 lpi
2 - 2 lpi
3 - 3 lpi
4 - 4 lpi
6 - 6 lpi
8 - 8 lpi
12 - 12 lpi
16 - 16 lpi
24 - 24 lpi
48 - 48 lpi

Default = 6
Range = 0,1,2,3,4,6,8,12,16,24,48 (Other values are ignored)

This command performs the same function as the Vertical Motion Index (VMI) command except that it
identifies the VMI in lines-per-inch (lpi).

To select 12 lpi, send:
Esc&l12D



Еще может поможет вот это:
To print the printer's resident 16.66 pitch Line Printer
font at 17.75 cpi, send Esc(s16.66H to select the Line Printer font, then send the command Esc&k6.76H to change HMI. 
This value field is calculated as follows:
Desired HMI = HMI units / Desired CPI = 120 / 17.75 = 6.76 HMI
Each character then occupies 6.76/120 inch or 1/17.75 inch.

Example To designate a VMI of 6 (8 lines-per-inch) send:
Esc&l6C (6/48 = 1/8 inch/line)
The following equation converts lines-per-inch spacing to
VMI:
VMI = 48 * 1/(# of desired lines per inch)


А>Будь добр. Расскажи подробнее об использовании кодов HMI и VMI. Еще вопрос. Я русифицирую принтер загружая шрифты курьер из поставки LJ5DL. Возможно ли использование в этом случае других шрифтов с кириличным написанием, например Times Roman и т.д.?


Ну ежели они есть в этой поставке, почему бы нет? А курьер у тебя видимо по дефолту...
Typeface Family Command
The Typeface Family command designates the design of
the font.
Esc(s#T - Primary typeface family
Esc)s#T - Secondary typeface family

# = Typeface family value (see Appendix C in the PCL 5 Comparison Guide for typeface values).
Default = 4099, Courier
Range = 0 - 65535 (values greater than 65535 are set to 65535)


Ежели мне не изменяет склероз, то например Arial — 16602, Times New Roman — 16901. Правда как я понял эти значения находятся в слиьно зависимости от модели, не даром сказано see Appendix C in the PCL 5 Comparison Guide for typeface values.

Еще заметь —
Font Priority Considerations
Symbol Set      highest
Spacing            |
Pitch              |
Height             |
Style              |
Stroke Weight      |
Typeface Family    |
Resolution         |
Location           |
Orientation     lowest

Т.е. если Symbol Set or Spacing и т.д. не совпадают с выбранным Typeface Family, то шрифт будет выбран ближайший подходящий, а не тот который ты ожидал... Правда, имхо, енто тоже от модели зависит.

А вообще я для себя эту проблему решил так сказать радикально (ибо комсомольцы не ищут легких путей) — загружаю TrueType виндовский и дело в шляпе.
Правда геморно это весьма...

ЗЫж А спасибо сдесь выражают в оценках...
Почетный кавалер ордена Совка.
Re[4]: Коды управления для LJ1100 в текстовом файле.
От: AndreyN Россия  
Дата: 25.05.02 11:05
Оценка:
Здравствуйте Patalog, Вы писали:

P>Здравствуйте Аноним, Вы писали:


P>[skip]

А>>Большое спасибо за оперативный ответ. Вчера после того, как задал свой вопрос разобрался с размерами и начертанием моноширинных шрифтов с помощью управляющих кодов. А вот полностью управлять горизонтальной и вертикальной плотностью не получилось. Стандартные плотности символов в строке и строк на дюйм получается устанавливать, а вот промежуточные значения не принимает. Например, надо было не 12 и не 16 cpi, а 14 или 15, ан нет.

P>Честно говоря у меня не возникало потребности в такой точности, моэтому точно сказать не могу, на досуге поробую. Может дело в

P>
P>HMI is reset to match the new font when any of the font characteristics are changed and when switching between
P>primary and secondary fonts with Shift In and Shift Out.
P>

P>или
P>
P>A change in the control panel FORM setting results in a modification of VMI. If the Page Length command
P>(Esc&l#P) follows a VMI change, the physical size of the page is recalculated. Therefore, depending on the VMI
P>modification made, the printer may request a different paper size.
P>


P>Помимо этого,

P>
P>Line Spacing Command
P>The Line Spacing command sets the number of lines printed per inch. Only the values listed below are valid.
P>Esc&l#D

P># = 
P>1 - 1 lpi
P>2 - 2 lpi
P>3 - 3 lpi
P>4 - 4 lpi
P>6 - 6 lpi
P>8 - 8 lpi
P>12 - 12 lpi
P>16 - 16 lpi
P>24 - 24 lpi
P>48 - 48 lpi

P>Default = 6
P>Range = 0,1,2,3,4,6,8,12,16,24,48 (Other values are ignored)

P>This command performs the same function as the Vertical Motion Index (VMI) command except that it
P>identifies the VMI in lines-per-inch (lpi).

P>To select 12 lpi, send:
P>Esc&l12D
P>



P>Еще может поможет вот это:

P>
P>To print the printer's resident 16.66 pitch Line Printer
P>font at 17.75 cpi, send Esc(s16.66H to select the Line Printer font, then send the command Esc&k6.76H to change HMI. 
P>This value field is calculated as follows:
P>Desired HMI = HMI units / Desired CPI = 120 / 17.75 = 6.76 HMI
P>Each character then occupies 6.76/120 inch or 1/17.75 inch.

P>Example To designate a VMI of 6 (8 lines-per-inch) send:
P>Esc&l6C (6/48 = 1/8 inch/line)
P>The following equation converts lines-per-inch spacing to
P>VMI:
P>VMI = 48 * 1/(# of desired lines per inch)
P>


А>>Будь добр. Расскажи подробнее об использовании кодов HMI и VMI. Еще вопрос. Я русифицирую принтер загружая шрифты курьер из поставки LJ5DL. Возможно ли использование в этом случае других шрифтов с кириличным написанием, например Times Roman и т.д.?


P>Ну ежели они есть в этой поставке, почему бы нет? А курьер у тебя видимо по дефолту...

P>
P>Typeface Family Command
P>The Typeface Family command designates the design of
P>the font.
P>Esc(s#T - Primary typeface family
P>Esc)s#T - Secondary typeface family

P># = Typeface family value (see Appendix C in the PCL 5 Comparison Guide for typeface values).
P>Default = 4099, Courier
P>Range = 0 - 65535 (values greater than 65535 are set to 65535)
P>


P>Ежели мне не изменяет склероз, то например Arial — 16602, Times New Roman — 16901. Правда как я понял эти значения находятся в слиьно зависимости от модели, не даром сказано see Appendix C in the PCL 5 Comparison Guide for typeface values.


P>Еще заметь —

P>
P>Font Priority Considerations
P>Symbol Set      highest
P>Spacing            |
P>Pitch              |
P>Height             |
P>Style              |
P>Stroke Weight      |
P>Typeface Family    |
P>Resolution         |
P>Location           |
P>Orientation     lowest
P>

P>Т.е. если Symbol Set or Spacing и т.д. не совпадают с выбранным Typeface Family, то шрифт будет выбран ближайший подходящий, а не тот который ты ожидал... Правда, имхо, енто тоже от модели зависит. :(

P>А вообще я для себя эту проблему решил так сказать радикально (ибо комсомольцы не ищут легких путей) — загружаю TrueType виндовский и дело в шляпе.

P>Правда геморно это весьма... :(

P>ЗЫж А спасибо сдесь выражают в оценках... ;)

Еще раз личное спасибо. С HMI всё получилось. Буду дальше осваивать просторы PCL. А как, ты говоришь, грузить TTF?Прямо в принтер? Нашел еще шрифты Times Roman и Univers, только как их подключить.
ftp://ftp.nbti.glasnet.ru/drv/Printer/Lexmark/PCL.RUS/JUNK/TRB00CPO.SFS
TRI00CPO.SFS
TRJ00CPO.SFS
TRR00CPO.SFS
UNB00CPO.SFS
UNI00CPO.SFS
UNJ00CPO.SFS
UNR00CPO.SFS

LJ5DL грузит только те, которые у него в теле прописаны, {CRB00CPO.SFS, CRB00ERO.SFS, CRI00CPO.SFS, CRI00ERO.SFS, CRJ00CPO.SFS, CRJ00ERO.SFS, CRR00CPO.SFS, CRR00ERO.SFS}т.е. курьер.
Пробовал грузить настройками принтера, через драйвер софтовые шрифты. Но ни момента загрузки шрифта в принтер не увидел, ни как их выбрать из общего числа не нашел.
Нагорный А.Н.
Re[5]: Коды управления для LJ1100 в текстовом файле.
От: Patalog Россия  
Дата: 27.05.02 08:10
Оценка:
Здравствуйте AndreyN, Вы писали:

[skip]

AN>Еще раз личное спасибо. С HMI всё получилось. Буду дальше осваивать просторы PCL. А как, ты говоришь, грузить TTF?Прямо в принтер? Нашел еще шрифты Times Roman и Univers, только как их подключить.


Я думаю тебе нужно обязательно почитать PCL5 Technical Reference Manual. Ежели у тебя ее нет, могу положить на ftp. Еще советую зарагистрироваться на http://www.hpdevelopersolutions.com (там можно ето сделать безвоздмездно, т.е. на халяву :) Я там в свое время подчерпнул много чего полезного. И форумы там есть. По крайней мере были :)
А насчет загрузки TTF, то ето в двух словах не расскажешь, ибо как я уже говорил, геморройно очень. Я для 5-го PCL сам только недавно доделал, и еще несколько смутных моментов осталось. Хотя для PCL XL все работает. Правда насколько я знаю 1100-й XL не поддерживает :(
Принцип там в общем-то простой: открываешь TTF файл (структуру файла можно взять у мелкомягких). Вытаскиваешь оттуда нужную информацию (несколько таблиц типа head, cmap, hhea и т.д., потом вытаскиваешь нужные тебе глифы и всю эту хрень пихаешь прямо в файл (в нужном формате), который потом отдается принтеру. В мануале это расписано. А у HP есть библиотека XLTTLib, где ето все реализованно, правда опять таки для XL, поэтому мне пришлось делать самому, используя ее в качестве примера. В общем, дело весьма геморройное.

AN>ftp://ftp.nbti.glasnet.ru/drv/Printer/Lexmark/PCL.RUS/JUNK/TRB00CPO.SFS

AN>TRI00CPO.SFS
AN>TRJ00CPO.SFS
AN>TRR00CPO.SFS
AN>UNB00CPO.SFS
AN>UNI00CPO.SFS
AN>UNJ00CPO.SFS
AN>UNR00CPO.SFS

AN>LJ5DL грузит только те, которые у него в теле прописаны, {CRB00CPO.SFS, CRB00ERO.SFS, CRI00CPO.SFS, CRI00ERO.SFS, CRJ00CPO.SFS, CRJ00ERO.SFS, CRR00CPO.SFS, CRR00ERO.SFS}т.е. курьер.

AN>Пробовал грузить настройками принтера, через драйвер софтовые шрифты. Но ни момента загрузки шрифта в принтер не увидел, ни как их выбрать из общего числа не нашел.

Сам я с SFS дела не имел, потому как сразу начал с ttf. Но насколько я понял, их можно грузить прямо в принтер типа copy /b UNR00CPO.SFS prn. А потом выбирать по TypeFace.
Почетный кавалер ордена Совка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.