Newsgroup: it.comp.lang.vo-clipper
Titolo: ESC/Page, cerco manuale

Devo mettere mano ad un vecchio programma in clipper, che stampa  
direttamente sulle stampanti laser HP con il PCL5 e qui non c'e' nessun  
problema, ma anche sulle epson con linguaggio ESC/Page che purtroppo non  
supportano emulazione hp.
Sto cercando da un'ora il manuale, una qualche guida dei comandi, ma non  
la trovo :((
e dire che una volta mi pare ci fosse sul sito epson.
Qualcuno mi puo' dare un'imboccata utile ?
PS scusate se e' un po' OT, ma so che qui ci sono bene o male persone che  
fanno le stesse cose che faccio io :)
Grazie
-- 
===============================================================
Alberto Rubinelli - A2 SISTEMI  Opera 7.54->
news.individual.net
Via Costantino Perazzi 22 - 28100 NOVARA - ITALY
Tel 0321 640149  Fax 0321 391769 BBS 0321 392320
Mail: 
alb...@retrocomputing.net
  ICQ : 49872318
Visita il mio museo di computers: 
http://www.oldcomputers.it
---------------------------------------------------------------
Per favore, non scrivetemi in html, testo ascii a 7 bit
Non rispondo a chi mi scrive con indirizzo di reply alterato
===============================================================

 fanno le stesse cose che faccio io :)
Questo l'ho trovato facendo una ricerca su Google Gruppi, vedi se ti può
essere utile:
------------------------------­---------------------------- 
ESC-PAGE.TXT  : Zence Chen, 2005/01/13
------------------------------­---------------------------- 
ES:ESC: $1B  : ESC/P Leading Character
FS:     $1C  : For Double Byte Font Control Code
GS:     $1D  : ESC/Page Leading Character
Reference : EPSON ESC/Page reference Manual , But I don't have it.
\MSTOOL\MST_MAIN.EXE   : for Mitsubishi MELVEC Driver : using HEX Viewer
\GRA2EPGC\EXTPAGEL.PAS
Support Printer :
2 Byte Font Code EPSON Laser LP-1500 and serires
1 Byte Font Code ESC/Page Laser : EPL-5800/5900/6100/6200/N2750
    with Zence's EPAGEI17.ASM
following function call declaration in EXTPAGEL.PAS unit
within cpmpressed file GRA2EPGC.LZH
download from
http://www.vector.co.jp/download/file/dos/business/ff005144.html
Modified by Matsubayashi(94/03-)
Compiled by TURBO PASCAL 5.0
idx Code   Function Declaration
--- ------ ------------------------------­------------------------------­---
-- 
-------- 
01  pmE z  function SetPrinterMode(mode: integer): string;
02  owE    function EPage_OverWriteMode(owm: integer): string;
03  rhE    function EPage_HardReset: string;
04  rpE    function EPage_ParamReset: string;
05  poE    function EPage_PaperDirection(d: integer): string;
06  muE    function EPage_SetUnit(unitsys: integer; min_val: double):
string;
07  mmE    function EPage_MemoryMode(mode: integer): string;
08  tsE    function EPage_ScreenMode(mode: integer): string;
09  spE    function EPage_ScreenPattern(obj, graymode, grayscale: integer):
string;
10  spE    function EPage_GrayScale(obj, gray: integer): string;
11  loE    function EPage_Offset(xoff, yoff: longint): string;
12  psE    function EPage_PaperType(pt: integer): string;
13  psE    function EPage_PaperSize(w, l: longint): string;
14  caE    function EPage_ClipAria(left, top, right, bottom: longint):
string;
15  cmE    function EPage_ClipMode(mode: integer): string;
16  X      function EPage_LocateX(x: longint): string;
17  xP     function EPage_LocateC(c: integer): string;
18  Y      function EPage_LocateY(y: longint): string;
19  yP     function EPage_LocateL(l: integer): string;
20  H      function EPage_LocateRelX(x: longint): string;
21  hP     function EPage_LocateRelC(c: integer): string;
22  V      function EPage_LocateRelY(y: longint): string;
23  alfP   function EPage_AutoLF(mode: integer): string;
24  vP     function EPage_LocateRelL(l: integer): string;
25  ppP    function EPage_Push_Pop(l: integer): string;
26  pmP    function EPage_PitchMode(pm: integer): string;
27  pP     function EPage_Pitch(px, py: integer): string;
28  spF    function EPage_Spacing(sp: integer): string;
29  coP    function EPage_ChOffset(x, y: longint): string;
30  ssF    function EPage_SymbolSet(ss, b: integer): string;
31  wmF    function EPage_ChWidth(w: integer): string;
32  wcF    function EPage_ChWidthC(w: integer): string;
33  hmF    function EPage_ChHight(h: integer): string;
34  hpF    function EPage_ChHightP(h: integer): string;
35  weF    function EPage_ChLineWidth(fw: integer): string;
36  roF    function EPage_ChRotation(a: integer): string;
37  slF    function EPage_ChSlant(a: integer): string;
38  tfF    function EPage_Font(f: integer): string;
39  vpC    function EPage_TateMode(mode: integer): string;
40  lG     function EPage_Line(x1, y1, x2, y2: longint): string;
41  cG     function EPage_Circle(x, y, r: longint): string;
42  rG     function EPage_Rectangle(x1, y1, x2, y2, r: longint): string;
43  lpG    function EPage_LineType(p, lt: integer): string;
44  lwG    function EPage_LineWidth(lw, ed, jc: integer): string;
45  dmG    function EPage_DrawMode(fm: integer): string;
------------------------------­------------------------------­--------------
-- 
-------- 
Note:  Lowercase and UpperCase Char is different, just like ESC/P definition
Sorted By ESC/PAGE GS Tail Command Code
ps. all n/s/x/y, n1/n2/s1/s2/x1/x2/y1/y2: is string
    all command last Char seemd to be Uppercase, donate end of
