' Transformation de fichiers pilotes .DOT ( FIRST WORD ,FIRST WORDPLUS) ' .CFG ( REDACTEUR 1.XX) ' en fichier source ' version 1.0 ' par FACTOR23 DIM t$(82) t$(0)="Largeur des caractŠre ( W )" t$(1)="Retour de chariot et saut de ligne" t$(2)="Impression en avant ( W )" t$(3)="Impression en arriŠre ( W )" t$(4)="S‚quence de codes envoy‚e en d‚but de ligne" t$(5)="Tabulation horizontale" t$(6)="GRAS qualit‚ normale" t$(7)="Arrˆt du gras qualit‚ normale" t$(8)="GRAS qualit‚ courrier" t$(9)="Arrˆt du gras qualit‚ courrier" t$(10)="ITALIQUE qualit‚ normale" t$(11)="Arrˆt d'italique qualit‚ normale" t$(12)="ITALIQUE qualit‚ courrier" t$(13)="Arrˆt d'italique qualit‚ courrier" t$(14)="LEGER qualit‚ normale" t$(15)="Arrˆt du l‚ger qualit‚ normale" t$(16)="LEGER qualit‚ courrier" t$(17)="Arrˆt du l‚ger qualit‚ courrier" t$(18)="EXPOSANT qualit‚ normale" t$(19)="Arrˆt d'exposant qualit‚ normale" t$(20)="EXPOSANT qualit‚ courrier" t$(21)="Arrˆt d'exposant qualit‚ courrier" t$(22)="INDICE qualit‚ normale" t$(23)="Arrˆt d'indice qualit‚ normale" t$(24)="INDICE qualit‚ courrier" t$(25)="Arrˆt d'indice qualit‚ courrier" t$(26)="SOULIGNE qualit‚ normale" t$(27)="Arrˆt du soulign‚ qualit‚ normale" t$(28)="SOULIGNE qualit‚ courrier" t$(29)="Arrˆt du soulign‚ qualit‚ courrier" t$(30)="S‚quence de saut de page" t$(31)="Initialisation horizontale" t$(32)="Initialisation verticale" t$(33)="Reset d'imprimante" t$(34)="Retour arriŠre ( W )" t$(35)="Retour charriot ( W )" t$(36)="Longueur de la page en lignes ( W )" t$(37)="R‚glage de l'interligne ( W )" t$(38)="Passage en mode graphique (mode 0) ( W )" t$(39)="Reserv‚" t$(40)="Pica qualit‚ normale (10 cpi) ( W )" t$(41)="Pica qualit‚ courrier (10 cpi) ( W )" t$(42)="Elite qualit‚ normale (12 cpi) ( W )" t$(43)="Elite qualit‚ courrier (12 cpi) ( W )" t$(44)="Condens‚ qualit‚ normale (17.2 cpi) ( W )" t$(45)="Condens‚ qualit‚ courrier (17.2 cpi) ( W )" t$(46)="Elargi qalit‚ normale ( 6 cpi) ( W )" t$(47)="Elargi qualit‚ courrierd ( 6 cpi) ( W )" t$(48)="Encre noire ( W )" t$(49)="Encre magenta ( W )" t$(50)="Encre turquoise ( W )" t$(51)="Encre jaune ( W )" t$(63)="S‚quence envoy‚e en d‚but de page ( R )" t$(64)="S‚quence de codes police systŠme ( R )" t$(65)="S‚quence de codes police utilisateur 1 ( R )" t$(66)="S‚quence de codes police utilisateur 2 ( R )" t$(67)="S‚quence de codes police utilisateur 3 ( R )" t$(68)="S‚quence de codes police utilisateur 4 ( R )" t$(69)="S‚quence de codes police utilisateur 5 ( R )" t$(70)="S‚quence de codes police utilisateur 6 ( R )" t$(71)="S‚quence de codes police utilisateur 7 ( R )" t$(72)="S‚quence de codes police utilisateur 8 ( R )" t$(73)="S‚quence de codes police utilisateur 9 ( R )" t$(74)="S‚quence de codes police utilisateur 10 ( R )" t$(75)="S‚quence de codes police utilisateur 11 ( R )" t$(76)="S‚quence de codes police utilisateur 12 ( R )" t$(77)="S‚quence de codes police utilisateur 13 ( R )" t$(78)="S‚quence de codes police utilisateur 14 ( R )" t$(79)="S‚quence de codes police utilisateur 15 ( R )" t$(80)="S‚quence de codes police utilisateur 16 ( R )" t$(81)="S‚quence de codes police utilisateur 17 ( R )" t$(82)=" S‚quence de codes police utilisateur 18 ( R )" FILESELECT "a:\*.dot","",f$ h$=MID$(f$,1,INSTR(f$,".")-1)+".HEX" OPEN "i",#1,f$ lf&=LOF(#1) buf%=MALLOC(lf%) OPEN "o",#2,h$ BGET #1,buf%,lf& CLOSE #1 PRINT #2,"*************************************************************************" PRINT #2,"* *" PRINT #2,"* Table de configuration *" PRINT #2,"* ---------------------- *" PRINT #2,"* *" PRINT #2,"* Ce fichier contient les tables de d‚finition des s‚quences … *" PRINT #2,"* envoyer … l'imprimante pour mettre en oeuvre ses possibilit‚s *" PRINT #2,"* et acc‚der aux codes sp‚cifiques d'ATARI,ou … des formules de *" PRINT #2,"* substitution de ces codes. *" PRINT #2,"* *" PRINT #2,"*************************************************************************" PRINT #2,"" PRINT #2,"* Nom de l'imprimante" PRINT #2,"* *******************" PRINT #2,"" pr$=CHAR{buf%} PRINT #2,pr$ l&=LEN(pr$) PRINT #2,"" PRINT #2,"* Variables de configuration" PRINT #2,"* --------------------------" PRINT #2,"* Ces 6 variables servent uniquement … permettre la compatibilit‚" PRINT #2,"* avec les fichiers de configuration issus de 1st-WORD." PRINT #2,"* Avec le redacteur ,leurs valeurs peuvent ˆtre quelconques." PRINT #2,"" CLR z$ FOR i&=1 TO 6 z$=z$+HEX$(PEEK(buf%+l&+i&))+"," NEXT i& PRINT #2,LEFT$(z$,LEN(z$)-1) PRINT #2,"" pt&=l&+7 PRINT #2,"* Caract‚ristiques d'impression" PRINT #2,"* -----------------------------" PRINT #2,"" PRINT #2,"* Cette table fournit les s‚quences de commande envoy‚es …" PRINT #2,"* l'imprimante." PRINT #2,"* Si le bit fort (bit 7) est … 1/cela signifie que le code dont le" PRINT #2,"* bit 7 est … 1 sera ajout‚ au paramŠtre avant envoi … l'imprimante." PRINT #2,"* Cette caract‚ristique ne sert que lorsque le code de commande est" PRINT #2,"* constitu‚ d'une variable." PRINT #2,"* Cette table doit ˆtre ordonn‚e par ordre croissant et doit se" PRINT #2,"* terminer par un 0." PRINT #2,"" CLR t| DO l|=PEEK(buf%+pt&) EXIT IF l|=0 n|=PEEK(buf%+pt&+1) IF t|"" PRINT #2,"* ";HEX$(s|);TAB(30);"* ";t$(s|) ENDIF NEXT s| ENDIF t|=n| CLR z$ FOR p|=1 TO l|-1 z$=z$+HEX$(PEEK(buf%+pt&+p|))+"," NEXT p| PRINT #2,LEFT$(z$,LEN(z$)-1);TAB(30);"* ";t$(n|) ADD pt&,l| INC t| LOOP IF t|<83 FOR s|=t| TO 82 IF t$(s|)<>"" PRINT #2,"* ";HEX$(s|);TAB(30);"* ";t$(s|) ENDIF NEXT s| ENDIF PRINT #2,"0";TAB(30);"* NUL octet de terminaison" PRINT #2,"" PRINT #2,"* Table de conversion" PRINT #2,"* -------------------" PRINT #2,"" PRINT #2,"* Cette table fournit les s‚quences de codes dans lesquelles chacun" PRINT #2,"* des codes doit ˆtre converti lors de son envoi … l'imprimante." PRINT #2,"* Une s‚quence de conversion est souvent n‚cessaire pour l'impression" PRINT #2,"* de lettres accentu‚es ou de symboles sp‚ciaux." PRINT #2,"* Lorsqu'un caractŠre ne figure pas dans la table ou lorsqu'il est" PRINT #2,"* pr‚c‚d‚ du signe '=',il ne sera pas converti,donc sera envoy‚" PRINT #2,"* tel quel … l'imprimante." PRINT #2,"* Cette table doit ˆtre ordonn‚e par ordre croissant" PRINT #2,"* et doit se terminer par un 0." INC pt& CLR nb| DO l|=PEEK(buf%+pt&) EXIT IF l|=0 CLR z$ FOR p|=1 TO l|-1 z$=z$+HEX$(PEEK(buf%+pt&+p|))+"," NEXT p| ADD pt&,l| PRINT #2,LEFT$(z$,LEN(z$)-1) INC nb| LOOP IF nb|=0 PRINT #2,"0" ENDIF PRINT #2,"0";TAB(30);"* NUL octet de terminaison" CLOSE #2 ~MFREE(buf%)