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;
|
||||
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
|
||||
{
|
||||
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 (curpat != 'n') *r << 'B' << curpat;
|
||||
if (curwid != '1') *r << 'W' << curwid;
|
||||
@ -399,7 +399,7 @@ void TPrinter::parse_background(const char* bg_desc, TArray& background)
|
||||
background.add(r, l);
|
||||
}
|
||||
|
||||
TString& rwd = (TString&)background[l];
|
||||
TString& rwd = background.row(l);
|
||||
for (int j = 0; j < pix.items(); 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();
|
||||
_bg_desc = b;
|
||||
if (b != NULL)
|
||||
parse_background(_bg_desc, _background);
|
||||
if (b && *b)
|
||||
parse_background(b, _background);
|
||||
}
|
||||
|
||||
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(),
|
||||
(char*)family, sizes, &scalable, MAXSIZES);
|
||||
|
||||
TToken_string pn1(80), pn2(80);
|
||||
TToken_string pn1(80);
|
||||
|
||||
if (scalable)
|
||||
{
|
||||
for (int i = 4; i <= 32; i++)
|
||||
{
|
||||
pn1.add(i);
|
||||
pn2.add(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1022,10 +1018,10 @@ HIDDEN bool font_handler(TMask_field& f, KEY key)
|
||||
pn1.add(sizes[i]);
|
||||
}
|
||||
else pn1.add(printer().get_char_size());
|
||||
pn2 = pn1;
|
||||
}
|
||||
|
||||
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()));
|
||||
}
|
||||
return TRUE;
|
||||
@ -1562,13 +1558,15 @@ bool TPrinter::print(
|
||||
bool TPrinter::printheader()
|
||||
{
|
||||
if (_headerhandler)
|
||||
_headerhandler (*this);
|
||||
_headerhandler(*this);
|
||||
|
||||
bool ok = TRUE;
|
||||
for (int i = 0; i < _headersize && ok; i++)
|
||||
ok = printrow(getheaderline(i));
|
||||
|
||||
_currentrow = _headersize + 1;
|
||||
// _currentrow = _headersize + 1;
|
||||
_currentrow = i+1;
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
@ -1607,7 +1605,8 @@ void TPrinter::set_fink_mode(
|
||||
// in modo testo.
|
||||
{
|
||||
_fink_mode = f;
|
||||
if (_fink_mode && (is_generic() || !_isgraphics)) _fink_mode = FALSE;
|
||||
if (_fink_mode && (is_generic() || !_isgraphics))
|
||||
_fink_mode = FALSE;
|
||||
}
|
||||
|
||||
// @doc EXTERNAL
|
||||
@ -1827,13 +1826,16 @@ bool TPrinter::set()
|
||||
|
||||
mask.set(MSK_PRINTERS, _curprn); // Genera font list
|
||||
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
|
||||
font_handler(mask.field(MSK_FONT),K_TAB);
|
||||
|
||||
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_ISGRAPHICS, _isgraphics ? "X" : "");
|
||||
|
||||
mask.set_handler (MSK_PRINTERS, set_windows_print_device);
|
||||
mask.set_handler (MSK_FONT, font_handler);
|
||||
|
||||
if (!_multiple_copies)
|
||||
mask.hide(MSK_NPAGES);
|
||||
|
Loading…
x
Reference in New Issue
Block a user