GS-Command-Code
    * : Used ESC/Page GS-Code in MST_MAIN.EXE, about 20 set
    $ :      ESC/Page GS-Code in MST_MAIN.EXE, about    set
Tail-Code : Syntax              Idx/Name          Description
Example
----------  ------------------  ----------------- ------------------- ------ 
------ 
abP     $ : GS+n+'abP'            :Unknown        n:?                 1abP
2abP
affP      : GS+n+'affP'           :AutoFF         n='1'/'0' Set/Clr   0affP
alfP      : GS+n+'alfP'         25:AutoLF         n='1'/'0' Set/Clr   0alfP
boP       : GS+n+'boP'            :Unknown        n:?                 0boP
caE       : GS+x;y;x2;y2+'caE'  14:ClipArea       x:left,y:Top
                                                  x2:right,y2:bottom
cG        : GS+x;y;r+'cG'       41:Circle
clfP      : GS+n1;n2;n3+'clfP'    :Unknown
0;0;1clfP
coP       : GS+x;y+'coP'        29:ChOffset       x,y:pixel           0;0coP
                                                  char offset Adjustment
cmE       : GS+n+'cmE'          15:ClipMode       n='1'/'0' Set/Clr
dcF       : GS+n+'dcF'            :SelDownloadFont n:                 ndcF
dh{F      : GS+b;n+'dh{F'+DS      :DownloadFont   b:134 DS(42+54+28)
134;ndh{F
                                   followed by 134 bytes data structure
DataStructure(42)+FontName(54)­+SymbolSetName(28)
dmG       : GS+n+'dmG'          45:DrawModeGraphx n='1'/'0' Set/Clr?  1dmG |
0dmG
drE     $ : GS+n1;n2;n3+'drE'     :Unknown
0;n;ndrE
0;80,80drE
H         : GS+x+'H'            20:LocateRelX     x:pixel/point       rel
move hor
hmF     * : GS+n+'hmF'          32:ChHigth        n:char-Height(min)   40hmF
hP        : GS+x+'hP'           21:LocateRelC     x:unit column       rel
move hor
hpF     * : GS+n+'hpF'          34:ChHightP       n:Point
iaF       : GS+n+'boP'            :Unknown        n:?                 511iaF
ifF       : GS+n+'boP'            :Unknown        n:?                 511ifF
lG      * : GS+x1;y1;x2;y2+'lG' 40:Line           (x1,y1) to (x2,y2)
lpP       : GS+n1;n2+'lpP'        :Unknown        n1:                 8;0lpP
                                                  n2:                 8;nlpP
iuE       : GS+n1;n2+'iuE'        :Unknown        n1:? kyu-ushi
                                                  n2:? bin
lmE       : GS+n+'lmE'            :LeftMargin     n:bottom            0lmE
nrmE
                                                  followed by n+'rmE'
n:MarginMax
loE       : GS+x;y+'loE'        11:Offset         Set ref/Home Point
                                   usually followed by set
Top/Bottom/Left/Right Margin
                                   0tmE/xxbmE/0lmE/xxrmE
lpG     * : GS+n1;n2+'lpG'      43:LineType       n1:p ?              0;0lpG
                                                  n2:lt 0/1/2/3/4
                                                  0:Solid 1:Dot 2:? 3:Dash
4:Dot-Dash
lwG     * : GS+n1;n2;n3+'lwG'   44:LineWidth      n1:width
5;0;3lwG
                                                  n2:line-end-mode
2;0;3lwG
                                                  n3:line-junction-mode
mcF ?   * : GS+n1;n2+'mcF'        :Unknown        n1:                 0;0mcF
                                                  n2:Define UserSet?  0;1mcf
                                                                      0;2mcf
                                                                      1;3mcF
                                   followed by spF/ssF/tfF/wmF/hmF/slF
mmE       : GS+n+'mmE'          07:MemoryMode     n='1'/'0' Set/Clr   1mmE
muE     * : GS+n1;n2+'muE'      06:SetUnit        n1:Unit System
2;0.1muE
                                    0:point(1/72")/1:inch/2:mm
1;0.24muE
                                    Note Point & Pixel is different
                                                  n2:Min_val 0.1, xxx.xx
owE       : GS+n+'owE'          02:OverWriteMode  n='1'/'0' Set/Clr   1owE
pG        : GS+x;y;..xn;yn+'pG'   :PolygonGraphDraw
                                used inside 1tsE/0tsE
pmE     * : GS+'1pmE'           01:SetPrinterMode ESC/Page -> ESC/P   1pmE
pmP       : GS+n+'pmP'          26:PitchMode      Movement Mode       1pmP
poE     * : GS+n+'poE'          05:PaperDirection '0':Horizon         0poE
pP        : GS+n1;n2+'pP'       27:Pitch          n1:?                0,0pP
                                                  n2:?
ppP       :                     25:PushPopPosn    1ppP:PushPosn       1ppP
                                                  2ppP:PopPosn        2ppP
psE       : GS+n+'psE'          12:PaperType      n:papae_type        npsE
          : GS+n;;+'psE'        12:PaperType                          n;;psE
          : GS+'-1';w;h+'psE'   13:PapaerSize     w:width
?      -1;w;lpsE
                                                  l:length(height)
rG      * ; GS+x;y;x2;y2;n+'rG' 42:Rectangle      n:fill_enable?
0;0;1950,2750,0rG
rhE     * : GS+'rHE'            03:HardReset                          rhE
rmE       : GS+n+'rmE'            :RightMargin    n:RightMargin       nrmE
roF       : GS+n+'roF'          37:ChRotation     n:Char rotate Angle
                                                  0-359
rpE       : GS+'rpE'            04:ParamReset     n:RightMargin       rpE
sc{F      : GS+b;c+'dh{F'+DS      :DownloadRaster b:size(16+datalenght)
                                                  c:char_code
                                   used after dcF
                                   DataStructure(16)+RasterDataLe­nght(..)
slF     * : GS+n+'slF'          37:ChSlant        n:Char Slant Angle  330slF
                                                  0-359
spE     * : GS+n1;n2;n3+'spE'   09:ScreenPattern  n1:obj
1;1;5spE
                                                  n2:graymode
1;1;80spE
                                                  n3:grayscall 0(WT)-100(BK)
                                10:GrayScale      n2=0, n3:grayscall
1;0;20spE
spF     * : GS+n1+'spF'         28:Spaceing                           0spF
ssF     * : GS+s1+';'+s2+'ssF'  30:SymbolSet      s1:SymbolSet,
s1='1',..
                                                  s2:1/2-Byte Code,
s2='0','1','2'
                                                                      1;2ssF
                                                  S2=0:UserSymbolBase n;0ssF
tfF     * : GS+n+'tfF'          38:Font           n:Font Selection    10tfF
                                                                      9tfF
tmE       : GS+n+'tmE'            :Top Margin     n:Top               0tmE
nbmE
                                                  followed by n+'bmE'
n:MarginMax
tsE     * : GS+n+'tsE'          08:ScreenMode     n='1'/'0' Set/Clr   1tsE
                                                  set befopre mass Line(lG)
                                                  clr after done
V         : GS+y+'H'            22:LocateRelY     y:pixel/point       rel
move ver
vP        : GS+y+'vP'           24:LocateRelL     x:unit Line/Row     rel
move ver
vpC       : GS+n+'vpC'          39:TateMode       n='1'/'0' Set/Clr
                             Text Vertial writing 1:Portrait/Vertical
                                                  0:Lanscape/Hortizontal
X       * : GS+x+'X'            16:LocateX        x:pixel
x:'0'..8.5x300
                                                  x:mm 8.5"x2.54x100=2159
xP        : GS+x+'xP'           24:LocateC        x:unit Column       move
hor
Y       * : GS+y+'Y'            18:LocateY        y:pixel
y:'0'..11.5x300
                                                  y:mm 11.5"x2.54x100=2921
yP        : GS+y+'yP'           24:LocateL        y:unit line/row     move
ver
wcF     * : GS+n+'wcF'          33:ChWidthC       n:CPI
weF     * : GS+n+'weF'          35:ChLineWidth    n:char Line Width sel
wmF     * : GS+n+'wmF'          31:ChWidth        n:char-Width(min)   40wmF
z+NULx2 * : GS+'z'+$00+$00      01:SetPrinterMode ESC/P -> ESC/Page
$0C     * : FormFeed            Valid in ESC/Page
#X ($23)  : 2byte ASCII         => X
!X ($21)  : Punctualable Chars.
            change/swap rule
            $21 !! => ' ' $20
            $3F !? => '/' $2F
            $27 !' => ':' $3A
            $25 !% => '.' $2E
            $6f !o => '\' $5C
            $4A !J => '(' $28
            $4B !K => ')' $29
            $5D !] => '-' $2D   Guess
------- End of File:ESC-PAGE.TXT ------------------
-- 
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
The EMG Music page:         
http://www.emagsoftware.it/emgmusic

 EPSON ESC/Page reference Manual
Grazie, partendo da quello sto cercando e qualcosina appare , anche se  
poco.
Ciao.Alberto.


 ha scritto nel messaggio 
news:opstrbw1aywn5aa2@pca104alberto...


 Prova a vedere qui : 
http://webpages.charter.net/dperr/links/esc_p2.htm
Purtroppo lo standard ESC/P2 è diverso da quello ESC/Page richiesto da
Alberto.


 ha scritto nel 
messaggio news:uIOAe.149363$75.64...@news4.tin.it...


 Dovrebbe esserci sia ESC/P che ESC/P2
Ad Alberto però serve ESC/Page che è diverso sia da ESC/P che da ESC/P2.
Dico bene Alberto, o sto prendendo una cantonata?


 ha scritto nel messaggio 
news:opstrbw1aywn5aa2@pca104alberto...


 Dico bene Alberto, o sto prendendo una cantonata?
No, no, esatto, si tratta di ESC/Page che e' molto diverso da ESC/P e P2.  
Poi io avrei bisogno addirittura il dialetto ESC/Page S
Ho fatto qualche ricerca partendo dal tuo link di ieri, ho poi trovato un  
po' di materiale, ma veramente poco.
Certo che sono fetenti forte questi di espon a non pubblicare niente dei  
protocolli usati.
Di hp (pcl vari) trovi tutto, ci sono anche i libri.
L'unico sito che c'era con documentazione lo hanno chiuso :(


 il modello della stampante)
Ti ringrazio, ma avevo gia' provato: purtroppo sono i soliti manuali che  
ti spiegano come mettere la carta e non morire impiccato con il cavo :))


 
ciao Alberto,
mi sono già trovato nel problema e nelle stampanti epson che mi sono trovato
ho visto che veniva accettato anche il protocollo Hp pcl (ammetto che 
l'ho scoperto per errore...avevo sbagliato driver del mio programma....:-)))
per gli usi gestionali non ho avuto problemi....
se poi devi fare cose più complesse ....
saluti
andrea bruni

 programma....:-)))
Ciao andrea a e grazie per il tuo interessamento.
Purtroppo quello che dici e' vero solo per la serie normale delle  
stampanti, quelle low cost usano un sistema strano (host mode) in cui in  
pratica alla stampante arriva il raster e basta.
Esempio la 6200 normale e' pcl anche , la 6200L e' una di queste maledette.
Vi ricordate le winprinter, winlaser o ste maledette cose ? ecco, ci  
risiamo :(
Voi direte ma perche' le compri .... ed io dico ma perche' i clienti  
comprano quel cavolo che vogliono purtroppo :((
ciao.Alberto.
