Corretta gestione font registrato su file di configurazione
git-svn-id: svn://10.65.10.50/trunk@5193 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2f7b0f744b
commit
7aefa86e9a
@ -271,7 +271,7 @@ HIDDEN int read_int (const char *s, int &n, int &cnt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TPrinter::parse_background(const char* bg_desc, TArray& background)
|
void TPrinter::parse_background(const char* bg_desc, TString_array& background)
|
||||||
{
|
{
|
||||||
TString_array pix;
|
TString_array pix;
|
||||||
char op, ch;
|
char op, ch;
|
||||||
@ -391,7 +391,7 @@ void TPrinter::parse_background(const char* bg_desc, TArray& background)
|
|||||||
{
|
{
|
||||||
if (background.objptr(l) == NULL) // Se la riga non esiste creala
|
if (background.objptr(l) == NULL) // Se la riga non esiste creala
|
||||||
{
|
{
|
||||||
TString* r = new TString(15);
|
TToken_string* r = new TToken_string(15);
|
||||||
if (curcol != 'n') *r << 'C' << curcol; // Setta valori se diversi da default
|
if (curcol != 'n') *r << 'C' << curcol; // Setta valori se diversi da default
|
||||||
if (curpat != 'n') *r << 'B' << curpat;
|
if (curpat != 'n') *r << 'B' << curpat;
|
||||||
if (curwid != '1') *r << 'W' << curwid;
|
if (curwid != '1') *r << 'W' << curwid;
|
||||||
@ -399,7 +399,7 @@ void TPrinter::parse_background(const char* bg_desc, TArray& background)
|
|||||||
background.add(r, l);
|
background.add(r, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
TString& rwd = (TString&)background[l];
|
TString& rwd = background.row(l);
|
||||||
for (int j = 0; j < pix.items(); j++)
|
for (int j = 0; j < pix.items(); j++)
|
||||||
{
|
{
|
||||||
TToken_string& tt = pix.row(j);
|
TToken_string& tt = pix.row(j);
|
||||||
@ -508,12 +508,11 @@ void TPrinter::parse_background(const char* bg_desc, TArray& background)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPrinter::setbackground(const char *b)
|
void TPrinter::setbackground(const char* b)
|
||||||
{
|
{
|
||||||
_background.destroy();
|
_background.destroy();
|
||||||
_bg_desc = b;
|
if (b && *b)
|
||||||
if (b != NULL)
|
parse_background(b, _background);
|
||||||
parse_background(_bg_desc, _background);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool printers_on_key(TMask_field & f, KEY key);
|
bool printers_on_key(TMask_field & f, KEY key);
|
||||||
@ -1004,15 +1003,12 @@ HIDDEN bool font_handler(TMask_field& f, KEY key)
|
|||||||
const int num_sizes = (int)xvt_fmap_get_family_sizes(printer().get_printrcd(),
|
const int num_sizes = (int)xvt_fmap_get_family_sizes(printer().get_printrcd(),
|
||||||
(char*)family, sizes, &scalable, MAXSIZES);
|
(char*)family, sizes, &scalable, MAXSIZES);
|
||||||
|
|
||||||
TToken_string pn1(80), pn2(80);
|
TToken_string pn1(80);
|
||||||
|
|
||||||
if (scalable)
|
if (scalable)
|
||||||
{
|
{
|
||||||
for (int i = 4; i <= 32; i++)
|
for (int i = 4; i <= 32; i++)
|
||||||
{
|
|
||||||
pn1.add(i);
|
pn1.add(i);
|
||||||
pn2.add(i);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1022,10 +1018,10 @@ HIDDEN bool font_handler(TMask_field& f, KEY key)
|
|||||||
pn1.add(sizes[i]);
|
pn1.add(sizes[i]);
|
||||||
}
|
}
|
||||||
else pn1.add(printer().get_char_size());
|
else pn1.add(printer().get_char_size());
|
||||||
pn2 = pn1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TList_field& lst = (TList_field&)f.mask().field(MSK_SIZE);
|
TList_field& lst = (TList_field&)f.mask().field(MSK_SIZE);
|
||||||
lst.replace_items(pn1, pn2);
|
lst.replace_items(pn1, pn1);
|
||||||
lst.set(format("%d", printer().get_char_size()));
|
lst.set(format("%d", printer().get_char_size()));
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -1562,13 +1558,15 @@ bool TPrinter::print(
|
|||||||
bool TPrinter::printheader()
|
bool TPrinter::printheader()
|
||||||
{
|
{
|
||||||
if (_headerhandler)
|
if (_headerhandler)
|
||||||
_headerhandler (*this);
|
_headerhandler(*this);
|
||||||
|
|
||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
for (int i = 0; i < _headersize && ok; i++)
|
for (int i = 0; i < _headersize && ok; i++)
|
||||||
ok = printrow(getheaderline(i));
|
ok = printrow(getheaderline(i));
|
||||||
|
|
||||||
_currentrow = _headersize + 1;
|
// _currentrow = _headersize + 1;
|
||||||
|
_currentrow = i+1;
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1607,7 +1605,8 @@ void TPrinter::set_fink_mode(
|
|||||||
// in modo testo.
|
// in modo testo.
|
||||||
{
|
{
|
||||||
_fink_mode = f;
|
_fink_mode = f;
|
||||||
if (_fink_mode && (is_generic() || !_isgraphics)) _fink_mode = FALSE;
|
if (_fink_mode && (is_generic() || !_isgraphics))
|
||||||
|
_fink_mode = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
@ -1827,13 +1826,16 @@ bool TPrinter::set()
|
|||||||
|
|
||||||
mask.set(MSK_PRINTERS, _curprn); // Genera font list
|
mask.set(MSK_PRINTERS, _curprn); // Genera font list
|
||||||
set_windows_print_device(mask.field(MSK_PRINTERS), K_TAB);
|
set_windows_print_device(mask.field(MSK_PRINTERS), K_TAB);
|
||||||
font_handler(mask.field(MSK_FONT),K_TAB);
|
|
||||||
mask.set(MSK_FONT, _fontname); // Genera size list
|
mask.set(MSK_FONT, _fontname); // Genera size list
|
||||||
|
font_handler(mask.field(MSK_FONT),K_TAB);
|
||||||
|
|
||||||
mask.set(MSK_SIZE, _ch_size);
|
mask.set(MSK_SIZE, _ch_size);
|
||||||
mask.set_handler (MSK_PRINTERS, set_windows_print_device);
|
|
||||||
mask.set_handler (MSK_FONT, font_handler);
|
|
||||||
mask.set(MSK_LINES, _lines_per_inch);
|
mask.set(MSK_LINES, _lines_per_inch);
|
||||||
mask.set(MSK_ISGRAPHICS, _isgraphics ? "X" : "");
|
mask.set(MSK_ISGRAPHICS, _isgraphics ? "X" : "");
|
||||||
|
|
||||||
|
mask.set_handler (MSK_PRINTERS, set_windows_print_device);
|
||||||
|
mask.set_handler (MSK_FONT, font_handler);
|
||||||
|
|
||||||
if (!_multiple_copies)
|
if (!_multiple_copies)
|
||||||
mask.hide(MSK_NPAGES);
|
mask.hide(MSK_NPAGES);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user