Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

Как емулировать CONDENSED для шрифта   Найти похожие ветки 

 
Леван   (2004-08-09 12:17) [0]

Привет Мастерам!
Известно, что режим Condensed (и соответственно, Double width)
для матричного принтера меняет ширину шрифта , не изменяя висоту.
Как добиться того же результата в Виндовс ?
(стандартный font.size пропорционально меняет оба параметра фонта)


 
Леван   (2004-08-09 14:51) [1]

Похоже, это уже невозможно в принципе
или я не прав, мастера?


 
simpson ©   (2004-08-09 15:37) [2]

Возможно.
Режим Condensed (как и Draft и т.п.) - это свойство внутренних шрифтов принтера.

При печати с помощью средств Windows внутренние шрифты принтера не используются и вся информация передается принтеру в виде графики.

Если необходимо напечатать что-нибудь с использованием внутренних шрифтов принтера, в том числе и в режиме Condensed, придется выводить информацию на принтер с помощью специфического для него языка команд, таких, как ESC/POS или EPL, не используя стандартные средства Windows.

Так что, решайте сами.


 
s999   (2004-08-09 15:45) [3]


> стандартный font.size пропорционально меняет оба параметра
> фонта


Да, используя TFont этого не получится. А если работать напрямую через API, то можно. Структура LogFont имеет как lfHeight так и lfWidth.


 
Леван   (2004-08-09 16:31) [4]

to s999
Интересно!
спасибо, попробую


 
KSergey ©   (2004-08-09 16:34) [5]

Можно еще масштаб изометрический включить...
SetMapMode (Printer.Canvas.Handle, MM_...)


 
Леван   (2004-08-09 17:12) [6]

to KSergey :
не смог найти в хелпе описание setmapmode
Может, подкинете ссилочку ?!

to s999
как получить эту самую структуру уже существующег фонта?


 
KSergey ©   (2004-08-09 17:15) [7]

Плохо искал...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/cordspac_3c6d.asp

Либо см. win32sdk.hlp


 
Леван   (2004-08-09 17:25) [8]

to KSergey
Спасибо
попробую разобраться


 
s999   (2004-08-09 17:49) [9]


> как получить эту самую структуру уже существующег фонта?


var
  F:TLogFont;
  NewFont: HFONT;
....
  with F do
  begin
    .....
    lfHeight := 10;
    lfWidth := 20;
    StrPCopy(lfFaceName, "Arial");
    .....
  end;
  NewFont := CreateFontIndirect(F);
....


 
Леван   (2004-08-10 09:31) [10]

to s999
Я извиняюсь, но есть ли возможность с поможью структури
TLogFont из существующего фонта создать динамически новый фонт с теми же характеристикаи, но меньшей ширины
из Вашего последнего постинга я это не понял
еще раз извините
Леван


 
s999   (2004-08-10 12:58) [11]


> возможность с поможью структури
> TLogFont из существующего фонта создать динамически


Что ты имеешь в виду под существующим фонтом? Существующий экземпляр TFont? Конечно можно, только на выходе будет не другой экземпляр TFont-а, а HFont. То есть, присваиваешь все что можно в TLogFont и создаешь HFont, далее с помощью функции SelectObject определяешь этот HFont некоторому Canvas.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
1-1091954336
Кодер
2004-08-08 12:38
2004.08.22
Файл с ресурсами


3-1090833888
koks
2004-07-26 13:24
2004.08.22
вложенный select ???


3-1091426367
46_55_41_44
2004-08-02 09:59
2004.08.22
Как программно сжать БД MS Access?


14-1091075206
Kerk
2004-07-29 08:26
2004.08.22
skype


8-1086090320
GooFfy
2004-06-01 15:45
2004.08.22
Принятие голосовых команд





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский