{--------------------------------------------------------}
{                    módulo de variáveis
{--------------------------------------------------------}

unit brvars;
interface

const
    versao = '2.4';

    SALTOPAG = #$0c;

    MAIUSCULAS: set of char = ['A'..'Z', #$c0..#$df];   { ANSI apenas }
    MINUSCULAS: set of char = ['a'..'z', #$e0..#$ff];

    VOGAIS     = ['A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u',
                  {aeiou agudos}
                  'Á', 'É', 'Í', 'Ó', 'Ú', 'á', 'é', 'í', 'ó', 'ú',
                  {aeo circunflexos}
                  'Â','Ê','Ô','â','ê','ô',
                  {ao til}
                  'Ã','Õ','ã','õ',
                  {a grave}
                  'À','à'];

    CONSOANTES = ['B', 'C', 'D', 'F', 'G', 'H', 'J', 'L', 'M',
                  'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'X', 'Z',
                  'b', 'c', 'd', 'f', 'g',{'h',}'j', 'l', 'm',
                  'n', 'p', 'q', 'r', 's', 't', 'v', 'x', 'z',
                  'Ç', 'ç' ]; {cedilha}

    MAIUSCBRL     = ']';
    MAIUSCINGLES  = '&';
    GRIFOBRL      = '_';
    GRIFOINGLES   = ']';

    ABREASPASBRL  = '{';
    FECHAASPASBRL = '}';
    PONTOBRL      = '.';
    RETICBRL      = '''''''';
    VIRGDECBRL    = ',';
    PONTODECBRL   = '''';

    PERCENTBRL    = '_}';
    PARAGRAFO     = 'ss';

var
    arq: file;
    bufArq: array [0..1023] of char;
    pbufArq, lidosBuf: integer;
    fimDoArq: boolean;
    linhasDivididas: boolean;

    arqsai: text;
    nomearq, nomesai: string;
    texto, textoCnv: string;

    emTinta: boolean;      { impressão braille em Tinta }
    maxcarac: integer;     { máximo de caracteres por liha }
    maxlin: integer;       { máximo de linhas na página }
    tipoCabec: integer;    { 0 = sem, 1 = frente, 2 = dois lados }
    autoJunta: boolean;    { auto formata juntando linhas }
    frenteVerso: boolean;  { impressão só de um lado do papel }
    veioDoEdit: boolean;   { texto codificado em PC-850 }
    afastaCabecPar: boolean;          {afasta cabecalhos pares }
    tiraBrancasInicioPag: boolean;    { remove linhas brancas no inicio da pagina }
    separaSilabas: boolean;           { separa silabas no fim da linha }

    titulo: string;        { título a imprimir }
    comTitulo: boolean;    { deve colocar títulos e números }
    numeraOrig: boolean;   { adiciona no título número da página no original }
    numInic: integer;      { número a imprimir na primeira página }

    npag: integer;         { numero da pagina atual }
    nlin: integer;         { numero da linha atual }
    paginic: integer;      { primeira página a imprimir }
    pagfinal: integer;     { última página a imprimir }
    ncopias: integer;      { número de cópias desejado }

    centrando: boolean;    { está centrando agora }
    abre_aspas: boolean;   { abriu aspas }
    sobraAnterior: string; { trecho que sobrou da última saída }
    pagOrig: integer;      { pagina do original }

    margem: integer;           { margem à esquerda }
    margemSoImpar: boolean;    { faz margem só nas paginas impares }
    textoIngles: boolean;      { usa alternativas de maiúsculas e sublinhado }

    linhaNoRascunho: integer;  { equivalencia original-rascunho }

    impressaoDireta: boolean;  { joga direto na impressora }
    tempoLinha: integer;       { tempo fixado para impressão de uma linha }
    imprMatricial: boolean;    { impressora é matricial por default }
    paginando: boolean;

    tabBraille: array [#0..#255] of byte;
    tabPrinter: array [#0..#255] of byte;

implementation
end.